diff options
author | Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in> | 2018-09-04 23:23:31 +0530 |
---|---|---|
committer | Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in> | 2018-09-17 14:27:32 +0000 |
commit | 0d39b466bf9530b1bc1c814b7b0db4ab287bf0f5 (patch) | |
tree | 3ba87ce5809e1c576532a24b60bbfbc747cc7e3f | |
parent | 0ed4e451447fb62b642a5b72430dacc216942216 (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.py | 67 |
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) |