/** * Function to check if the temp Password functionality is working correctly. */ public function testTempPassword() { $currentTime = time("SYS"); AdvancedPasswordManagement::$tempPassExpiryTime = 900; $temp_pass = AdvancedPasswordManagement::tempPassword($this->user->getUserID()); //this will create a new temp password. //firstTest time("SET", $currentTime + 500); //set future time that has not passed. $this->assertFalse(AdvancedPasswordManagement::tempPassword($this->user->getUserID(), "qwert")); //This should return false since the password is wrong. Even though time has not expired. //secondTest time("SET", $currentTime + 500); $this->assertTrue(AdvancedPasswordManagement::tempPassword($this->user->getUserID(), $temp_pass)); //This should return true since the password is correct and time has not expired. //thirdTest time("SET", $currentTime + 500); $this->assertFalse(AdvancedPasswordManagement::tempPassword($this->user->getUserID(), $temp_pass)); //This should return false since the above temp_pass has already been used once, so its expired. $temp_pass = AdvancedPasswordManagement::tempPassword($this->user->getUserID()); //this will create a new temp password. //fourthTest time("SET", time() + 1000); $this->assertFalse(AdvancedPasswordManagement::tempPassword($this->user->getUserID(), $temp_pass)); //This should return false since the time has expired. }