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-04-26 23:11:55 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-04-26 23:16:00 (GMT)
commitea65c6f09e9fc50837a130a8e5ed92de93a7fa53 (patch)
treeebb954959bab28a6caa66c9711fb757b8fc5655f
parentba6e3c7ed824fde58a02fd90323d993354767be3 (diff)
Take into account original activity deps for deplist API command
-rw-r--r--sugar_network/node/commands.py15
-rw-r--r--tests/data/node/context/ac/activity/aliases1
-rw-r--r--tests/data/node/context/ac/activity/author1
-rw-r--r--tests/data/node/context/ac/activity/clone1
-rw-r--r--tests/data/node/context/ac/activity/ctime1
-rw-r--r--tests/data/node/context/ac/activity/dependencies1
-rw-r--r--tests/data/node/context/ac/activity/description1
-rw-r--r--tests/data/node/context/ac/activity/favorite1
-rw-r--r--tests/data/node/context/ac/activity/guid1
-rw-r--r--tests/data/node/context/ac/activity/homepage1
-rw-r--r--tests/data/node/context/ac/activity/implement1
-rw-r--r--tests/data/node/context/ac/activity/keep8
-rw-r--r--tests/data/node/context/ac/activity/keep_impl8
-rw-r--r--tests/data/node/context/ac/activity/layer1
-rw-r--r--tests/data/node/context/ac/activity/mime_types1
-rw-r--r--tests/data/node/context/ac/activity/mtime1
-rw-r--r--tests/data/node/context/ac/activity/packages1
-rw-r--r--tests/data/node/context/ac/activity/position10
-rw-r--r--tests/data/node/context/ac/activity/presolve8
-rw-r--r--tests/data/node/context/ac/activity/rating1
-rw-r--r--tests/data/node/context/ac/activity/reviews1
-rw-r--r--tests/data/node/context/ac/activity/seqno1
-rw-r--r--tests/data/node/context/ac/activity/summary1
-rw-r--r--tests/data/node/context/ac/activity/tags1
-rw-r--r--tests/data/node/context/ac/activity/title1
-rw-r--r--tests/data/node/context/ac/activity/type1
-rw-r--r--tests/data/node/context/ac/activity/user10
-rw-r--r--tests/data/node/context/ac/activity/versions8
-rw-r--r--tests/data/node/context/co/context/aliases9
-rw-r--r--tests/data/node/context/co/context/author11
-rw-r--r--tests/data/node/context/co/context/clone1
-rw-r--r--tests/data/node/context/co/context/ctime9
-rw-r--r--tests/data/node/context/co/context/dependencies9
-rw-r--r--tests/data/node/context/co/context/description13
-rw-r--r--tests/data/node/context/co/context/favorite1
-rw-r--r--tests/data/node/context/co/context/guid10
-rw-r--r--tests/data/node/context/co/context/homepage9
-rw-r--r--tests/data/node/context/co/context/implement9
-rw-r--r--tests/data/node/context/co/context/layer11
-rw-r--r--tests/data/node/context/co/context/mime_types9
-rw-r--r--tests/data/node/context/co/context/mtime9
-rw-r--r--tests/data/node/context/co/context/packages9
-rw-r--r--tests/data/node/context/co/context/rating1
-rw-r--r--tests/data/node/context/co/context/reviews1
-rw-r--r--tests/data/node/context/co/context/seqno9
-rw-r--r--tests/data/node/context/co/context/summary13
-rw-r--r--tests/data/node/context/co/context/tags9
-rw-r--r--tests/data/node/context/co/context/title13
-rw-r--r--tests/data/node/context/co/context/type11
-rw-r--r--tests/data/node/implementation/im/implementation/author11
-rw-r--r--tests/data/node/implementation/im/implementation/context10
-rw-r--r--tests/data/node/implementation/im/implementation/ctime9
-rw-r--r--tests/data/node/implementation/im/implementation/data14
-rw-r--r--tests/data/node/implementation/im/implementation/guid10
-rw-r--r--tests/data/node/implementation/im/implementation/layer11
-rw-r--r--tests/data/node/implementation/im/implementation/license11
-rw-r--r--tests/data/node/implementation/im/implementation/mtime9
-rw-r--r--tests/data/node/implementation/im/implementation/notes12
-rw-r--r--tests/data/node/implementation/im/implementation/requires9
-rw-r--r--tests/data/node/implementation/im/implementation/seqno9
-rw-r--r--tests/data/node/implementation/im/implementation/spec26
-rw-r--r--tests/data/node/implementation/im/implementation/stability10
-rw-r--r--tests/data/node/implementation/im/implementation/tags9
-rw-r--r--tests/data/node/implementation/im/implementation/version9
-rw-r--r--tests/data/node/implementation/im/implementation2/author1
-rw-r--r--tests/data/node/implementation/im/implementation2/context1
-rw-r--r--tests/data/node/implementation/im/implementation2/ctime1
-rw-r--r--tests/data/node/implementation/im/implementation2/data1
-rw-r--r--tests/data/node/implementation/im/implementation2/data.blobbin0 -> 388553 bytes
-rw-r--r--tests/data/node/implementation/im/implementation2/date8
-rw-r--r--tests/data/node/implementation/im/implementation2/guid1
-rw-r--r--tests/data/node/implementation/im/implementation2/layer1
-rw-r--r--tests/data/node/implementation/im/implementation2/license1
-rw-r--r--tests/data/node/implementation/im/implementation2/mtime1
-rw-r--r--tests/data/node/implementation/im/implementation2/notes1
-rw-r--r--tests/data/node/implementation/im/implementation2/requires1
-rw-r--r--tests/data/node/implementation/im/implementation2/seqno1
-rw-r--r--tests/data/node/implementation/im/implementation2/spec1
-rw-r--r--tests/data/node/implementation/im/implementation2/stability1
-rw-r--r--tests/data/node/implementation/im/implementation2/tags1
-rw-r--r--tests/data/node/implementation/im/implementation2/user10
-rw-r--r--tests/data/node/implementation/im/implementation2/version1
-rwxr-xr-xtests/integration/node_client.py15
-rwxr-xr-xtests/units/node/obs.py4
84 files changed, 164 insertions, 321 deletions
diff --git a/sugar_network/node/commands.py b/sugar_network/node/commands.py
index c651be6..51e921f 100644
--- a/sugar_network/node/commands.py
+++ b/sugar_network/node/commands.py
@@ -190,8 +190,9 @@ class NodeCommands(db.VolumeCommands, Commands):
return self.call(request, db.Response())
@db.document_command(method='GET', cmd='deplist',
- mime_type='application/json')
- def deplist(self, document, guid, repo):
+ mime_type='application/json', arguments={'requires': db.to_list})
+ def deplist(self, document, guid, repo, layer, requires,
+ stability='stable'):
"""List of native packages context is dependening on.
Command return only GNU/Linux package names and ignores
@@ -206,11 +207,15 @@ class NodeCommands(db.VolumeCommands, Commands):
"""
enforce(document == 'context')
enforce(repo, 'Argument %r should be set', 'repo')
- context = self.volume['context'].get(guid)
- result = []
+ impls, total = self.volume['implementation'].find(context=guid,
+ layer=layer, stability=stability, requires=requires,
+ order_by='-version', limit=1)
+ enforce(total, http.NotFound, 'No implementations')
- for package in context['dependencies']:
+ result = []
+ for package in set(next(impls)['spec']['*-*'].get('requires') or []) \
+ | set(self.volume['context'].get(guid)['dependencies']):
dep = self.volume['context'].get(package)
enforce(repo in dep['packages'],
'No packages for %r on %r', package, repo)
diff --git a/tests/data/node/context/ac/activity/aliases b/tests/data/node/context/ac/activity/aliases
new file mode 100644
index 0000000..9331b9d
--- /dev/null
+++ b/tests/data/node/context/ac/activity/aliases
@@ -0,0 +1 @@
+{"seqno": 2, "value": {}} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/author b/tests/data/node/context/ac/activity/author
new file mode 100644
index 0000000..6be2b3e
--- /dev/null
+++ b/tests/data/node/context/ac/activity/author
@@ -0,0 +1 @@
+{"seqno": 2, "value": ["alsroot"]} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/clone b/tests/data/node/context/ac/activity/clone
new file mode 100644
index 0000000..86e4350
--- /dev/null
+++ b/tests/data/node/context/ac/activity/clone
@@ -0,0 +1 @@
+{"seqno": 0, "value": 0} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/ctime b/tests/data/node/context/ac/activity/ctime
new file mode 100644
index 0000000..1d8fcc5
--- /dev/null
+++ b/tests/data/node/context/ac/activity/ctime
@@ -0,0 +1 @@
+{"seqno": 2, "value": 1350031825} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/dependencies b/tests/data/node/context/ac/activity/dependencies
new file mode 100644
index 0000000..8cbfb95
--- /dev/null
+++ b/tests/data/node/context/ac/activity/dependencies
@@ -0,0 +1 @@
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/description b/tests/data/node/context/ac/activity/description
new file mode 100644
index 0000000..0198dfa
--- /dev/null
+++ b/tests/data/node/context/ac/activity/description
@@ -0,0 +1 @@
+{"seqno": 2, "value": {"en-US": "description"}} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/favorite b/tests/data/node/context/ac/activity/favorite
new file mode 100644
index 0000000..051a6dc
--- /dev/null
+++ b/tests/data/node/context/ac/activity/favorite
@@ -0,0 +1 @@
+{"seqno": 0, "value": false} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/guid b/tests/data/node/context/ac/activity/guid
new file mode 100644
index 0000000..4be8a06
--- /dev/null
+++ b/tests/data/node/context/ac/activity/guid
@@ -0,0 +1 @@
+{"seqno": 2, "value": "activity"} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/homepage b/tests/data/node/context/ac/activity/homepage
new file mode 100644
index 0000000..7c57ae8
--- /dev/null
+++ b/tests/data/node/context/ac/activity/homepage
@@ -0,0 +1 @@
+{"seqno": 2, "value": ""} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/implement b/tests/data/node/context/ac/activity/implement
new file mode 100644
index 0000000..8cbfb95
--- /dev/null
+++ b/tests/data/node/context/ac/activity/implement
@@ -0,0 +1 @@
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/keep b/tests/data/node/context/ac/activity/keep
new file mode 100644
index 0000000..13c2b1d
--- /dev/null
+++ b/tests/data/node/context/ac/activity/keep
@@ -0,0 +1,8 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+I00
+s. \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/keep_impl b/tests/data/node/context/ac/activity/keep_impl
new file mode 100644
index 0000000..2cdb5f0
--- /dev/null
+++ b/tests/data/node/context/ac/activity/keep_impl
@@ -0,0 +1,8 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+I0
+s. \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/layer b/tests/data/node/context/ac/activity/layer
new file mode 100644
index 0000000..5584ac9
--- /dev/null
+++ b/tests/data/node/context/ac/activity/layer
@@ -0,0 +1 @@
+{"seqno": 2, "value": ["public"]} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/mime_types b/tests/data/node/context/ac/activity/mime_types
new file mode 100644
index 0000000..8cbfb95
--- /dev/null
+++ b/tests/data/node/context/ac/activity/mime_types
@@ -0,0 +1 @@
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/mtime b/tests/data/node/context/ac/activity/mtime
new file mode 100644
index 0000000..1d8fcc5
--- /dev/null
+++ b/tests/data/node/context/ac/activity/mtime
@@ -0,0 +1 @@
+{"seqno": 2, "value": 1350031825} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/packages b/tests/data/node/context/ac/activity/packages
new file mode 100644
index 0000000..9331b9d
--- /dev/null
+++ b/tests/data/node/context/ac/activity/packages
@@ -0,0 +1 @@
+{"seqno": 2, "value": {}} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/position b/tests/data/node/context/ac/activity/position
new file mode 100644
index 0000000..a21b8ca
--- /dev/null
+++ b/tests/data/node/context/ac/activity/position
@@ -0,0 +1,10 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+(lp4
+I-1
+aI-1
+as. \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/presolve b/tests/data/node/context/ac/activity/presolve
new file mode 100644
index 0000000..7c94802
--- /dev/null
+++ b/tests/data/node/context/ac/activity/presolve
@@ -0,0 +1,8 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+(dp4
+s. \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/rating b/tests/data/node/context/ac/activity/rating
new file mode 100644
index 0000000..86e4350
--- /dev/null
+++ b/tests/data/node/context/ac/activity/rating
@@ -0,0 +1 @@
+{"seqno": 0, "value": 0} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/reviews b/tests/data/node/context/ac/activity/reviews
new file mode 100644
index 0000000..dd3f63c
--- /dev/null
+++ b/tests/data/node/context/ac/activity/reviews
@@ -0,0 +1 @@
+{"seqno": 0, "value": [0, 0]} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/seqno b/tests/data/node/context/ac/activity/seqno
new file mode 100644
index 0000000..829c37d
--- /dev/null
+++ b/tests/data/node/context/ac/activity/seqno
@@ -0,0 +1 @@
+{"seqno": 2, "value": 2} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/summary b/tests/data/node/context/ac/activity/summary
new file mode 100644
index 0000000..d15ae6a
--- /dev/null
+++ b/tests/data/node/context/ac/activity/summary
@@ -0,0 +1 @@
+{"seqno": 2, "value": {"en-US": "summary"}} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/tags b/tests/data/node/context/ac/activity/tags
new file mode 100644
index 0000000..8cbfb95
--- /dev/null
+++ b/tests/data/node/context/ac/activity/tags
@@ -0,0 +1 @@
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/title b/tests/data/node/context/ac/activity/title
new file mode 100644
index 0000000..45a74f6
--- /dev/null
+++ b/tests/data/node/context/ac/activity/title
@@ -0,0 +1 @@
+{"seqno": 2, "value": {"en-US": "title1"}} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/type b/tests/data/node/context/ac/activity/type
new file mode 100644
index 0000000..bf9b04a
--- /dev/null
+++ b/tests/data/node/context/ac/activity/type
@@ -0,0 +1 @@
+{"seqno": 2, "value": ["activity"]} \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/user b/tests/data/node/context/ac/activity/user
new file mode 100644
index 0000000..fba3c78
--- /dev/null
+++ b/tests/data/node/context/ac/activity/user
@@ -0,0 +1,10 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+(lp4
+V25c081e29242cf7a19ae893a420ab3de56e9e989
+p5
+as. \ No newline at end of file
diff --git a/tests/data/node/context/ac/activity/versions b/tests/data/node/context/ac/activity/versions
new file mode 100644
index 0000000..14ad676
--- /dev/null
+++ b/tests/data/node/context/ac/activity/versions
@@ -0,0 +1,8 @@
+(dp1
+Vseqno
+p2
+I2
+sVvalue
+p3
+(lp4
+s. \ No newline at end of file
diff --git a/tests/data/node/context/co/context/aliases b/tests/data/node/context/co/context/aliases
index 7c94802..9331b9d 100644
--- a/tests/data/node/context/co/context/aliases
+++ b/tests/data/node/context/co/context/aliases
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(dp4
-s. \ No newline at end of file
+{"seqno": 2, "value": {}} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/author b/tests/data/node/context/co/context/author
index dceec48..6be2b3e 100644
--- a/tests/data/node/context/co/context/author
+++ b/tests/data/node/context/co/context/author
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-Valsroot
-p5
-as. \ No newline at end of file
+{"seqno": 2, "value": ["alsroot"]} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/clone b/tests/data/node/context/co/context/clone
new file mode 100644
index 0000000..86e4350
--- /dev/null
+++ b/tests/data/node/context/co/context/clone
@@ -0,0 +1 @@
+{"seqno": 0, "value": 0} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/ctime b/tests/data/node/context/co/context/ctime
index 28f2f0a..1d8fcc5 100644
--- a/tests/data/node/context/co/context/ctime
+++ b/tests/data/node/context/co/context/ctime
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-I1350031825
-s. \ No newline at end of file
+{"seqno": 2, "value": 1350031825} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/dependencies b/tests/data/node/context/co/context/dependencies
index 14ad676..8cbfb95 100644
--- a/tests/data/node/context/co/context/dependencies
+++ b/tests/data/node/context/co/context/dependencies
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/description b/tests/data/node/context/co/context/description
index c6a9269..0198dfa 100644
--- a/tests/data/node/context/co/context/description
+++ b/tests/data/node/context/co/context/description
@@ -1,12 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(dp4
-Ven-US
-p5
-Vdescription
-p6
-ss. \ No newline at end of file
+{"seqno": 2, "value": {"en-US": "description"}} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/favorite b/tests/data/node/context/co/context/favorite
new file mode 100644
index 0000000..051a6dc
--- /dev/null
+++ b/tests/data/node/context/co/context/favorite
@@ -0,0 +1 @@
+{"seqno": 0, "value": false} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/guid b/tests/data/node/context/co/context/guid
index c9c2c48..44bca32 100644
--- a/tests/data/node/context/co/context/guid
+++ b/tests/data/node/context/co/context/guid
@@ -1,9 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-Vcontext
-p4
-s. \ No newline at end of file
+{"seqno": 2, "value": "context"} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/homepage b/tests/data/node/context/co/context/homepage
index a9dd4c4..7c57ae8 100644
--- a/tests/data/node/context/co/context/homepage
+++ b/tests/data/node/context/co/context/homepage
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-V
-s. \ No newline at end of file
+{"seqno": 2, "value": ""} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/implement b/tests/data/node/context/co/context/implement
index 14ad676..8cbfb95 100644
--- a/tests/data/node/context/co/context/implement
+++ b/tests/data/node/context/co/context/implement
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/layer b/tests/data/node/context/co/context/layer
index b944824..5584ac9 100644
--- a/tests/data/node/context/co/context/layer
+++ b/tests/data/node/context/co/context/layer
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-Vpublic
-p5
-as. \ No newline at end of file
+{"seqno": 2, "value": ["public"]} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/mime_types b/tests/data/node/context/co/context/mime_types
index 14ad676..8cbfb95 100644
--- a/tests/data/node/context/co/context/mime_types
+++ b/tests/data/node/context/co/context/mime_types
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/mtime b/tests/data/node/context/co/context/mtime
index 28f2f0a..1d8fcc5 100644
--- a/tests/data/node/context/co/context/mtime
+++ b/tests/data/node/context/co/context/mtime
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-I1350031825
-s. \ No newline at end of file
+{"seqno": 2, "value": 1350031825} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/packages b/tests/data/node/context/co/context/packages
index 7c94802..9331b9d 100644
--- a/tests/data/node/context/co/context/packages
+++ b/tests/data/node/context/co/context/packages
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(dp4
-s. \ No newline at end of file
+{"seqno": 2, "value": {}} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/rating b/tests/data/node/context/co/context/rating
new file mode 100644
index 0000000..86e4350
--- /dev/null
+++ b/tests/data/node/context/co/context/rating
@@ -0,0 +1 @@
+{"seqno": 0, "value": 0} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/reviews b/tests/data/node/context/co/context/reviews
new file mode 100644
index 0000000..dd3f63c
--- /dev/null
+++ b/tests/data/node/context/co/context/reviews
@@ -0,0 +1 @@
+{"seqno": 0, "value": [0, 0]} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/seqno b/tests/data/node/context/co/context/seqno
index 630ecdc..829c37d 100644
--- a/tests/data/node/context/co/context/seqno
+++ b/tests/data/node/context/co/context/seqno
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-I2
-s. \ No newline at end of file
+{"seqno": 2, "value": 2} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/summary b/tests/data/node/context/co/context/summary
index 46b38b2..d15ae6a 100644
--- a/tests/data/node/context/co/context/summary
+++ b/tests/data/node/context/co/context/summary
@@ -1,12 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(dp4
-Ven-US
-p5
-Vsummary
-p6
-ss. \ No newline at end of file
+{"seqno": 2, "value": {"en-US": "summary"}} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/tags b/tests/data/node/context/co/context/tags
index 14ad676..8cbfb95 100644
--- a/tests/data/node/context/co/context/tags
+++ b/tests/data/node/context/co/context/tags
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 2, "value": []} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/title b/tests/data/node/context/co/context/title
index 2b2655e..45a74f6 100644
--- a/tests/data/node/context/co/context/title
+++ b/tests/data/node/context/co/context/title
@@ -1,12 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(dp4
-Ven-US
-p5
-Vtitle1
-p6
-ss. \ No newline at end of file
+{"seqno": 2, "value": {"en-US": "title1"}} \ No newline at end of file
diff --git a/tests/data/node/context/co/context/type b/tests/data/node/context/co/context/type
index d54e6d4..bf9b04a 100644
--- a/tests/data/node/context/co/context/type
+++ b/tests/data/node/context/co/context/type
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I2
-sVvalue
-p3
-(lp4
-Vactivity
-p5
-as. \ No newline at end of file
+{"seqno": 2, "value": ["activity"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/author b/tests/data/node/implementation/im/implementation/author
index cc6df8a..8600883 100644
--- a/tests/data/node/implementation/im/implementation/author
+++ b/tests/data/node/implementation/im/implementation/author
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(lp4
-Valsroot
-p5
-as. \ No newline at end of file
+{"seqno": 3, "value": ["alsroot"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/context b/tests/data/node/implementation/im/implementation/context
index 29e27eb..a91a902 100644
--- a/tests/data/node/implementation/im/implementation/context
+++ b/tests/data/node/implementation/im/implementation/context
@@ -1,9 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-Vcontext
-p4
-s. \ No newline at end of file
+{"seqno": 3, "value": "context"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/ctime b/tests/data/node/implementation/im/implementation/ctime
index 73a9f21..7e9db3f 100644
--- a/tests/data/node/implementation/im/implementation/ctime
+++ b/tests/data/node/implementation/im/implementation/ctime
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-I1350031826
-s. \ No newline at end of file
+{"seqno": 3, "value": 1350031826} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/data b/tests/data/node/implementation/im/implementation/data
index 09159fd..b933ad2 100644
--- a/tests/data/node/implementation/im/implementation/data
+++ b/tests/data/node/implementation/im/implementation/data
@@ -1,13 +1 @@
-(dp1
-Vseqno
-p2
-I5
-sVdigest
-p3
-Vfdb59f1ebd6ee26a00396747b3a733f4fd274604
-p4
-sVmime_type
-p5
-Vapplication/octet-stream
-p6
-s. \ No newline at end of file
+{"seqno": 5, "mime_type": "application/octet-stream", "digest": "fdb59f1ebd6ee26a00396747b3a733f4fd274604"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/guid b/tests/data/node/implementation/im/implementation/guid
index de458f9..98acb00 100644
--- a/tests/data/node/implementation/im/implementation/guid
+++ b/tests/data/node/implementation/im/implementation/guid
@@ -1,9 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-Vimplementation
-p4
-s. \ No newline at end of file
+{"seqno": 3, "value": "implementation"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/layer b/tests/data/node/implementation/im/implementation/layer
index 907f290..ed16e06 100644
--- a/tests/data/node/implementation/im/implementation/layer
+++ b/tests/data/node/implementation/im/implementation/layer
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(lp4
-Vpublic
-p5
-as. \ No newline at end of file
+{"seqno": 3, "value": ["public"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/license b/tests/data/node/implementation/im/implementation/license
index 99db20e..8bce558 100644
--- a/tests/data/node/implementation/im/implementation/license
+++ b/tests/data/node/implementation/im/implementation/license
@@ -1,10 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(lp4
-VGPLv3+
-p5
-as. \ No newline at end of file
+{"seqno": 3, "value": ["GPLv3+"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/mtime b/tests/data/node/implementation/im/implementation/mtime
index c4be104..02fc45e 100644
--- a/tests/data/node/implementation/im/implementation/mtime
+++ b/tests/data/node/implementation/im/implementation/mtime
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I4
-sVvalue
-p3
-I1350031827
-s. \ No newline at end of file
+{"seqno": 4, "value": 1350031827} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/notes b/tests/data/node/implementation/im/implementation/notes
index 8958efa..fc57242 100644
--- a/tests/data/node/implementation/im/implementation/notes
+++ b/tests/data/node/implementation/im/implementation/notes
@@ -1,11 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(dp4
-Ven-US
-p5
-V
-ss. \ No newline at end of file
+{"seqno": 3, "value": {"en-US": ""}} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/requires b/tests/data/node/implementation/im/implementation/requires
index a2ff264..80876de 100644
--- a/tests/data/node/implementation/im/implementation/requires
+++ b/tests/data/node/implementation/im/implementation/requires
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 3, "value": []} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/seqno b/tests/data/node/implementation/im/implementation/seqno
index 22ea1d6..aed8146 100644
--- a/tests/data/node/implementation/im/implementation/seqno
+++ b/tests/data/node/implementation/im/implementation/seqno
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I5
-sVvalue
-p3
-I5
-s. \ No newline at end of file
+{"seqno": 5, "value": 5} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/spec b/tests/data/node/implementation/im/implementation/spec
index e671e7a..c9ec14a 100644
--- a/tests/data/node/implementation/im/implementation/spec
+++ b/tests/data/node/implementation/im/implementation/spec
@@ -1,25 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(dp4
-V*-*
-p5
-(dp6
-Vcommands
-p7
-(dp8
-Vactivity
-p9
-(dp10
-Vexec
-p11
-Vtrue
-p12
-sssVextract
-p13
-VChat.activity
-p14
-sss. \ No newline at end of file
+{"seqno": 3, "value": {"*-*": {"commands": {"activity": {"exec": "true"}}, "extract": "Chat.activity"}}} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/stability b/tests/data/node/implementation/im/implementation/stability
index 08dfa71..605110e 100644
--- a/tests/data/node/implementation/im/implementation/stability
+++ b/tests/data/node/implementation/im/implementation/stability
@@ -1,9 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-Vstable
-p4
-s. \ No newline at end of file
+{"seqno": 3, "value": "stable"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/tags b/tests/data/node/implementation/im/implementation/tags
index a2ff264..80876de 100644
--- a/tests/data/node/implementation/im/implementation/tags
+++ b/tests/data/node/implementation/im/implementation/tags
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-(lp4
-s. \ No newline at end of file
+{"seqno": 3, "value": []} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation/version b/tests/data/node/implementation/im/implementation/version
index ecdbe4f..b39d096 100644
--- a/tests/data/node/implementation/im/implementation/version
+++ b/tests/data/node/implementation/im/implementation/version
@@ -1,8 +1 @@
-(dp1
-Vseqno
-p2
-I3
-sVvalue
-p3
-V1
-s. \ No newline at end of file
+{"seqno": 3, "value": "1"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/author b/tests/data/node/implementation/im/implementation2/author
new file mode 100644
index 0000000..8600883
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/author
@@ -0,0 +1 @@
+{"seqno": 3, "value": ["alsroot"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/context b/tests/data/node/implementation/im/implementation2/context
new file mode 100644
index 0000000..842bf32
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/context
@@ -0,0 +1 @@
+{"seqno": 3, "value": "activity"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/ctime b/tests/data/node/implementation/im/implementation2/ctime
new file mode 100644
index 0000000..7e9db3f
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/ctime
@@ -0,0 +1 @@
+{"seqno": 3, "value": 1350031826} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/data b/tests/data/node/implementation/im/implementation2/data
new file mode 100644
index 0000000..b933ad2
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/data
@@ -0,0 +1 @@
+{"seqno": 5, "mime_type": "application/octet-stream", "digest": "fdb59f1ebd6ee26a00396747b3a733f4fd274604"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/data.blob b/tests/data/node/implementation/im/implementation2/data.blob
new file mode 100644
index 0000000..5960bb7
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/data.blob
Binary files differ
diff --git a/tests/data/node/implementation/im/implementation2/date b/tests/data/node/implementation/im/implementation2/date
new file mode 100644
index 0000000..c19d59f
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/date
@@ -0,0 +1,8 @@
+(dp1
+Vseqno
+p2
+I3
+sVvalue
+p3
+I0
+s. \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/guid b/tests/data/node/implementation/im/implementation2/guid
new file mode 100644
index 0000000..98acb00
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/guid
@@ -0,0 +1 @@
+{"seqno": 3, "value": "implementation"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/layer b/tests/data/node/implementation/im/implementation2/layer
new file mode 100644
index 0000000..ed16e06
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/layer
@@ -0,0 +1 @@
+{"seqno": 3, "value": ["public"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/license b/tests/data/node/implementation/im/implementation2/license
new file mode 100644
index 0000000..8bce558
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/license
@@ -0,0 +1 @@
+{"seqno": 3, "value": ["GPLv3+"]} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/mtime b/tests/data/node/implementation/im/implementation2/mtime
new file mode 100644
index 0000000..02fc45e
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/mtime
@@ -0,0 +1 @@
+{"seqno": 4, "value": 1350031827} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/notes b/tests/data/node/implementation/im/implementation2/notes
new file mode 100644
index 0000000..fc57242
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/notes
@@ -0,0 +1 @@
+{"seqno": 3, "value": {"en-US": ""}} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/requires b/tests/data/node/implementation/im/implementation2/requires
new file mode 100644
index 0000000..80876de
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/requires
@@ -0,0 +1 @@
+{"seqno": 3, "value": []} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/seqno b/tests/data/node/implementation/im/implementation2/seqno
new file mode 100644
index 0000000..aed8146
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/seqno
@@ -0,0 +1 @@
+{"seqno": 5, "value": 5} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/spec b/tests/data/node/implementation/im/implementation2/spec
new file mode 100644
index 0000000..89f8d50
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/spec
@@ -0,0 +1 @@
+{"seqno": 3, "value": {"*-*": {"commands": {"activity": {"exec": "true"}}, "extract": "Chat.activity", "requires": {"dep1": {}, "dep2": {}, "dep3": {}}}}} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/stability b/tests/data/node/implementation/im/implementation2/stability
new file mode 100644
index 0000000..605110e
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/stability
@@ -0,0 +1 @@
+{"seqno": 3, "value": "stable"} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/tags b/tests/data/node/implementation/im/implementation2/tags
new file mode 100644
index 0000000..80876de
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/tags
@@ -0,0 +1 @@
+{"seqno": 3, "value": []} \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/user b/tests/data/node/implementation/im/implementation2/user
new file mode 100644
index 0000000..faa7982
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/user
@@ -0,0 +1,10 @@
+(dp1
+Vseqno
+p2
+I3
+sVvalue
+p3
+(lp4
+V25c081e29242cf7a19ae893a420ab3de56e9e989
+p5
+as. \ No newline at end of file
diff --git a/tests/data/node/implementation/im/implementation2/version b/tests/data/node/implementation/im/implementation2/version
new file mode 100644
index 0000000..b39d096
--- /dev/null
+++ b/tests/data/node/implementation/im/implementation2/version
@@ -0,0 +1 @@
+{"seqno": 3, "value": "1"} \ No newline at end of file
diff --git a/tests/integration/node_client.py b/tests/integration/node_client.py
index 2ebbed0..a072ace 100755
--- a/tests/integration/node_client.py
+++ b/tests/integration/node_client.py
@@ -90,17 +90,22 @@ class NodeClientTest(tests.Test):
os.unlink(privkey_path)
os.unlink(pubkey_path)
+ deplist = self.cli(['GET', '/context/activity', 'cmd=deplist', 'repo=Fedora-14', '--anonymous', '--no-dbus', '--porcelain'])
+ assert not exists(privkey_path)
+ assert not exists(pubkey_path)
self.assertEqual(
- '\n'.join(['dep1.rpm', 'dep2.rpm', 'dep3.rpm']),
- self.cli(['GET', '/context/package', 'cmd=deplist', 'repo=Fedora-14', '--anonymous', '--no-dbus', '--porcelain']))
+ sorted(['dep1.rpm', 'dep2.rpm', 'dep3.rpm']),
+ sorted(deplist.split('\n')))
self.cli(['PUT', '/context/context', '--anonymous', 'cmd=clone', 'nodeps=1', 'stability=stable', '-jd', '1'])
- self.cli(['PUT', '/context/context', '--anonymous', 'cmd=favorite', '-jd', 'true'])
- assert exists('Activities/Chat.activity/activity/activity.info')
- self.assertEqual(True, json.load(file('client/db/context/co/context/favorite'))['value'])
+ assert not exists(privkey_path)
+ assert not exists(pubkey_path)
+ self.cli(['PUT', '/context/context', '--anonymous', 'cmd=favorite', '-jd', 'true'])
assert not exists(privkey_path)
assert not exists(pubkey_path)
+ assert exists('Activities/Chat.activity/activity/activity.info')
+ self.assertEqual(True, json.load(file('client/db/context/co/context/favorite'))['value'])
def cli(self, cmd, stdin=None):
cmd = ['sugar-network', '--local-root=client', '--ipc-port=5101', '--api-url=http://localhost:8100', '-DDD'] + cmd
diff --git a/tests/units/node/obs.py b/tests/units/node/obs.py
index 1bcd8e9..c34762b 100755
--- a/tests/units/node/obs.py
+++ b/tests/units/node/obs.py
@@ -146,7 +146,7 @@ class ObsTest(tests.Test):
class Response(object):
headers = {'Content-Type': 'text/xml'}
- raw = None
+ content = None
status_code = 200
@@ -161,7 +161,7 @@ class Client(object):
args_, kwargs_, reply = self.calls.pop(0)
self.test.assertEqual((args_, kwargs_), (args, kwargs))
response = Response()
- response.raw = StringIO(''.join(reply))
+ response.content = ''.join(reply)
return response
def download(self, path, dst):