2022-03-24 23:10:07 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @group BagOStuff
|
|
|
|
|
* @group Database
|
|
|
|
|
* @covers SqlBagOStuff
|
|
|
|
|
*/
|
2022-04-14 16:57:57 +00:00
|
|
|
class SqlBagOStuffMultiPrimaryIntegrationTest extends BagOStuffTestBase {
|
2022-03-24 23:10:07 +00:00
|
|
|
protected function newCacheInstance() {
|
|
|
|
|
return ObjectCache::newFromParams( [
|
|
|
|
|
'class' => SqlBagOStuff::class,
|
|
|
|
|
'loggroup' => 'SQLBagOStuff',
|
|
|
|
|
'multiPrimaryMode' => true,
|
|
|
|
|
'purgePeriod' => 0,
|
|
|
|
|
'reportDupes' => false
|
|
|
|
|
] );
|
|
|
|
|
}
|
2022-08-17 03:24:41 +00:00
|
|
|
|
|
|
|
|
public function testModtoken() {
|
|
|
|
|
$now = self::TEST_TIME;
|
|
|
|
|
$this->cache->setMockTime( $now );
|
|
|
|
|
$this->cache->set( 'test', 'a' );
|
|
|
|
|
$this->assertSame( 'a', $this->cache->get( 'test' ) );
|
|
|
|
|
|
|
|
|
|
$now--;
|
|
|
|
|
// Modtoken comparison makes this a no-op
|
|
|
|
|
$this->cache->set( 'test', 'b' );
|
|
|
|
|
$this->assertSame( 'a', $this->cache->get( 'test' ) );
|
|
|
|
|
|
|
|
|
|
$now += 2;
|
|
|
|
|
$this->cache->set( 'test', 'c' );
|
|
|
|
|
$this->assertSame( 'c', $this->cache->get( 'test' ) );
|
|
|
|
|
}
|
2022-03-24 23:10:07 +00:00
|
|
|
}
|