def test_throwExceptionWithoutParamWithCustomTimesTest(self): with self.assertRaises(IOError): try: GenericWait().wait(self.throw_error, self.test_retry, self.test_timeout, True) except Exception as e: raise e.message()
def test_throwExceptionWithParamWithCustomTimesTest(self): with self.assertRaises(IOError): try: GenericWait().wait(self.throw_error, self.test_retry, self.test_timeout, True, "Anything") except Exception as e: raise e.getCause()
def throwExceptionWithParamTest(self): with self.assertRaises(RuntimeError): try: GenericWait().wait_for_true(self.throw_error, self.main_test_string) except Exception as e: raise e.message
def test_failStringUntilTest(self): try: self.assertFalse( GenericWait().wait_until(self.is_param_test_String("Bad")), "Failed single parameter test") except Exception as e: self.fail("waitUntil failed with exception" + e)
def test_passNoParamUntilTest(self): # have to use an array because the iterator needs to be mutable loop = [0] try: self.assertTrue(GenericWait().wait_until(loop[0] > 3), "Failed no parameter test") except Exception as e: self.fail("waitUntil no parameter test failed with exception", e.args)
def test_waitUntilMatch(self): try: loop = [""] self.assertEquals(GenericWait().wait_until_match( (lambda x: loop.insert(0, "a"), loop.insert(0, "aaa")), "aaa")) except InterruptedError as e: self.fail("waitUntil threw unexpected exception", e)
def test_waitForMatchDefinedRetryPass(self): try: test_loop = [""] GenericWait().wait_for_match(lambda x: test_loop.insert(0, "a"), "aaa", self.test_retry, self.test_timeout) except Exception as e: self.fail("waitFor threw unexpected exception" + e)
def test_passObjectArrayForTest(self): objects = ["one", {}] # objects.add(new HashMap<Integer, UUID>()); try: GenericWait().wait_for(self.is_two_parameters, objects) except Exception as e: self.fail("waitFor generic object test failed with exception" + e)
def test_passObjectArrayUntilTest(self): objects = ["one", {}] # objects.add(new HashMap<Integer, UUID>()); try: self.assertTrue(GenericWait().wait_until(self.is_two_parameters, objects), "Failed parameter array test") except Exception as e: self.fail("waitUntil generic object test failed with exception", e)
def test_waitUntilMatchTimeout(self): try: loop = ["aa"] self.assertEquals( GenericWait().wait_until_match(lambda x: loop.insert(0, ""), "bb", self.test_retry, self.test_timeout), "aa") except InterruptedError as e: self.fail("waitUntil threw unexpected exception", e)
def test_failObjectArrayUntilTest(self): objects = [] try: self.assertFalse( GenericWait().wait_until(self.is_two_parameters(objects), objects), "Failed parameter array test") except Exception as e: self.fail("waitUntil failed with exception" + e)
def test_customTimeoutWithParamTest(self): try: max_time = timedelta(self.test_timeout) + timedelta(self.test_retry) + timedelta(self.test_retry) start = datetime.now() GenericWait().wait(self.is_param_test, self.test_retry, self.test_timeout, False, "bad") duration = datetime.now() - timedelta(start) self.assertTrue(duration < max_time, "The max wait time should be no more than " + max_time + " but was " + duration) except TimeoutError as e: self.fail("wait threw unexpected exception: " + e.message)
def test_waitUntilMatchNeverMatch(self): # TODO: make sure test is set up properly try: loop = ["aa"] loop.insert(0 , "") loop.insert(0, "bb") # self.assertEquals(GenericWait().wait_until_match((lambda x: loop.insert(0, "") and loop.insert(0, "bb")), "aa")) self.assertEquals(GenericWait().wait_until_match((lambda x: loop.insert(0, "") and loop.insert(0, "bb")), "aa")) except InterruptedError as e: self.fail("waitUntil threw unexpected exception", e)
def test_customTimeoutWithoutParamTest(self): try: max_time = int(self.test_timeout) + int(self.test_retry) + int(self.test_retry) start = datetime.now() GenericWait().wait(self.is_param_test, self.test_retry, self.test_timeout, False) duration = datetime.now() - start self.assertTrue(duration < datetime.fromtimestamp(max_time), "The max wait time should be no more than " + max_time + " but was " + duration) except Exception as e: self.fail("wait threw unexpected exception", e)
def test_customTimeoutWithParamTest(self): try: max_time = int(self.test_timeout) + int(self.test_retry) + int( self.test_retry) start_time = datetime.now() GenericWait().wait(self.is_param_test, self.test_retry, self.test_timeout, "bad") duration = (datetime.now() - start_time).total_seconds() self.assertTrue( duration < max_time, "The max wait time should be no more than " + str(max_time) + " but was " + str(duration)) except TimeoutError as e: self.fail("wait threw unexpected exception: " + e.message)
def test_throwExceptionWithoutParamTest(self): with self.assertRaises(NotImplementedError): try: GenericWait().wait_for_true(self.throw_error) except Exception as e: raise e.args()
def throwTimeoutExceptionWithParamTest(self): with self.assertRaises(TimeoutError): GenericWait().wait_for_true(self.is_two_parameters, ([]))
def throwTimeoutExceptionWithoutParamTest(self): with self.assertRaises(TimeoutError): GenericWait().wait_for_true(self.is_param_test)
def test_waitForTruePasses(self): try: GenericWait().wait_for_true(bool(2 == 2)) except Exception as e: self.fail("waitForTrue threw unexpected exception" + e)
def test_waitForMatchDefinedRetryTimeout(self): with self.assertRaises(TimeoutError): test_loop = ["a"] GenericWait().wait_for_match(lambda x: test_loop.insert(0, "a"), "bb", self.test_retry, self.test_timeout)
def test_waitForTest(self): try: self.assertFalse(GenericWait().wait_for(self.is_param_test())) except Exception as e: self.fail("waitFor threw unexpected exception" + e)
def test_waitForMatchTimeoutException(self): with self.assertRaises(TimeoutError): loop = ["a"] GenericWait().wait_for_match(lambda x: loop.insert(0, "a"), "bb")
def test_waitForMatchPass(self): try: loop = [""] GenericWait().wait_for_match(lambda x: loop.insert(0, "a"), "aaa") except Exception as e: self.fail("waitFor threw unexpected exception" + e)
def test_waitForTruePassesWithParameters(self): try: GenericWait().wait_for_true(lambda c: 2 == c, 2) except Exception as e: self.fail("waitForTrue threw unexpected exception" + e)
def test_waitForFunctionWithInputExceptionThrown(self): GenericWait().wait(self.throw_error, self.test_retry, self.test_timeout, "input")