Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/units/client
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/client')
-rwxr-xr-xtests/units/client/injector.py33
-rwxr-xr-xtests/units/client/journal.py55
-rwxr-xr-xtests/units/client/routes.py37
3 files changed, 63 insertions, 62 deletions
diff --git a/tests/units/client/injector.py b/tests/units/client/injector.py
index ec88975..7170758 100755
--- a/tests/units/client/injector.py
+++ b/tests/units/client/injector.py
@@ -14,6 +14,7 @@ from __init__ import tests
from sugar_network import db, client
from sugar_network.client import Connection, keyfile, api, packagekit, injector as injector_, model
from sugar_network.client.injector import _PreemptivePool, Injector
+from sugar_network.client.auth import SugarCreds
from sugar_network.toolkit.coroutine import this
from sugar_network.toolkit import http, lsb_release
@@ -349,7 +350,7 @@ class InjectorTest(tests.Test):
def test_solve(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -382,7 +383,7 @@ class InjectorTest(tests.Test):
def test_solve_FailInOffline(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = None
injector.seqno = 0
@@ -403,7 +404,7 @@ class InjectorTest(tests.Test):
def test_solve_ReuseCachedSolution(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -426,7 +427,7 @@ class InjectorTest(tests.Test):
def test_solve_InvalidateCachedSolution(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = 'http://127.0.0.1:7777'
injector.seqno = 1
@@ -492,7 +493,7 @@ class InjectorTest(tests.Test):
def test_solve_ForceUsingStaleCachedSolutionInOffline(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -519,7 +520,7 @@ class InjectorTest(tests.Test):
def test_download_SetExecPermissions(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -552,7 +553,7 @@ class InjectorTest(tests.Test):
def test_checkin(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -603,7 +604,7 @@ class InjectorTest(tests.Test):
def test_checkin_PreemptivePool(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -660,7 +661,7 @@ class InjectorTest(tests.Test):
def test_checkin_Refresh(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -694,7 +695,7 @@ class InjectorTest(tests.Test):
def test_launch(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -742,7 +743,7 @@ class InjectorTest(tests.Test):
def test_launch_PreemptivePool(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -783,7 +784,7 @@ class InjectorTest(tests.Test):
def test_launch_DonntAcquireCheckins(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector('client')
injector.api = client.api.value
injector.seqno = 0
@@ -810,7 +811,7 @@ class InjectorTest(tests.Test):
def test_launch_RefreshCheckins(self):
self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector(tests.tmpdir + '/client')
injector.api = client.api.value
injector.seqno = 1
@@ -862,7 +863,7 @@ class InjectorTest(tests.Test):
def test_launch_InstallDeps(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector(tests.tmpdir + '/client')
injector.api = client.api.value
injector.seqno = 1
@@ -902,7 +903,7 @@ class InjectorTest(tests.Test):
def test_launch_Document(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector(tests.tmpdir + '/client')
injector.api = client.api.value
injector.seqno = 1
@@ -936,7 +937,7 @@ class InjectorTest(tests.Test):
def test_launch_DocumentWithDetectingAppByMIMEType(self):
volume = self.start_master()
- conn = Connection(auth=http.SugarAuth(keyfile.value))
+ conn = Connection(creds=SugarCreds(keyfile.value))
injector = Injector(tests.tmpdir + '/client')
injector.api = client.api.value
injector.seqno = 1
diff --git a/tests/units/client/journal.py b/tests/units/client/journal.py
index bae636b..f421237 100755
--- a/tests/units/client/journal.py
+++ b/tests/units/client/journal.py
@@ -12,6 +12,7 @@ from __init__ import tests
from sugar_network import db
from sugar_network.client import journal, ipc_port
+from sugar_network.toolkit.coroutine import this
from sugar_network.toolkit.router import Request, Response
@@ -103,38 +104,38 @@ class JournalTest(tests.Test):
ds.journal_update('guid2', StringIO('data2'), title='title2', description='description2', preview=StringIO('preview2'))
ds.journal_update('guid3', StringIO('data3'), title='title3', description='description3', preview=StringIO('preview3'))
- request = Request(reply=['uid', 'title', 'description', 'preview'])
- request.path = ['journal']
- response = Response()
+ this.request = Request(reply=['uid', 'title', 'description', 'preview'])
+ this.request.path = ['journal']
+ this.response = Response()
self.assertEqual([
{'guid': 'guid1', 'title': 'title1', 'description': 'description1', 'preview': {'url': url + 'guid1/preview'}},
{'guid': 'guid2', 'title': 'title2', 'description': 'description2', 'preview': {'url': url + 'guid2/preview'}},
{'guid': 'guid3', 'title': 'title3', 'description': 'description3', 'preview': {'url': url + 'guid3/preview'}},
],
- ds.journal_find(request, response)['result'])
+ ds.journal_find()['result'])
- request = Request(offset=1, limit=1, reply=['uid', 'title', 'description', 'preview'])
- request.path = ['journal']
+ this.request = Request(offset=1, limit=1, reply=['uid', 'title', 'description', 'preview'])
+ this.request.path = ['journal']
self.assertEqual([
{'guid': 'guid2', 'title': 'title2', 'description': 'description2', 'preview': {'url': url + 'guid2/preview'}},
],
- ds.journal_find(request, response)['result'])
+ ds.journal_find()['result'])
- request = Request(query='title3', reply=['uid', 'title', 'description', 'preview'])
- request.path = ['journal']
+ this.request = Request(query='title3', reply=['uid', 'title', 'description', 'preview'])
+ this.request.path = ['journal']
self.assertEqual([
{'guid': 'guid3', 'title': 'title3', 'description': 'description3', 'preview': {'url': url + 'guid3/preview'}},
],
- ds.journal_find(request, response)['result'])
+ ds.journal_find()['result'])
- request = Request(order_by=['+title'], reply=['uid', 'title', 'description', 'preview'])
- request.path = ['journal']
+ this.request = Request(order_by=['+title'], reply=['uid', 'title', 'description', 'preview'])
+ this.request.path = ['journal']
self.assertEqual([
{'guid': 'guid3', 'title': 'title3', 'description': 'description3', 'preview': {'url': url + 'guid3/preview'}},
{'guid': 'guid2', 'title': 'title2', 'description': 'description2', 'preview': {'url': url + 'guid2/preview'}},
{'guid': 'guid1', 'title': 'title1', 'description': 'description1', 'preview': {'url': url + 'guid1/preview'}},
],
- ds.journal_find(request, response)['result'])
+ ds.journal_find()['result'])
def test_GetRequest(self):
url = 'http://127.0.0.1:%s/journal/' % ipc_port.value
@@ -142,34 +143,34 @@ class JournalTest(tests.Test):
ds = journal.Routes()
ds.journal_update('guid1', StringIO('data1'), title='title1', description='description1', preview=StringIO('preview1'))
- request = Request()
- request.path = ['journal', 'guid1']
- response = Response()
+ this.request = Request()
+ this.request.path = ['journal', 'guid1']
+ this.response = Response()
self.assertEqual(
{'guid': 'guid1', 'title': 'title1', 'description': 'description1', 'preview': {'url': url + 'guid1/preview'}},
- ds.journal_get(request, response))
+ ds.journal_get())
def test_GetPropRequest(self):
ds = journal.Routes()
ds.journal_update('guid1', StringIO('data1'), title='title1', description='description1', preview=StringIO('preview1'))
- request = Request()
- request.path = ['journal', 'guid1', 'title']
- response = Response()
- self.assertEqual('title1', ds.journal_get_prop(request, response))
+ this.request = Request()
+ this.request.path = ['journal', 'guid1', 'title']
+ this.response = Response()
+ self.assertEqual('title1', ds.journal_get_prop())
- request = Request()
- request.path = ['journal', 'guid1', 'preview']
- response = Response()
- blob = ds.journal_get_preview(request, response)
+ this.request = Request()
+ this.request.path = ['journal', 'guid1', 'preview']
+ this.response = Response()
+ blob = ds.journal_get_preview()
self.assertEqual({
'content-type': 'image/png',
},
- dict(blob))
+ blob.meta)
self.assertEqual(
'.sugar/default/datastore/gu/guid1/metadata/preview',
blob.path)
- self.assertEqual(None, response.content_type)
+ self.assertEqual(None, this.response.content_type)
if __name__ == '__main__':
diff --git a/tests/units/client/routes.py b/tests/units/client/routes.py
index 325ac99..6072571 100755
--- a/tests/units/client/routes.py
+++ b/tests/units/client/routes.py
@@ -13,9 +13,10 @@ from __init__ import tests
from sugar_network import db, client, toolkit
from sugar_network.client import journal, IPCConnection, cache_limit, cache_lifetime, api, injector, routes
-from sugar_network.client.model import RESOURCES
+from sugar_network.client.model import Volume
from sugar_network.client.injector import Injector
-from sugar_network.client.routes import ClientRoutes, CachedClientRoutes
+from sugar_network.client.routes import ClientRoutes
+from sugar_network.client.auth import SugarCreds
from sugar_network.node.model import User
from sugar_network.node.master import MasterRoutes
from sugar_network.toolkit.router import Router, Request, Response, route
@@ -28,8 +29,8 @@ import requests
class RoutesTest(tests.Test):
def test_Hub(self):
- volume = db.Volume('db', RESOURCES)
- cp = ClientRoutes(volume)
+ volume = Volume('db')
+ cp = ClientRoutes(volume, SugarCreds(client.keyfile.value))
server = coroutine.WSGIServer(
('127.0.0.1', client.ipc_port.value), Router(cp))
coroutine.spawn(server.serve_forever)
@@ -353,7 +354,6 @@ class RoutesTest(tests.Test):
ipc = IPCConnection()
guid1 = ipc.post(['context'], {
- 'guid': 'context1',
'type': 'activity',
'title': '1',
'summary': 'summary',
@@ -382,20 +382,19 @@ class RoutesTest(tests.Test):
]]), cmd='submit', initial=True)
guid3 = 'context3'
guid4 = ipc.post(['context'], {
- 'guid': 'context4',
'type': 'activity',
'title': '4',
'summary': 'summary',
'description': 'description',
})
- self.assertEqual([
+ self.assertEqual(sorted([
{'guid': guid1, 'title': '1', 'pins': []},
{'guid': guid2, 'title': '2', 'pins': []},
{'guid': guid3, 'title': '3', 'pins': []},
{'guid': guid4, 'title': '4', 'pins': []},
- ],
- ipc.get(['context'], reply=['guid', 'title', 'pins'])['result'])
+ ]),
+ sorted(ipc.get(['context'], reply=['guid', 'title', 'pins'])['result']))
self.assertEqual([
],
ipc.get(['context'], reply=['guid', 'title'], pins='favorite')['result'])
@@ -421,13 +420,13 @@ class RoutesTest(tests.Test):
home_volume['context'].update(guid2, {'title': {i18n.default_lang(): '2_'}})
home_volume['context'].update(guid3, {'title': {i18n.default_lang(): '3_'}})
- self.assertEqual([
+ self.assertEqual(sorted([
{'guid': guid1, 'title': '1', 'pins': ['favorite']},
{'guid': guid2, 'title': '2', 'pins': ['checkin', 'favorite']},
{'guid': guid3, 'title': '3', 'pins': ['checkin']},
{'guid': guid4, 'title': '4', 'pins': []},
- ],
- ipc.get(['context'], reply=['guid', 'title', 'pins'])['result'])
+ ]),
+ sorted(ipc.get(['context'], reply=['guid', 'title', 'pins'])['result']))
self.assertEqual([
{'guid': guid1, 'title': '1_'},
{'guid': guid2, 'title': '2_'},
@@ -442,13 +441,13 @@ class RoutesTest(tests.Test):
ipc.delete(['context', guid1], cmd='favorite')
ipc.delete(['context', guid2], cmd='checkin')
- self.assertEqual([
+ self.assertEqual(sorted([
{'guid': guid1, 'pins': []},
{'guid': guid2, 'pins': ['favorite']},
{'guid': guid3, 'pins': ['checkin']},
{'guid': guid4, 'pins': []},
- ],
- ipc.get(['context'], reply=['guid', 'pins'])['result'])
+ ]),
+ sorted(ipc.get(['context'], reply=['guid', 'pins'])['result']))
self.assertEqual([
{'guid': guid2, 'pins': ['favorite']},
],
@@ -873,7 +872,7 @@ class RoutesTest(tests.Test):
'content2',
'content3',
]),
- sorted([ipc.get(['report', guid, 'logs', i]) for i in ipc.get(['report', guid, 'logs']).keys()]))
+ sorted([''.join(ipc.download(i[1])) for i in ipc.get(['report', guid, 'logs'])]))
assert not home_volume['report'][guid].exists
self.stop_master()
@@ -897,14 +896,14 @@ class RoutesTest(tests.Test):
'content2',
'content3',
]),
- sorted([ipc.get(['report', guid, 'logs', i]) for i in ipc.get(['report', guid, 'logs']).keys()]))
+ sorted([''.join(ipc.download(i[1])) for i in ipc.get(['report', guid, 'logs'])]))
assert home_volume['report'][guid].exists
def test_inline(self):
routes._RECONNECT_TIMEOUT = 2
this.injector = Injector('client')
- cp = ClientRoutes(db.Volume('client', RESOURCES))
+ cp = ClientRoutes(Volume('client'), SugarCreds(client.keyfile.value))
cp.connect(client.api.value)
assert not cp.inline()
@@ -1064,7 +1063,7 @@ class RoutesTest(tests.Test):
subscribe_tries = 0
- def __init__(self, volume, *args):
+ def __init__(self, volume, auth, *args):
pass
@route('GET', cmd='status', mime_type='application/json')