diff options
Diffstat (limited to 'tests/units/client')
-rwxr-xr-x | tests/units/client/injector.py | 33 | ||||
-rwxr-xr-x | tests/units/client/journal.py | 55 | ||||
-rwxr-xr-x | tests/units/client/routes.py | 37 |
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') |