def test_waitfor_list(self): test_class = TestWaitFor(self.iterations) res = waitfor(test_class.res_func, expected_result=[SUCCESS, "BAZ"], interval_seconds=1, max_attempts=10) self.assertEqual(res, SUCCESS, "Failed to return success message") self.assertEqual(test_class.attempts, self.iterations, "Failed to iterate to expected number")
def test_waitfor_fail_attempts(self): test_class = TestWaitFor(self.iterations * 10) try: res = waitfor(test_class.res_func, expected_result=[SUCCESS, "BAZ"], interval_seconds=1, max_attempts=2) self.fail("Did not throw exception on timeout") except: pass
def test_waitfor_with_args(self): test_class = TestWaitFor(self.iterations) res = waitfor(test_class.res_func_args, expected_result=SUCCESS, interval_seconds=1, max_attempts=10, args={ "foo": "foo", "bar": "bar" }) self.assertEqual(res, SUCCESS, "Failed to return success message") self.assertEqual(test_class.attempts, self.iterations, "Failed to iterate to expected number")
def wait_for_export(self, fully_qualified_param_name): # we are seeing an issue where immediately after stack create the export values are not # immediately available value = waitfor( function_pointer=self.get_export_value, expected_result=None, interval_seconds=2, max_attempts=MAX_ATTEMPTS, negate=True, args={"fully_qualified_param_name": fully_qualified_param_name}, exception=False ) print_utility.info(f"[wait_for_export] {fully_qualified_param_name}={value}") return value