示例#1
0
    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]
示例#2
0
"""
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)