def get_namespaces(self, ctx): """ :returns: instance of type "GetNamespacesResults" -> structure: parameter "namespaces" of unspecified object """ # ctx is the context object # return variables are: results #BEGIN get_namespaces # function for retrieving current iteration of namespace.yaml file # make sure request is made by an admin namespaces = namespace.load_namespaces() results = {'namespaces': namespaces} #END get_namespaces # At some point might do deeper type checking... if not isinstance(results, dict): raise ValueError('Method get_namespaces return value ' + 'results is not type dict as required.') # return the results return [results]
""" Relation engine API client. """ import json import requests from OntologyAPI.utils import config, namespace from OntologyAPI.exceptions import REError from pprint import pprint _CONF = config.get_config() _NAMESPACE = namespace.load_namespaces() def query(name, params, token=None): """Run a stored query from the RE API.""" _params = params.copy() ns = _params['ns'] del _params['ns'] url = _CONF['re_url'] + '/api/v1/query_results' query = _NAMESPACE[ns]['prefix'] + '_' + name resp = requests.post(url, params={'stored_query': query}, data=json.dumps(_params), headers={'Authorization': token}) if not resp.ok: #raise REError(resp) return {'stats': {}, 'results': [], 'error': '<Response [400]>'} return resp.json()
def test_get_namespaces(self): ret = self.serviceImpl.get_namespaces(self.ctx) fn_namespaces = ret[0]['namespaces'] loaded_namespaces = namespace.load_namespaces() self.assertEqual(fn_namespaces, loaded_namespaces)