Check for expiry dates in a 10-second window

This changes a test of expiry dates to be a 10-second range,
to account for slow testing. For example, a test may start and
set the block's expiry in one second, but by the time it is
reading the value from that block's cookie it can sometimes be
the next second. Making it 10 seconds just gives it more room
for being slow.

Bug: T153527
Change-Id: I5efde7785134a75487d31ef3d8b7b14f53b7f5d0
This commit is contained in:
Sam Wilson 2016-12-20 20:13:56 +08:00
parent fbb1f74243
commit 9d8358e097

View file

@ -726,7 +726,15 @@ class UserTest extends MediaWikiTestCase {
$cookies = $request1->response()->getCookies(); $cookies = $request1->response()->getCookies();
// Calculate the expected cookie expiry date. // Calculate the expected cookie expiry date.
$this->assertArrayHasKey( 'wm_infinite_blockBlockID', $cookies ); $this->assertArrayHasKey( 'wm_infinite_blockBlockID', $cookies );
$this->assertEquals( time() + $cookieExpiration, $cookies['wm_infinite_blockBlockID']['expire'] ); // Check for expiry dates in a 10-second window, to account for slow testing.
$this->assertGreaterThan(
time() + $cookieExpiration - 5,
$cookies['wm_infinite_blockBlockID']['expire']
);
$this->assertLessThan(
time() + $cookieExpiration + 5,
$cookies['wm_infinite_blockBlockID']['expire']
);
// 3. Change the block's expiry (to 2 days), and the cookie's should be changed also. // 3. Change the block's expiry (to 2 days), and the cookie's should be changed also.
$newExpiry = time() + 2 * 24 * 60 * 60; $newExpiry = time() + 2 * 24 * 60 * 60;