You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by av...@apache.org on 2017/04/11 18:52:41 UTC

incubator-ariatosca git commit: Refactor basetest and fixtures [Forced Update!]

Repository: incubator-ariatosca
Updated Branches:
  refs/heads/cli-tests bed33cd6b -> a80ffcf62 (forced update)


Refactor basetest and fixtures


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/a80ffcf6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/a80ffcf6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/a80ffcf6

Branch: refs/heads/cli-tests
Commit: a80ffcf62601eeca35bf86cf023cea175542c210
Parents: e1b682b
Author: Avia Efrat <av...@gigaspaces.com>
Authored: Tue Apr 11 18:48:42 2017 +0300
Committer: Avia Efrat <av...@gigaspaces.com>
Committed: Tue Apr 11 21:52:21 2017 +0300

----------------------------------------------------------------------
 tests/cli/base_test.py              | 11 +++--
 tests/cli/test_service_templates.py | 79 ++++++--------------------------
 tests/cli/utils.py                  | 43 +++++++++++++++++
 tests/conftest.py                   |  5 ++
 4 files changed, 70 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/a80ffcf6/tests/cli/base_test.py
----------------------------------------------------------------------
diff --git a/tests/cli/base_test.py b/tests/cli/base_test.py
index 783631b..430781a 100644
--- a/tests/cli/base_test.py
+++ b/tests/cli/base_test.py
@@ -1,11 +1,16 @@
 from StringIO import StringIO
 import logging
-#
+
 import runner
-from utils import setup_logger
+from utils import setup_logger, MockStorage
 import pytest
 
 
+@pytest.fixture()
+def mock_storage():
+    return MockStorage()
+
+
 @pytest.mark.usefixtures("redirect_logger")
 class TestCliBase(object):
 
@@ -54,5 +59,3 @@ def get_default_logger_config():
             'level': logger.level}
 
 _default_logger_config = get_default_logger_config()
-
-

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/a80ffcf6/tests/cli/test_service_templates.py
----------------------------------------------------------------------
diff --git a/tests/cli/test_service_templates.py b/tests/cli/test_service_templates.py
index d357fad..48ffa30 100644
--- a/tests/cli/test_service_templates.py
+++ b/tests/cli/test_service_templates.py
@@ -4,87 +4,38 @@ from aria.cli.exceptions import AriaCliError
 from aria.core import Core
 from aria.exceptions import AriaException
 from aria.storage import exceptions as storage_exceptions
-from tests.cli.base_test import TestCliBase, assert_exception_raised, raise_exception
-from tests.mock import models
-
-import pytest
-
-
-@pytest.fixture
-def mock_object(mocker):
-    return mocker.MagicMock()
-
-
-class MockStorage(object):
-
-    def __init__(self):
-        self.service_template = MockServiceTemplateStorage
-
-
-class MockServiceTemplateStorage(object):
-
-    @staticmethod
-    def list(**_):
-        return [models.create_service_template('test_st'),
-                models.create_service_template('test_st2')]
-
-    @staticmethod
-    def get(id):
-        st = models.create_service_template('test_st')
-        if id == '1':  # no services and no description.
-            st.services = []
-        if id == '2':  # no services, but an description
-            st.description = 'test_description'
-            st.services = []
-        if id == '3':  # one service, and a description
-            service = models.create_service(st, 'test_s')
-            st.description = 'test_description'
-            st.services = [service]
-        if id == '4':  # one service, and a description
-            service = models.create_service(st, 'test_s')
-            st.services = [service]
-        return st
-
-    @staticmethod
-    def get_by_name(name):
-        st = models.create_service_template('test_st')
-        if name == 'with_inputs':
-            input = models.create_input(name='input1', value='value1')
-            st.inputs = {'input1': input}
-        if name == 'without_inputs':
-            st.inputs = {}
-        return st
+from tests.cli.base_test import TestCliBase, assert_exception_raised, raise_exception, mock_storage
 
 
 class TestServiceTemplatesShow(TestCliBase):
 
-    def test_show_no_services_no_description(self, monkeypatch):
+    def test_show_no_services_no_description(self, monkeypatch, mock_storage):
 
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates show 1')
 
         assert 'Description:' not in self.logger_output_string
         assert 'Existing services:\n[]' in self.logger_output_string
 
