def test_geoservice_refresh(self): # test refresh load_dotenv(dotenv_path='test/.env') geo = GeoService.instance(provider='geoserver', url="https://test/geoserver", username="******", password="******", pg_user='******', pg_host='https://test', pg_password='******', refresh=True) geo = GeoService.instance(provider='geoserver', url="https://test/geoserver", username="******", password="******", pg_user='******', pg_host='https://test', pg_password='******') self.assertIsInstance(geo, GeoService) self.assertEqual('drwho', geo._provider._username) geo = GeoService.instance(provider='geoserver', url="https://test/geoserver", username="******", password="******", pg_user='******', pg_host='https://test', pg_password='******', refresh=True) self.assertIsInstance(geo, GeoService) self.assertEqual('drwho2', geo._provider._username)
def create_app(): load_dotenv() validate_env() K8sCfg.load_config_once() Cfg.load_config() GeoService.instance(provider="geoserver") cache_provider = os.environ.get('XCUBE_HUB_CACHE_PROVIDER', 'inmemory') # specification_dir = maybe_raise_for_env("XCUBE_HUB_CFG_DIR", './resources/') KeyValueDatabase.instance(provider=cache_provider) return connexion.App(__name__, specification_dir='./resources/')
def test_geoservice(self): GeoService.instance(url='https://test0/geoserver', username='******', password='******', pg_user='******', pg_password='******', pg_host='host', provider='geoserver', refresh=True) geo = GeoService.instance(provider='geoserver', pg_user='******', pg_host='https://test', pg_password='******') self.assertIsInstance(geo, GeoService) self.assertEqual('https://test0/geoserver', geo._provider._url) self.assertEqual('drwho', geo._provider._username) self.assertEqual('pass', geo._provider._password) geo = GeoService.instance(provider='geoserver', url="https://test2", username="******", password="******", pg_user='******', pg_host='https://test', pg_password='******', refresh=True) self.assertIsInstance(geo, GeoService) self.assertEqual('https://test2', geo._provider._url) self.assertEqual('drwho', geo._provider._username) self.assertEqual('timelord', geo._provider._password)
def get_collections(database_id: str, token_info: Dict) -> Tuple[AnyDict, int]: try: token = token_info['token'] geodb_user = _get_claim_from_token( token=token, tgt="https://geodb.brockmann-consult.de/dbrole") _raise_for_no_access(database_id=database_id, geodb_user=geodb_user, token=token) geo = GeoService.instance() collections = geo.get_layers(database_id=database_id, fmt='geopandas') return api.ApiResponse.success(collections) except api.ApiError as e: return e.response
def delete_collection(database_id: str, collection_id: str, token_info: Dict) -> Tuple[AnyDict, int]: try: token = token_info['token'] geodb_user = _get_claim_from_token( token=token, tgt="https://geodb.brockmann-consult.de/dbrole") _raise_for_no_access(database_id=database_id, geodb_user=geodb_user, token=token) geo = GeoService.instance() collection = geo.unpublish(collection_id=collection_id, database_id=database_id) return api.ApiResponse.success(collection) except api.ApiError as e: return e.response
def put_collection(database_id: str, body, token_info: Dict) -> Tuple[AnyDict, int]: try: token = token_info['token'] geodb_user = _get_claim_from_token( token=token, tgt="https://geodb.brockmann-consult.de/dbrole") _raise_for_no_access(database_id=database_id, geodb_user=geodb_user, token=token) geo = GeoService.instance() if 'collection_id' not in body: raise api.ApiError(400, "put_collection needs a collection_id") res = geo.publish(collection_id=body['collection_id'], database_id=database_id) return api.ApiResponse.success(res.to_dict()) except api.ApiError as e: return e.response
def setUp(self): load_dotenv(dotenv_path='test/.env') self._geo = GeoService.instance(provider='mock') self._claims, self._token = create_test_token(permissions=["manage:collections", ], dbrole='geodb_admin') self._headers = {'Authorization': f'Bearer {self._token}'}
def test_geoservice_geoserver(self): load_dotenv(dotenv_path='test/.env') geo = GeoService.instance(provider='geoserver') self.assertIsInstance(geo._provider, _GeoServer) del_env(dotenv_path='test/.env')
def setUp(self) -> None: load_dotenv(dotenv_path='test/.env') self._geoservice = GeoService.instance(provider='geoserver') self._geoservice._provider._geo = Mock()