Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_get_yaml_decorators(self):
rq, _ = self.loader.getTextForName('test-sparql')
decorators = gquery.get_yaml_decorators(rq)
# Query always exist -- the rest must be present on the file.
self.assertIn('query', decorators, 'Should have a query field')
self.assertIn('summary', decorators, 'Should have a summary field')
self.assertIn('pagination', decorators,
'Should have a pagination field')
self.assertIn('enumerate', decorators, 'Should have a enumerate field')
self.assertIsInstance(
decorators['summary'], six.string_types, 'Summary should be text')
self.assertIsInstance(
decorators['pagination'], int, 'Pagination should be numeric')
self.assertIsInstance(
decorators['enumerate'], list, 'Enumerate should be a list')
def test_get_static_enumeration(self):
rq, _ = self.loader.getTextForName('test-enum')
metadata = gquery.get_yaml_decorators(rq)
self.assertIn('enumerate', metadata, 'Should contain enumerate')
enumeration = gquery.get_enumeration(rq, 'o', 'http://mock-endpoint/sparql', metadata)
self.assertIsInstance(enumeration, list, 'Should return a list of values')
self.assertEqual(len(enumeration), 2, 'Should have two elements')
def test_get_json_decorators(self):
rq, _ = self.loader.getTextForName('test-sparql-jsonconf')
decorators = gquery.get_yaml_decorators(rq)
# Query always exist -- the rest must be present on the file.
self.assertIn('query', decorators, 'Should have a query field')
self.assertIn('summary', decorators, 'Should have a summary field')
self.assertIn('pagination', decorators,
'Should have a pagination field')
self.assertIn('enumerate', decorators, 'Should have a enumerate field')
self.assertIsInstance(
decorators['summary'], six.string_types, 'Summary should be text')
self.assertIsInstance(
decorators['pagination'], int, 'Pagination should be numeric')
self.assertIsInstance(
decorators['enumerate'], list, 'Enumerate should be a list')
def process_tpf_query_text(query_text, raw_repo_uri, call_name, extraMetadata):
query_metadata = gquery.get_yaml_decorators(query_text)
tags = query_metadata['tags'] if 'tags' in query_metadata else []
glogger.debug("Read query tags: " + ', '.join(tags))
summary = query_metadata['summary'] if 'summary' in query_metadata else ""
glogger.debug("Read query summary: " + summary)
description = query_metadata['description'] if 'description' in query_metadata else ""
glogger.debug("Read query description: " + description)
method = query_metadata['method'].lower() if 'method' in query_metadata else "get"
if method not in ['get', 'post', 'head', 'put', 'delete', 'options', 'connect']:
method = "get"
pagination = query_metadata['pagination'] if 'pagination' in query_metadata else ""
glogger.debug("Read query pagination: " + str(pagination))