Example #1
0
    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'
            }
        })
Example #2
0
    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)
Example #3
0
    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'
            })
Example #4
0
    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})
Example #5
0
    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'
                }
            })
Example #6
0
    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)
Example #7
0
    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})
Example #8
0
    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)