def test_create_output_failed_to_parse(self): result = v.create_output(None, 'yang models', 'url', False, 'working dir', [], {'stderr': 'error'}) self.assertEqual(result.status_code, 404) self.assertJSONEqual(result.content, { 'Error': 'Failed to fetch content of url', 'xym': { 'stderr': 'error' } })
def test_create_output_none_missing(self, mock_validate: mock.MagicMock, mock_checker: mock.MagicMock): json_body = self.load_payload('create_output') mock_validate.return_value = 'test' mock_checker = mock.MagicMock mock_checker.find_missing = lambda self: [] result = v.create_output(None, 'yang models', 'url', False, 'working dir', ['extracted']) self.assertEqual(result, 'test') mock_validate.assert_called_with(None, None, json_body)
def test_create_output_failed_to_load(self): result = v.create_output(None, 'yang models', 'url', False, 'working dir', []) self.assertEqual(result.status_code, 400) self.assertJSONEqual( result.content, { 'Error': 'Failed to load any yang modules. Please provide at least one' ' yang module. File must have .yang extension' })
def test_create_output_missing(self, mock_checker: mock.MagicMock): json_body = self.load_payload('create_output') json_body['dependencies'] = {'missing': ['missing']} json_body['xym'] = {'test': 'test'} mock_checker = mock.MagicMock mock_checker.find_missing = lambda self: ['missing'] result = v.create_output(None, 'yang models', 'url', False, 'working dir', ['extracted'], {'test': 'test'}) self.assertEqual(result.status_code, 202) self.assertJSONEqual(result.content, {'output': json_body})
def test_create_output_not_found(self): result = v.create_output(None, 'yang models', 'url', False, 'working dir', [], {'test': 'test'}) self.assertEqual(result.status_code, 200) self.assertJSONEqual( result.content, { 'Error': 'No modules were extracted using xym from url', 'xym': { 'test': 'test' } })
def test_create_output_latest(self, mock_validate: mock.MagicMock, mock_checker: mock.MagicMock): json_body = self.load_payload('create_output') json_body['dependencies'] = {'repo-modules': []} mock_validate.return_value = 'test' mock_checker = mock.MagicMock mock_checker.find_missing = lambda self: ['missing'] mock_checker.get_latest_revision = lambda self: [] result = v.create_output(None, 'yang models', 'url', True, 'working dir', ['extracted']) self.assertEqual(result, 'test') mock_validate.assert_called_with(None, None, json_body)
def test_create_output_choose_options_and_missing( self, mock_checker: mock.MagicMock): json_body = self.load_payload('create_output') json_body['dependencies'] = {'missing': ['missing'], 'existing': {}} mock_checker = mock.MagicMock mock_checker.find_missing = lambda self: ['missing'] mock_checker.get_existing_dependencies = lambda self: ({}, False) result = v.create_output(None, 'yang models', 'url', False, 'working dir', ['extracted'], choose_options=True) self.assertEqual(result.status_code, 202) self.assertJSONEqual(result.content, {'output': json_body})
def test_create_output_choose_options_and_none_missing( self, mock_validate: mock.MagicMock, mock_checker: mock.MagicMock, ): json_body = self.load_payload('create_output') json_body['dependencies'] = {'missing': [], 'existing': {}} mock_validate.return_value = 'test' mock_checker = mock.MagicMock mock_checker.find_missing = lambda self: [] mock_checker.get_existing_dependencies = lambda self: ({}, False) result = v.create_output(None, 'yang models', 'url', False, 'working dir', ['extracted'], choose_options=True) self.assertEqual(result, 'test') mock_validate.assert_called_with(None, None, json_body)