示例#1
0
 def wait_until_status(self, status, interval=1, timeout=60, **kwargs):
     status = [status] if not isinstance(status, (list, tuple)) else status
     poll_until(lambda: getattr(self.get(), 'status') in status,
                interval=interval,
                timeout=timeout,
                **kwargs)
     return self
示例#2
0
    def wait_for_job(self, interval=5, timeout=60, **kw):
        """Waits until node's job exists"""
        adjusted_timeout = timeout - seconds_since_date_string(self.created)

        poll_until(self.job_exists, interval=interval, timeout=adjusted_timeout, **kw)

        return self
示例#3
0
 def wait_until_count(self, count, interval=10, timeout=60, **kw):
     """Poll notifications page until it is populated with `count` number of notifications."""
     poll_until(lambda: getattr(self.get(), 'count') == count,
                interval=interval,
                timeout=timeout,
                **kw)
     return self
示例#4
0
    def wait_until_deleted(self):
        def _wait():
            try:
                self.get()
            except exc.NotFound:
                return True

        poll_until(_wait, interval=1, timeout=60)
示例#5
0
 def wait_until_completed(self, interval=5, timeout=60, **kwargs):
     start_time = datetime.utcnow()
     HasStatus.wait_until_status(self, self.completed_statuses, interval=interval, timeout=timeout, **kwargs)
     if not getattr(self, 'event_processing_finished', True):
         elapsed = datetime.utcnow() - start_time
         time_left = timeout - elapsed.total_seconds()
         poll_until(lambda: getattr(self.get(), 'event_processing_finished', True), interval=interval, timeout=time_left, **kwargs)
     return self
示例#6
0
 def wait_until_status(self, status, interval=1, timeout=60, **kwargs):
     status = [status] if not isinstance(status, (list, tuple)) else status
     try:
         poll_until(lambda: getattr(self.get(), 'status') in status, interval=interval, timeout=timeout, **kwargs)
     except WaitUntilTimeout:
         # This will raise a more informative error than just "WaitUntilTimeout" error
         self.assert_status(status)
     return self
示例#7
0
 def test_non_falsey_callback_value_is_returned(self, callback_value):
     with mock.patch('awxkit.utils.logged_sleep'):
         assert utils.poll_until(lambda: callback_value) == callback_value
示例#8
0
 def test_exc_raised_on_timeout(self):
     with mock.patch('awxkit.utils.logged_sleep'):
         with pytest.raises(exc.WaitUntilTimeout):
             utils.poll_until(lambda: False, timeout=0)
示例#9
0
 def test_callback_called_once_for_non_positive_timeout(self, timeout):
     with mock.patch('awxkit.utils.logged_sleep') as sleep:
         callback = RecordingCallback()
         utils.poll_until(callback, timeout=timeout)
         assert not sleep.called
         assert callback.call_count == 1