Merge lp:~soren/surveilr/user into lp:surveilr

Proposed by Soren Hansen
Status: Merged
Approved by: Soren Hansen
Approved revision: 10
Merged at revision: 9
Proposed branch: lp:~soren/surveilr/user
Merge into: lp:surveilr
Diff against target: 99 lines (+60/-0)
3 files modified
surveilr/api/server.py (+33/-0)
surveilr/models.py (+5/-0)
surveilr/tests/test_api_server.py (+22/-0)
To merge this branch: bzr merge lp:~soren/surveilr/user
Reviewer Review Type Date Requested Status
Soren Hansen Pending
Review via email: mp+83749@code.launchpad.net

Commit message

Add a basic user concept

To post a comment you must log in.
lp:~soren/surveilr/user updated
10. By Soren Hansen

Fix typo (s/service/user)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'surveilr/api/server.py'
--- surveilr/api/server.py 2011-11-20 00:17:50 +0000
+++ surveilr/api/server.py 2011-11-29 20:10:29 +0000
@@ -39,6 +39,38 @@
39from surveilr import utils39from surveilr import utils
4040
4141
42class UserController(object):
43 """Routes style controller for actions related to users"""
44
45 def create(self, req):
46 """Called for POST requests to /users
47
48 Creates the user, returns a JSON object with the ID assigned
49 to the user"""
50 data = json.loads(req.body)
51 user = models.User(**data)
52 user.save()
53 response = {'id': user.key}
54 return Response(json.dumps(response))
55
56 def show(self, req, id):
57 """Called for GET requests to /users/{id}
58
59 Returns information for the given service"""
60 try:
61 user = models.User.get(id)
62 return Response({'id': user.key})
63 except riakalchemy.NoSuchObjectError:
64 return HTTPNotFound()
65
66 def delete(self, req, id):
67 """Called for DELETE requests to /users/{id}
68
69 Delete the given user"""
70 models.User.get(id).delete()
71 return Response('')
72
73
42class ServiceController(object):74class ServiceController(object):
43 """Routes style controller for actions related to services"""75 """Routes style controller for actions related to services"""
4476
@@ -105,6 +137,7 @@
105 map.resource("metric", "metrics", controller='MetricController',137 map.resource("metric", "metrics", controller='MetricController',
106 path_prefix='/services/{service_name}')138 path_prefix='/services/{service_name}')
107 map.resource("service", "services", controller='ServiceController')139 map.resource("service", "services", controller='ServiceController')
140 map.resource("user", "users", controller='UserController')
108141
109 @wsgify142 @wsgify
110 def __call__(self, req):143 def __call__(self, req):
111144
=== modified file 'surveilr/models.py'
--- surveilr/models.py 2011-11-20 00:17:50 +0000
+++ surveilr/models.py 2011-11-29 20:10:29 +0000
@@ -37,6 +37,11 @@
37 most_recent_log_entry = RelatedObjects()37 most_recent_log_entry = RelatedObjects()
3838
3939
40class User(RiakObject):
41 """A user of the service"""
42 bucket_name = 'users'
43
44
40class LogEntry(RiakObject):45class LogEntry(RiakObject):
41 """A log entry holding one or more metrics46 """A log entry holding one or more metrics
4247
4348
=== modified file 'surveilr/tests/test_api_server.py'
--- surveilr/tests/test_api_server.py 2011-11-20 00:17:50 +0000
+++ surveilr/tests/test_api_server.py 2011-11-29 20:10:29 +0000
@@ -34,6 +34,28 @@
34 import riakalchemy34 import riakalchemy
35 riakalchemy.connect()35 riakalchemy.connect()
3636
37 def test_create_retrieve_user(self):
38 """Create, retrieve, delete, attempt to retrieve again"""
39 req = Request.blank('/users',
40 method='POST',
41 POST=json.dumps({}))
42 resp = application(req)
43 self.assertEquals(resp.status_int, 200)
44
45 service_id = json.loads(resp.body)['id']
46
47 req = Request.blank('/users/%s' % service_id)
48 resp = application(req)
49 self.assertEquals(resp.status_int, 200)
50
51 req = Request.blank('/users/%s' % service_id, method='DELETE')
52 resp = application(req)
53 self.assertEquals(resp.status_int, 200)
54
55 req = Request.blank('/users/%s' % service_id)
56 resp = application(req)
57 self.assertEquals(resp.status_int, 404)
58
37 def test_create_retrieve_service(self):59 def test_create_retrieve_service(self):
38 """Create, retrieve, delete, attempt to retrieve again"""60 """Create, retrieve, delete, attempt to retrieve again"""
39 req = Request.blank('/services',61 req = Request.blank('/services',

Subscribers

People subscribed via source and target branches

to all changes: