Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2013-11-14 15:19:12 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-11-14 15:19:12 (GMT)
commit5969d5ce66c06885fea36e53e00ea25a15097be7 (patch)
tree3a6e754359e2702cac79dfb3b04fdf1e40523e35
parent793ec8514be49f836ae0559ad1396504470130c1 (diff)
Test feed API command
-rwxr-xr-xtests/units/model/routes.py58
1 files changed, 57 insertions, 1 deletions
diff --git a/tests/units/model/routes.py b/tests/units/model/routes.py
index 9cad606..f47ed88 100755
--- a/tests/units/model/routes.py
+++ b/tests/units/model/routes.py
@@ -11,7 +11,7 @@ from __init__ import tests, src_root
from sugar_network import db, model
from sugar_network.model.user import User
-from sugar_network.toolkit.router import Router
+from sugar_network.toolkit.router import Router, Request
from sugar_network.toolkit import coroutine
@@ -81,6 +81,62 @@ class RoutesTest(tests.Test):
break
self.assertEqual({'event': 'pong'}, event)
+ def test_feed(self):
+ volume = db.Volume('db', model.RESOURCES)
+ routes = model.VolumeRoutes(volume)
+
+ volume['context'].create({
+ 'guid': 'context',
+ 'type': 'activity',
+ 'title': '',
+ 'summary': '',
+ 'description': '',
+ 'dependencies': ['foo', 'bar'],
+ })
+ volume['implementation'].create({
+ 'guid': 'implementation',
+ 'context': 'context',
+ 'license': 'GPLv3',
+ 'version': '1',
+ 'date': 0,
+ 'stability': 'stable',
+ 'notes': '',
+ 'data': {
+ 'spec': {
+ '*-*': {
+ 'commands': {'activity': {'exec': 'true'}},
+ 'requires': {'dep': {}, 'sugar': {'restrictions': [['0.88', None]]}},
+ },
+ },
+ },
+ })
+
+ self.assertEqual({
+ 'implementations': [
+ {
+ 'guid': 'implementation',
+ 'author': {},
+ 'ctime': 0,
+ 'data': {
+ 'spec': {
+ '*-*': {
+ 'commands': {'activity': {'exec': 'true'}},
+ 'requires': {'dep': {}, 'sugar': {'restrictions': [['0.88', None]]}},
+ },
+ },
+ },
+ 'layer': [],
+ 'license': 'GPLv3',
+ 'notes': {'en-us': ''},
+ 'stability': 'stable',
+ 'tags': [],
+ 'version': '1',
+ 'requires': {'bar': {}, 'foo': {}},
+ },
+ ],
+ },
+ routes.feed(Request(method='GET', path=['context', 'context']), 'foo'))
+
if __name__ == '__main__':
tests.main()