diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-06-03 11:31:24 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-06-03 11:31:24 (GMT) |
commit | a41db5a83a30d6c8e15843bbc59fc19d51f231ff (patch) | |
tree | b3bea9c991c8c68c7660f149ea5ab391f6587e4c | |
parent | 44cf7f373cb3133a79b39065f5e8bfe84bdfffa8 (diff) |
Avoid traceback on 404 error
-rw-r--r-- | restful_document/router.py | 4 | ||||
-rw-r--r-- | tests/__init__.py | 4 | ||||
-rwxr-xr-x | tests/units/router.py | 24 | ||||
-rwxr-xr-x | tests/units/subscribe_socket.py | 4 |
4 files changed, 18 insertions, 18 deletions
diff --git a/restful_document/router.py b/restful_document/router.py index f1ddafe..92c9f1e 100644 --- a/restful_document/router.py +++ b/restful_document/router.py @@ -57,13 +57,13 @@ class Router(object): if isinstance(error, ad.Unauthorized): response.status = '401 Unauthorized' response['WWW-Authenticate'] = 'Sugar' + elif isinstance(error, ad.NotFound): + response.status = '404 Not Found' else: util.exception(_('Error while processing %r request'), environ['PATH_INFO'] or '/') if isinstance(error, ad.Forbidden): response.status = '403 Forbidden' - elif isinstance(error, ad.NotFound): - response.status = '404 Not Found' elif isinstance(error, env.HTTPStatus): response.status = error.status response.update(error.headers or {}) diff --git a/tests/__init__.py b/tests/__init__.py index c5ca24b..699eeb6 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -198,7 +198,7 @@ class User(ad.Document): return value @classmethod - def on_create(cls, props): + def before_create(cls, props): ssh_pubkey = props['pubkey'].split()[1] props['guid'] = str(hashlib.sha1(ssh_pubkey).hexdigest()) @@ -210,7 +210,7 @@ class User(ad.Document): ['ssh-keygen', '-f', tmp_pubkey.name, '-e', '-m', 'PKCS8']) props['pubkey'] = pubkey_pkcs8 - super(User, cls).on_create(props) + super(User, cls).before_create(props) def sign(privkey, data): diff --git a/tests/units/router.py b/tests/units/router.py index 5bea6b6..eee3773 100755 --- a/tests/units/router.py +++ b/tests/units/router.py @@ -26,10 +26,10 @@ class RouterTest(tests.Test): 'stored': 'stored', 'term': 'term', 'guid': guid_1, - 'layers': ['public'], - 'author': [rest.uid], + 'layer': ['public'], + 'user': [rest.uid], }, - rest.get('/document/' + guid_1, reply='stored,term,guid,layers,author')) + rest.get('/document/' + guid_1, reply='stored,term,guid,layer,user')) guid_2 = rest.post('/document', {'term': 'term2', 'stored': 'stored2'}) @@ -37,10 +37,10 @@ class RouterTest(tests.Test): 'stored': 'stored2', 'term': 'term2', 'guid': guid_2, - 'layers': ['public'], - 'author': [rest.uid], + 'layer': ['public'], + 'user': [rest.uid], }, - rest.get('/document/' + guid_2, reply='stored,term,guid,layers,author')) + rest.get('/document/' + guid_2, reply='stored,term,guid,layer,user')) reply = rest.get('/document', reply='guid,stored,term') self.assertEqual(2, reply['total']) @@ -57,10 +57,10 @@ class RouterTest(tests.Test): 'stored': 'stored3', 'term': 'term3', 'guid': guid_2, - 'layers': ['public'], - 'author': [rest.uid], + 'layer': ['public'], + 'user': [rest.uid], }, - rest.get('/document/' + guid_2, reply='stored,term,guid,layers,author')) + rest.get('/document/' + guid_2, reply='stored,term,guid,layer,user')) self.assertEqual( {'total': 2, @@ -219,8 +219,8 @@ class RouterTest(tests.Test): {'total': 1, 'result': [{'guid': guid}]}, rest.get('/document')) self.assertEqual( - {'layers': ['public']}, - rest.get('/document/' + guid, reply='layers')) + {'layer': ['public']}, + rest.get('/document/' + guid, reply='layer')) rest.delete('/document/' + guid) self.assertEqual( @@ -231,7 +231,7 @@ class RouterTest(tests.Test): self.httpdown(8200) volume = ad.SingleVolume(tests.tmpdir + '/db', [Document]) - self.assertEqual(['deleted'], volume['document'].get(guid)['layers']) + self.assertEqual(['deleted'], volume['document'].get(guid)['layer']) class Document(ad.Document): diff --git a/tests/units/subscribe_socket.py b/tests/units/subscribe_socket.py index e5ae92d..35e013e 100755 --- a/tests/units/subscribe_socket.py +++ b/tests/units/subscribe_socket.py @@ -32,8 +32,8 @@ class SubscribeSocketTest(tests.Test): with self.subscribe(**rest.post('/', None, cmd='subscribe')) as subscription: guid = rest.post('/document', {'prop': 'value'}) self.assertEqual( - {'layers': ['public']}, - rest.get('/document/' + guid, reply=['layers'])) + {'layer': ['public']}, + rest.get('/document/' + guid, reply=['layer'])) event = subscription.read_message() event.pop('props') |