aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>2018-09-04 23:23:31 +0530
committerVenkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>2018-09-17 14:27:32 +0000
commit0d39b466bf9530b1bc1c814b7b0db4ab287bf0f5 (patch)
tree3ba87ce5809e1c576532a24b60bbfbc747cc7e3f
parent0ed4e451447fb62b642a5b72430dacc216942216 (diff)
Refactor unit tests in 'test_test_utils.py'
JIRA: SFC-126 JIRA: SFC-129 Some of the unit tests I wrote earlier needs to be separated into individual unit tests, which Mr Dimitrios has mentioned in one of my previous commits. Unit tests are supposed to be independent & should only test one test case at a time. This patch fixes them. Change-Id: I1ccecf049645fe4996d8b4fa5425d485727e1ae0 Signed-off-by: Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>
-rw-r--r--sfc/unit_tests/unit/lib/test_test_utils.py67
1 files changed, 41 insertions, 26 deletions
diff --git a/sfc/unit_tests/unit/lib/test_test_utils.py b/sfc/unit_tests/unit/lib/test_test_utils.py
index f973b094..f26f8df9 100644
--- a/sfc/unit_tests/unit/lib/test_test_utils.py
+++ b/sfc/unit_tests/unit/lib/test_test_utils.py
@@ -191,46 +191,61 @@ class SfcTestUtilsTesting(unittest.TestCase):
@patch('time.sleep', autospec=True)
@patch('sfc.lib.test_utils.logger', autospec=True)
@patch('sfc.lib.test_utils.run_cmd_remote', autospec=True)
- def test_start_http_server_returned_false(self,
- mock_run_cmd_remote,
- mock_log,
- mock_sleep):
+ def test_start_http_server_returned_false_failed_to_start(
+ self, mock_run_cmd_remote, mock_log, mock_sleep):
"""
Checks the proper functionality of start_http_server
- function when port 80 is down
+ function when http_server is failed to start
"""
cmd = "\'python -m SimpleHTTPServer 80 " + \
"> /dev/null 2>&1 &\'"
- sleep_calls = [[call(3)],
- [call(5)]]
+ rcr_calls = [call(self.ip, cmd),
+ call(self.ip, 'ps aux | grep SimpleHTTPServer')]
+ log_calls = [call('Failed to start http server')]
- rcr_calls = [[call(self.ip, cmd),
- call(self.ip, 'ps aux | grep SimpleHTTPServer')],
- [call(self.ip, 'netstat -pntl | grep :80')]]
+ mock_run_cmd_remote.side_effect = [('', '', ''),
+ ('', '', '')]
- log_calls = [[call('Failed to start http server')],
- [call('output')],
- [call('Port 80 is not up yet')]]
+ result = test_utils.start_http_server(self.ip, 1)
+ self.assertFalse(result)
+ mock_run_cmd_remote.assert_has_calls(rcr_calls)
+ mock_sleep.assert_called_once_with(3)
+ mock_log.error.assert_has_calls(log_calls)
+ mock_log.info.assert_not_called()
+ mock_log.debug.assert_not_called()
+
+ @patch('time.sleep', autospec=True)
+ @patch('sfc.lib.test_utils.logger', autospec=True)
+ @patch('sfc.lib.test_utils.run_cmd_remote', autospec=True)
+ def test_start_http_server_returned_false_port_is_down(
+ self, mock_run_cmd_remote, mock_log, mock_sleep):
+ """
+ Checks the proper functionality of start_http_server
+ function when port 80 is down
+ """
+
+ cmd = "\'python -m SimpleHTTPServer 80 " + \
+ "> /dev/null 2>&1 &\'"
+
+ rcr_calls = [call(self.ip, cmd),
+ call(self.ip, 'ps aux | grep SimpleHTTPServer'),
+ call(self.ip, 'netstat -pntl | grep :80')]
+
+ log_calls = [call('output'),
+ call('Port 80 is not up yet')]
mock_run_cmd_remote.side_effect = [('', '', ''),
- ('', '', ''),
- ('', '', ''),
('', 'output', ''),
('', '', '')]
- self.assertFalse(test_utils.start_http_server(self.ip, 1))
- mock_run_cmd_remote.assert_has_calls(rcr_calls[0])
- mock_sleep.assert_has_calls(sleep_calls[0])
- mock_log.error.assert_has_calls(log_calls[0])
- mock_log.info.assert_not_called()
- mock_log.debug.assert_not_called()
- self.assertFalse(test_utils.start_http_server(self.ip, 1))
- mock_run_cmd_remote.assert_has_calls(rcr_calls[0] + rcr_calls[1])
- mock_sleep.assert_has_calls(sleep_calls[0] + sleep_calls[1])
- mock_log.info.assert_has_calls(log_calls[1])
- mock_log.debug.assert_has_calls(log_calls[2])
+ result = test_utils.start_http_server(self.ip, 1)
+ self.assertFalse(result)
+ mock_run_cmd_remote.assert_has_calls(rcr_calls)
+ mock_sleep.assert_called_with(5)
+ mock_log.info.assert_has_calls(log_calls[:1])
+ mock_log.debug.assert_has_calls(log_calls[1:])
@patch('time.sleep', autospec=True)
@patch('sfc.lib.test_utils.logger', autospec=True)