def run_bundle(spec_paths, filename=None): file_control = FileControl() collection = get_list(spec_paths) if collection.len() == 0 and filename is None: return {} elif collection.len() > 0 and filename is None: header_file = collection.get()[0].file elif filename is not None: header_file = filename try: data = file_control.load_dict_from_file(header_file) if isinstance(data, dict): data['paths'] = {} data.pop('components', None) else: raise Exception('Parse Error: ' + header_file) except Exception as e: print(e) return {} for route in collection.get(): if route.url not in data['paths']: data['paths'][route.url] = {} resolved_spec = resolver(route.file, route.spec, file_control) data['paths'][route.url].update({route.method.lower(): resolved_spec}) return data
def run_resolve(method, path, spec_paths): file_control = FileControl() collection = get_list(spec_paths) specs = [ resolver(route.file, route.spec, file_control) for route in collection.get() if route.method == method.upper() and route.url == path ] return specs
def run_resolve(method, path, spec_paths): repository = Repository(spec_paths) collection = repository.routes specs = [ resolver(route.file, route.spec, repository.file_control) for route in collection.get() if route.method == method.upper() and route.url == path ] return specs
def test_exception_resolve(self): for key, value in self._exception_data_provider().items(): self.assertRaises(Exception, resolver(value['input']))
def test_success_resolve(self): for key, value in self._success_data_provider().items(): input_spec = self.read_file(value['input']) actual = resolver(value['input'], input_spec) expected = self.read_file(value['expected']) self.assertEqual(actual, expected, key)