def test_wait_for_image_status_timeout(self): time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(1) self.client.show_image.return_value = ({'status': 'saving'}) self.assertRaises(exceptions.TimeoutException, waiters.wait_for_image_status, self.client, 'fake_image_id', 'active')
def test_wait_for_image_status_timeout(self): time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(1) self.client.show_image.return_value = ({'status': 'saving'}) self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_image_status, self.client, 'fake_image_id', 'active')
def test_wait_for_interface_detach_timeout(self): time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(1) self.client.list_interfaces.return_value = self._one_interface() self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_interface_detach, self.client, 'server_id', 'port_one')
def test_wait_for_interface_status_timeout(self): time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(1) self.client.show_interface.return_value = self._port_down() self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_interface_status, self.client, 'server_id', 'port_id', 'ACTIVE')
def test_call_until_true_when_f_never_returns_true(self, m_time, m_sleep): timeout = 42 # The value doesn't matter as we mock time.time() sleep = 60 # The value doesn't matter as we mock time.sleep() m_time.side_effect = utils.generate_timeout_series(timeout) self.assertEqual( False, test_utils.call_until_true(lambda: False, timeout, sleep) ) m_sleep.call_args_list = [mock.call(sleep)] * 2 m_time.call_args_list = [mock.call()] * 2
def test_call_until_true_when_f_returns_true_no_param( self, m_time, m_sleep): def set_value(bool_value=False): return bool_value timeout = 42 # The value doesn't matter as we mock time.time() sleep = 60 # The value doesn't matter as we mock time.sleep() m_time.side_effect = utils.generate_timeout_series(timeout) self.assertEqual(False, test_utils.call_until_true(set_value, timeout, sleep)) m_sleep.call_args_list = [mock.call(sleep)] * 2 m_time.call_args_list = [mock.call()] * 2
def test_wait_for_image_tasks_status_timeout(self): time_mock = self.patch('time.time') self.patch('time.time', side_effect=[0., 1.]) time_mock.side_effect = utils.generate_timeout_series(1) self.client.show_image_tasks.return_value = ({ 'tasks': [ {'status': 'success'}, {'status': 'processing'}]}) self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_image_tasks_status, self.client, 'fake_image_id', 'success')
def test_wait_for_image_copied_to_stores_timeout(self): time_mock = self.patch('time.time') self.patch('time.time', side_effect=[0., 1.]) time_mock.side_effect = utils.generate_timeout_series(1) self.client.show_image.return_value = ({ 'status': 'active', 'os_glance_importing_to_stores': 'processing', 'os_glance_failed_import': 'fake_os_glance_failed_import'}) self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_image_copied_to_stores, self.client, 'fake_image_id')
def test_wait_for_image_imported_to_stores_timeout(self): time_mock = self.patch('time.time') client = mock.MagicMock() client.build_timeout = 2 self.patch('time.time', side_effect=[0., 1., 2.]) time_mock.side_effect = utils.generate_timeout_series(1) client.show_image.return_value = ({ 'status': 'saving', 'stores': 'fake_store'}) self.assertRaises(lib_exc.TimeoutException, waiters.wait_for_image_imported_to_stores, client, 'fake_image_id', 'fake_store')
def test_wait_for_resource_deletion_not_deleted(self): self.patch('time.sleep') # Set timeout to be very quick to force exception faster timeout = 1 self.rest_client.build_timeout = timeout time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(timeout) self.assertRaises(exceptions.TimeoutException, self.rest_client.wait_for_resource_deletion, '1234') # time.time() should be called twice, first to start the timer # and then to compute the timedelta self.assertEqual(2, time_mock.call_count)
def test_wait_for_resource_deletion_not_deleted(self): self.patch('time.sleep') # Set timeout to be very quick to force exception faster timeout = 1 self.rest_client.build_timeout = timeout time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(timeout) self.assertRaises(exceptions.TimeoutException, self.rest_client.wait_for_resource_deletion, '1234') # time.time() should be called twice, first to start the timer # and then to compute the timedelta self.assertEqual(2, time_mock.call_count)
def test_wait_for_resource_deletion_not_deleted(self): self.patch('time.sleep') # Set timeout to be very quick to force exception faster timeout = 1 self.rest_client.build_timeout = timeout time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(timeout) self.assertRaises(exceptions.TimeoutException, self.rest_client.wait_for_resource_deletion, '1234') # time.time() should be called 4 times, # 1. Start timer # 2. End timer # 3 & 4. To generate timeout exception message self.assertEqual(4, time_mock.call_count)
def test_get_ssh_connection_timeout(self): c_mock, aa_mock, client_mock = self._set_ssh_connection_mocks() timeout = 2 time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(timeout + 1) c_mock.return_value = client_mock client_mock.connect.side_effect = [ socket.error, socket.error, socket.error, ] client = ssh.Client('localhost', 'root', timeout=timeout) # We need to mock LOG here because LOG.info() calls time.time() # in order to preprend a timestamp. with mock.patch.object(ssh, 'LOG'): self.assertRaises(exceptions.SSHTimeout, client._get_ssh_connection) # time.time() should be called twice, first to start the timer # and then to compute the timedelta self.assertEqual(2, time_mock.call_count)
def test_get_ssh_connection_timeout(self): c_mock, aa_mock, client_mock = self._set_ssh_connection_mocks() timeout = 2 time_mock = self.patch('time.time') time_mock.side_effect = utils.generate_timeout_series(timeout + 1) c_mock.return_value = client_mock client_mock.connect.side_effect = [ socket.error, socket.error, socket.error, ] client = ssh.Client('localhost', 'root', timeout=timeout) # We need to mock LOG here because LOG.info() calls time.time() # in order to preprend a timestamp. with mock.patch.object(ssh, 'LOG'): self.assertRaises(exceptions.SSHTimeout, client._get_ssh_connection) # time.time() should be called twice, first to start the timer # and then to compute the timedelta self.assertEqual(2, time_mock.call_count)