-    def test_show_no_services_yes_description(self, monkeypatch):
+    def test_show_no_services_yes_description(self, monkeypatch, mock_storage):
 
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates show 2')
 
         assert 'Description:\ntest_description' in self.logger_output_string
         assert 'Existing services:\n[]' in self.logger_output_string
 
-    def test_show_one_service_yes_description(self, monkeypatch):
+    def test_show_one_service_yes_description(self, monkeypatch, mock_storage):
 
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates show 3')
 
         assert 'Description:\ntest_description' in self.logger_output_string
         assert "Existing services:\n['test_s']" in self.logger_output_string
 
-    def test_show_one_service_no_description(self, monkeypatch):
+    def test_show_one_service_no_description(self, monkeypatch, mock_storage):
 
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates show 4')
 
         assert 'Description:' not in self.logger_output_string
@@ -102,9 +53,9 @@ class TestServiceTemplatesShow(TestCliBase):
 
 class TestServiceTemplatesList(TestCliBase):
 
-    def test_list_one_service_template(self, monkeypatch):
+    def test_list_one_service_template(self, monkeypatch, mock_storage):
 
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates list')
         assert 'test_st' in self.logger_output_string
         assert 'test_st2' in self.logger_output_string
@@ -187,13 +138,13 @@ class TestServiceTemplatesDelete(TestCliBase):
 
 class TestServiceTemplatesInputs(TestCliBase):
 
-    def test_inputs_existing_inputs(self, monkeypatch):
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+    def test_inputs_existing_inputs(self, monkeypatch, mock_storage):
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates inputs with_inputs')
         assert 'input1' in self.logger_output_string and 'value1' in self.logger_output_string
 
-    def test_inputs_no_inputs(self, monkeypatch):
-        monkeypatch.setattr(Environment, 'model_storage', MockStorage())
+    def test_inputs_no_inputs(self, monkeypatch, mock_storage):
+        monkeypatch.setattr(Environment, 'model_storage', mock_storage)
         self.invoke('service_templates inputs without_inputs')
         assert 'No inputs' in self.logger_output_string
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/a80ffcf6/tests/cli/utils.py
----------------------------------------------------------------------
diff --git a/tests/cli/utils.py b/tests/cli/utils.py
index 7093e34..c046ed3 100644
--- a/tests/cli/utils.py
+++ b/tests/cli/utils.py
@@ -1,5 +1,7 @@
 import logging
 
+from tests.mock import models
+
 
 def setup_logger(logger_name,
                  level=logging.INFO,
@@ -38,3 +40,44 @@ def setup_logger(logger_name,
         logger.propagate = False
 
     return logger
+
+
+class MockStorage(object):
+
+    def __init__(self):
+        self.service_template = MockServiceTemplateStorage
+
+
+class MockServiceTemplateStorage(object):
+
+    @staticmethod
+    def list(**_):
+        return [models.create_service_template('test_st'),
+                models.create_service_template('test_st2')]
+
+    @staticmethod
+    def get(id):
+        st = models.create_service_template('test_st')
+        if id == '1':  # no services and no description.
+            st.services = []
+        if id == '2':  # no services, but an description
+            st.description = 'test_description'
+            st.services = []
+        if id == '3':  # one service, and a description
+            service = models.create_service(st, 'test_s')
+            st.description = 'test_description'
+            st.services = [service]
+        if id == '4':  # one service, and a description
+            service = models.create_service(st, 'test_s')
+            st.services = [service]
+        return st
+
+    @staticmethod
+    def get_by_name(name):
+        st = models.create_service_template('test_st')
+        if name == 'with_inputs':
+            input = models.create_input(name='input1', value='value1')
+            st.inputs = {'input1': input}
+        if name == 'without_inputs':
+            st.inputs = {}
+        return st
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/a80ffcf6/tests/conftest.py
----------------------------------------------------------------------
diff --git a/tests/conftest.py b/tests/conftest.py
index 312ee0b..8f2c273 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -40,3 +40,8 @@ def logging_handler_cleanup(request):
     def clear_logging_handlers():
         logging.getLogger(logger.TASK_LOGGER_NAME).handlers = []
     request.addfinalizer(clear_logging_handlers)
+
+
+@pytest.fixture
+def mock_object(mocker):
+    return mocker.MagicMock()