Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-06-03 11:31:24 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-06-03 11:31:24 (GMT)
commita41db5a83a30d6c8e15843bbc59fc19d51f231ff (patch)
treeb3bea9c991c8c68c7660f149ea5ab391f6587e4c
parent44cf7f373cb3133a79b39065f5e8bfe84bdfffa8 (diff)
Avoid traceback on 404 error
-rw-r--r--restful_document/router.py4
-rw-r--r--tests/__init__.py4
-rwxr-xr-xtests/units/router.py24
-rwxr-xr-xtests/units/subscribe_socket.py4
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')