Exemple #1
0
    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')
Exemple #2
0
    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')
Exemple #3
0
    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')
Exemple #4
0
    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')
Exemple #5
0
 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
Exemple #6
0
    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
Exemple #7
0
    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')
Exemple #8
0
    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')
Exemple #9
0
    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')
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
    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)
Exemple #13
0
    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)
Exemple #14
0
    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)