Permalink
Browse files

tests

  • Loading branch information...
akariv committed Mar 20, 2018
1 parent c575787 commit b74df044f779fdf9ef381417311ccab16ea10042
Showing with 41 additions and 12 deletions.
  1. +41 −12 tests/module/blueprints/package/test_controllers.py
@@ -15,14 +15,37 @@
from mock import Mock, patch
from importlib import import_module
from conductor.blueprints.user.controllers import PRIVATE_KEY
module = import_module('conductor.blueprints.package.controllers')
Response = namedtuple('Response', ['status_code'])
dpp_module = import_module('datapackage.helpers')
class Response:
def __init__(self, status_code, _json):
self.status_code = status_code
self._json = _json
def json(self):
return self._json
def raise_for_status(self):
pass
datapackage = {
'name': 'my-dataset',
'resources': [
{
'name': 'my-resource',
'path': '.',
'schema': {
'fields': [
{'name': 'year', 'type': 'integer', 'osType': 'date:fiscal-year'}
]
}
}
]
}
_cache = {}
callback = 'http://conductor/callback'
token = jwt.encode({'userid': 'owner'}, PRIVATE_KEY, algorithm='RS256').decode('ascii')
token = None
def cache_get(key):
global _cache
@@ -39,20 +62,25 @@ class ApiloadTest(unittest.TestCase):
# Actions
def setUp(self):
from conductor.blueprints.user.controllers import PRIVATE_KEY
global token
self.private_key = PRIVATE_KEY
token = jwt.encode({'userid': 'owner'}, PRIVATE_KEY, algorithm='RS256').decode('ascii')
# Cleanup
self.addCleanup(patch.stopall)
# Various patches
self.requests = patch.object(module, 'requests').start()
self.requests = patch.object(dpp_module, 'requests').start()
self.runner = patch.object(module, 'DppRunner').start()
module.os_api = 'api'
module.os_conductor = 'conductor'
global _cache
_cache = {}
# Tests
def assertResponse(self, ret, status=None, progress=None, error=None):
if status is not None:
self.assertEquals(ret['status'], status)
@@ -63,8 +91,9 @@ def assertResponse(self, ret, status=None, progress=None, error=None):
def test___load___good_request(self):
api_load = module.upload
self.requests.get = Mock(return_value=Response(200))
self.assertResponse(api_load('bla', token, cache_get, cache_set), 'queued', 0)
module.runner.start = Mock(return_value=None)
self.requests.get = Mock(return_value=Response(200, datapackage))
self.assertResponse(api_load('http://bla', token, cache_get, cache_set), 'queued', 0)
# def test___load___bad_request(self):
# api_load = module.upload
@@ -78,12 +107,12 @@ def test___load___good_request(self):
def test___callback___server_down(self):
api_load = module.upload
self.requests.get = Mock(return_value=Response(499))
self.assertResponse(api_load('bla', token, cache_get, cache_set), 'fail', error='HTTP 499')
self.requests.get = Mock(return_value=Response(499, datapackage))
self.assertResponse(api_load('http://bla', token, cache_get, cache_set), 'fail', error='HTTP 499')
def test___poll___good_request(self):
api_load = module.upload
self.requests.get = Mock(return_value=Response(200))
self.requests.get = Mock(return_value=Response(200, datapackage))
api_load('bla2', token, cache_get, cache_set)
api_poll = module.upload_status

0 comments on commit b74df04

Please sign in to comment.