Source of file DoctrineCacheTest.php
Size: 7,730 Bytes - Last Modified: 2021-12-24T06:51:36+00:00
/var/www/docs.ssmods.com/process/src/tests/State/Backends/DoctrineCacheTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 | <?php namespace Heystack\Core\State\Backends; class DoctrineCacheTest extends \PHPUnit_Framework_TestCase { /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey */ public function testObjectCanBeConstructedWithValidArguments() { $keys = ['test']; $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch']) ->getMockForAbstractClass(); $cacheProviderMock ->expects($this->once()) ->method('fetch') ->will($this->returnValue($keys)); $m = new DoctrineCache($cacheProviderMock); $this->assertTrue( is_object($m) ); $this->assertAttributeEquals( $cacheProviderMock, 'cacheService', $m ); $this->assertAttributeEquals( '', 'prefix', $m ); $this->assertAttributeEquals( $keys, 'keys', $m ); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch']) ->getMockForAbstractClass(); $cacheProviderMock ->expects($this->once()) ->method('fetch') ->will($this->returnValue(null)); $m = new DoctrineCache($cacheProviderMock, 'test'); $this->assertTrue( is_object($m) ); $this->assertAttributeEquals( $cacheProviderMock, 'cacheService', $m ); $this->assertAttributeEquals( 'test', 'prefix', $m ); $this->assertAttributeEquals( [], 'keys', $m ); } /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey * @covers Heystack\Core\State\Backends\DoctrineCache::key */ public function testCanGet() { $sid = session_id(); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch']) ->getMockForAbstractClass();; $cacheProviderMock->expects($this->at(0)) ->method('fetch') ->with($sid . '_' . DoctrineCache::TRACKING_KEY) ->will($this->returnValue([])); $cacheProviderMock->expects($this->at(1)) ->method('fetch') ->with($sid . '_test') ->will($this->returnValue('yay')); $m = new DoctrineCache($cacheProviderMock); $this->assertEquals( 'yay', $m->getByKey('test') ); } /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey * @covers Heystack\Core\State\Backends\DoctrineCache::setByKey * @covers Heystack\Core\State\Backends\DoctrineCache::addKey * @covers Heystack\Core\State\Backends\DoctrineCache::key */ public function testCanSet() { $sid = session_id(); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch', 'save']) ->getMockForAbstractClass();; $cacheProviderMock ->expects($this->once()) ->method('fetch') ->with($sid . '_' . DoctrineCache::TRACKING_KEY) ->will($this->returnValue([])); $cacheProviderMock ->expects($this->at(1)) ->method('save') ->with($sid . '_test', 'test'); $cacheProviderMock ->expects($this->at(2)) ->method('save') ->with($sid . '_' . DoctrineCache::TRACKING_KEY, ['test' => 'test']); $m = new DoctrineCache($cacheProviderMock); $m->setByKey('test', 'test'); $this->assertAttributeEquals( ['test' => 'test'], 'keys', $m ); } /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey * @covers Heystack\Core\State\Backends\DoctrineCache::removeByKey * @covers Heystack\Core\State\Backends\DoctrineCache::key */ public function testCanRemove() { $sid = session_id(); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch', 'delete']) ->getMockForAbstractClass();; $cacheProviderMock->expects($this->once()) ->method('fetch') ->with($sid . '_' . DoctrineCache::TRACKING_KEY) ->will($this->returnValue([])); $cacheProviderMock->expects($this->once()) ->method('delete') ->with($sid . '_test'); $m = new DoctrineCache($cacheProviderMock); $m->removeByKey('test'); } /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::removeAll * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey * @covers Heystack\Core\State\Backends\DoctrineCache::removeByKey * @covers Heystack\Core\State\Backends\DoctrineCache::key */ public function testCanRemoveAll() { $sid = session_id(); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch', 'delete']) ->getMockForAbstractClass();; $cacheProviderMock->expects($this->once()) ->method('fetch') ->with($sid . '_' . DoctrineCache::TRACKING_KEY) ->will($this->returnValue(['test', 'test2'])); $cacheProviderMock->expects($this->at(1)) ->method('delete') ->with($sid . '_test'); $cacheProviderMock->expects($this->at(2)) ->method('delete') ->with($sid . '_test2'); $m = new DoctrineCache($cacheProviderMock); $m->removeAll(); } /** * @covers Heystack\Core\State\Backends\DoctrineCache::__construct * @covers Heystack\Core\State\Backends\DoctrineCache::removeAll * @covers Heystack\Core\State\Backends\DoctrineCache::getKeys * @covers Heystack\Core\State\Backends\DoctrineCache::getByKey * @covers Heystack\Core\State\Backends\DoctrineCache::removeByKey * @covers Heystack\Core\State\Backends\DoctrineCache::key */ public function testCanRemoveAllWithExcludes() { $sid = session_id(); $cacheProviderMock = $this->getMockBuilder('Doctrine\Common\Cache\CacheProvider') ->setMethods(['fetch', 'delete']) ->getMockForAbstractClass();; $cacheProviderMock->expects($this->once()) ->method('fetch') ->with($sid . '_' . DoctrineCache::TRACKING_KEY) ->will($this->returnValue(['test', 'test2'])); $cacheProviderMock->expects($this->at(1)) ->method('delete') ->with($sid . '_test2'); $m = new DoctrineCache($cacheProviderMock); $m->removeAll(['test']); } } |