def test_registry_by_wrong_name(self, registry_blok): def __get_db_name(request): return 'wrong_db_name' Configuration.update(get_db_name=__get_db_name) webserver = init_web_server(self.add_route_and_views) res = webserver.get('/test/', status=200) assert not res.body
def test_before_and_after_install_blok(self, registry_blok): self.installed_blok = 'auth' webserver = init_web_server(self.add_route_and_views) webserver.get('/test/', status=404) registry_blok.upgrade(install=['auth']) self.assertOK(webserver) registry_blok.upgrade(uninstall=['auth']) webserver.get('/test/', status=404)
def test_need_anyblok_registry_ok2(self, registry_blok): self.need_anyblok_registry = False def __get_db_name(request): return 'wrong_db_name' Configuration.update(get_db_name=__get_db_name) webserver = init_web_server(self.add_route_and_views2) webserver.get('/test/', status=200)
def test_registry_by_default_method(self, registry_blok): webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert Configuration.get('db_name') == res.body.decode('utf8') webserver.get('/test/login/') res = webserver.get('/test/', status=200) assert 'other_db_name' == res.body.decode('utf8') webserver.get('/test/logout/') res = webserver.get('/test/', status=200) assert Configuration.get('db_name') == res.body.decode('utf8')
def test_registry_get_date(self): def get_date(request): return {'date': date(2017, 10, 1)} def add_route_and_views(config): config.add_route('dbname', '/test/') config.add_view(get_date, route_name='dbname', renderer='json') json_renderer = JSON() json_renderer.add_adapter(date, date_adapter) config.add_renderer('json', json_renderer) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert res.json_body['date'] == date_adapter(date(2017, 10, 1), None)
def test_registry_by_path(self, registry_blok): def __get_db_name(request): return request.matchdict['dbname'] def add_route_and_views(config): config.add_route('dbname', '/test/{dbname}/') config.add_view(_get_db_name, route_name='dbname') Configuration.update(get_db_name=__get_db_name) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/%s/' % Configuration.get('db_name'), status=200) assert Configuration.get('db_name') == res.body.decode('utf8') res = webserver.get('/test/wrong_db_name/', status=200) assert not res.body
def test_registry_get_decimal(self): val = Decimal('100.12') def get_bytes(request): return {'decimal': val} def add_route_and_views(config): config.add_route('dbname', '/test/') config.add_view(get_bytes, route_name='dbname', renderer='json') json_renderer = JSON() json_renderer.add_adapter(Decimal, decimal_adapter) config.add_renderer('json', json_renderer) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert res.json_body['decimal'] == decimal_adapter(val, None)
def test_registry_get_bytes(self): val = urandom(100) def get_bytes(request): return {'bytes': val} def add_route_and_views(config): config.add_route('dbname', '/test/') config.add_view(get_bytes, route_name='dbname', renderer='json') json_renderer = JSON() json_renderer.add_adapter(bytes, bytes_adapter) config.add_renderer('json', json_renderer) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert res.json_body['bytes'] == bytes_adapter(val, None)
def test_registry_get_uuid(self): uuid = uuid1() def get_uuid(request): return {'uuid': uuid} def add_route_and_views(config): config.add_route('dbname', '/test/') config.add_view(get_uuid, route_name='dbname', renderer='json') json_renderer = JSON() json_renderer.add_adapter(UUID, uuid_adapter) config.add_renderer('json', json_renderer) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert res.json_body['uuid'] == uuid_adapter(uuid, None)
def test_need_anyblok_registry_ok(self, registry_blok): self.need_anyblok_registry = True webserver = init_web_server(self.add_route_and_views2) webserver.get('/test/', status=200)
def test_uninstalled_blok(self, registry_blok): self.installed_blok = 'anyblok-io' webserver = init_web_server(self.add_route_and_views) webserver.get('/test/', status=404)
def test_installed_blok(self, registry_blok): self.installed_blok = 'anyblok-core' webserver = init_web_server(self.add_route_and_views) self.assertOK(webserver)
def test_registry_get_timedelta(self): def get_timedelta(request): return { 'timedelta': timedelta(days=1, hours=4, minutes=56, seconds=3710, milliseconds=4000, microseconds=500) } def add_route_and_views(config): config.add_route('dbname', '/test/') config.add_view(get_timedelta, route_name='dbname', renderer='json') json_renderer = JSON() json_renderer.add_adapter(timedelta, timedelta_adapter_factory()) config.add_renderer('json', json_renderer) webserver = init_web_server(add_route_and_views) res = webserver.get('/test/', status=200) assert res.json_body['timedelta'] == timedelta( days=1, hours=4, minutes=56, seconds=3710, milliseconds=4000, microseconds=500).total_seconds() # This part is aimed at testing that the different modes implemented on # timedelta adapter are behaving as intented delta = timedelta(weeks=1, days=3, hours=15, minutes=3, seconds=45, milliseconds=354, microseconds=768) assert round( timedelta_adapter_factory(TimeDeltaModes.SECONDS)(delta, None), 8) == 918225.354768 assert round( timedelta_adapter_factory(TimeDeltaModes.MICROSECONDS)(delta, None), 8) == 918225354768 assert round( timedelta_adapter_factory(TimeDeltaModes.MILLISECONDS)(delta, None), 8) == 918225354.768 assert round( timedelta_adapter_factory(TimeDeltaModes.MINUTES)(delta, None), 8) == 15303.7559128 assert round( timedelta_adapter_factory(TimeDeltaModes.HOURS)(delta, None), 8) == 255.06259855 assert round( timedelta_adapter_factory(TimeDeltaModes.DAYS)(delta, None), 8) == 10.62760827 assert round( timedelta_adapter_factory(TimeDeltaModes.WEEKS)(delta, None), 8) == 1.51822975 with pytest.raises(ValueError): timedelta_adapter_factory("not a valid mode")(delta, None)