aboutsummaryrefslogtreecommitdiffstats
path: root/app/test/fetch/test_fetch.py
diff options
context:
space:
mode:
authorIlia Abashin <abashinos@gmail.com>2017-08-23 12:56:18 +0300
committerIlia Abashin <abashinos@gmail.com>2017-08-23 13:17:07 +0300
commit13767be99f8815395be01edc5c97735cdc66590b (patch)
treebbfd7c2176344f1b8f6bc83f5e92f0e91cfaab79 /app/test/fetch/test_fetch.py
parent6519f3a2723827b7785fd13690b4c53b28eb325d (diff)
Refactored api fetch tests to use mocked requests
Also fixed some mocking logic Change-Id: I826fc1c03af1244cf10d9edee37c7c8f732c3602 Signed-off-by: Ilia Abashin <abashinos@gmail.com>
Diffstat (limited to 'app/test/fetch/test_fetch.py')
-rw-r--r--app/test/fetch/test_fetch.py33
1 files changed, 32 insertions, 1 deletions
diff --git a/app/test/fetch/test_fetch.py b/app/test/fetch/test_fetch.py
index b9fd3f1..e446ee5 100644
--- a/app/test/fetch/test_fetch.py
+++ b/app/test/fetch/test_fetch.py
@@ -11,10 +11,11 @@ import unittest
from discover.configuration import Configuration
from discover.fetchers.db.db_access import DbAccess
+from test.fetch.api_fetch.test_data.api_access import CORRECT_AUTH_CONTENT
from test.fetch.config.test_config import MONGODB_CONFIG, ENV_CONFIG, COLLECTION_CONFIG
from test.fetch.api_fetch.test_data.regions import REGIONS
from test.fetch.api_fetch.test_data.configurations import CONFIGURATIONS
-from unittest.mock import MagicMock
+from unittest.mock import MagicMock, patch, Mock
from utils.inventory_mgr import InventoryMgr
from utils.mongo_access import MongoAccess
from utils.ssh_connection import SshConnection
@@ -23,6 +24,23 @@ from utils.ssh_conn import SshConn
class TestFetch(unittest.TestCase):
+ def setUp(self):
+ self._mongo_connect = MongoAccess.mongo_connect
+ self._mongo_db = MongoAccess.db
+ self._db_access_conn = DbAccess.conn
+ self._ssh_connect = SshConnection.connect
+ self._ssh_conn_check_defs = SshConnection.check_definitions
+ self._ssh_check_defs = SshConn.check_definitions
+
+ self.req_patcher = patch("discover.fetchers.api.api_access.requests")
+ self.requests = self.req_patcher.start()
+ self.response = MagicMock()
+ self.response.codes.ok = 200
+ self.response.json = Mock(return_value=CORRECT_AUTH_CONTENT)
+ self.response.status_code = self.requests.codes.ok
+ self.requests.get.return_value = self.response
+ self.requests.post.return_value = self.response
+
def configure_environment(self):
self.env = ENV_CONFIG
self.inventory_collection = COLLECTION_CONFIG
@@ -43,4 +61,17 @@ class TestFetch(unittest.TestCase):
SshConn.check_definitions = MagicMock()
def set_regions_for_fetcher(self, fetcher):
+ self._regions = fetcher.regions
fetcher.regions = REGIONS
+
+ def reset_regions_for_fetcher(self, fetcher):
+ fetcher.regions = self._regions
+
+ def tearDown(self):
+ MongoAccess.mongo_connect = self._mongo_connect
+ MongoAccess.db = self._mongo_db
+ DbAccess.conn = self._db_access_conn
+ SshConnection.connect = self._ssh_connect
+ SshConnection.check_definitions = self._ssh_conn_check_defs
+ SshConn.check_definitions = self._ssh_check_defs
+ self.req_patcher.stop() \ No newline at end of file