File: SqlBagOStuffMultiPrimaryIntegrationTest.php

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (34 lines) | stat: -rw-r--r-- 884 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

/**
 * @group BagOStuff
 * @group Database
 * @covers \SqlBagOStuff
 */
class SqlBagOStuffMultiPrimaryIntegrationTest extends BagOStuffTestBase {
	protected function newCacheInstance() {
		return $this->getServiceContainer()->getObjectCacheFactory()->newFromParams( [
			'class' => SqlBagOStuff::class,
			'loggroup' => 'SQLBagOStuff',
			'multiPrimaryMode' => true,
			'purgePeriod' => 0,
			'reportDupes' => false
		] );
	}

	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' ) );
	}
}