def setUp(self, mock_open): """Execute steps before each tests.""" data = MagicMock() data.read.return_value = '{"username": "******", "name": "mef_eline"}' enter_data = MagicMock() enter_data.__enter__.return_value = data mock_open.return_value = enter_data napp_path = Path('') tpl_path = Path('') self.open_api = OpenAPI(napp_path, tpl_path)
def prepare(cls): """Prepare NApp to be uploaded by creating openAPI skeleton.""" if cls._ask_openapi(): napp_path = pathlib.Path() tpl_path = SKEL_PATH / 'napp-structure/username/napp' OpenAPI(napp_path, tpl_path).render_template() print('Please, update your openapi.yml file.') sys.exit()
def prepare(cls): """Prepare NApp to be uploaded by creating openAPI skeleton.""" if cls._ask_openapi(): napp_path = Path() prefix = Path(sys.prefix) tpl_path = prefix / 'etc/skel/kytos/napp-structure/username/napp' OpenAPI(napp_path, tpl_path).render_template() print('Please, update your openapi.yml file.') sys.exit()
class TestOpenAPI(unittest.TestCase): """Test the class OpenAPI.""" @patch('builtins.open') def setUp(self, mock_open): """Execute steps before each tests.""" data = MagicMock() data.read.return_value = '{"username": "******", "name": "mef_eline"}' enter_data = MagicMock() enter_data.__enter__.return_value = data mock_open.return_value = enter_data napp_path = Path('') tpl_path = Path('') self.open_api = OpenAPI(napp_path, tpl_path) @patch('pathlib.Path.open') @patch('kytos.utils.openapi.OpenAPI._save') def test_render_template(self, *args): """Test render_template method.""" (mock_save, mock_open) = args open_file = MagicMock() open_file.read.return_value = MAIN_FILE mock_open.return_value = open_file self.open_api.render_template() description = 'TODO write/remove the description' path_dict = { 'get': { 'summary': 'docstring', 'description': description } } expected = { 'napp': { 'username': '******', 'name': 'mef_eline' }, 'paths': { '/api/kytos/mef_eline/any': path_dict } } mock_save.assert_called_with(expected) @patch('pathlib.Path.open') def test_read_napp_info(self, mock_open): """Test _read_napp_info method.""" open_file = MagicMock() open_file.read.return_value = '{"info": "ABC"}' mock_open.return_value = open_file response = self.open_api._read_napp_info() self.assertEqual(response, {'info': 'ABC'}) @patch('pathlib.Path.open') @patch('jinja2.Environment.get_template') def test_save(self, *args): """Test _save method.""" (mock_get_template, mock_open) = args tmpl = MagicMock() tmpl.render.return_value = 'content' mock_get_template.return_value = tmpl enter_openapi = MagicMock() mock_open.return_value.__enter__.return_value = enter_openapi self.open_api._save('context') tmpl.render.assert_called_with('context') enter_openapi.write.assert_called_with('content')