4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\HttpKernel\Tests\CacheWarmer;
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
17 class CacheWarmerAggregateTest extends TestCase
19 protected static $cacheDir;
21 public static function setUpBeforeClass()
23 self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir');
26 public static function tearDownAfterClass()
28 @unlink(self::$cacheDir);
31 public function testInjectWarmersUsingConstructor()
33 $warmer = $this->getCacheWarmerMock();
35 ->expects($this->once())
37 $aggregate = new CacheWarmerAggregate(array($warmer));
38 $aggregate->warmUp(self::$cacheDir);
41 public function testInjectWarmersUsingAdd()
43 $warmer = $this->getCacheWarmerMock();
45 ->expects($this->once())
47 $aggregate = new CacheWarmerAggregate();
48 $aggregate->add($warmer);
49 $aggregate->warmUp(self::$cacheDir);
52 public function testInjectWarmersUsingSetWarmers()
54 $warmer = $this->getCacheWarmerMock();
56 ->expects($this->once())
58 $aggregate = new CacheWarmerAggregate();
59 $aggregate->setWarmers(array($warmer));
60 $aggregate->warmUp(self::$cacheDir);
63 public function testWarmupDoesCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsEnabled()
65 $warmer = $this->getCacheWarmerMock();
67 ->expects($this->never())
68 ->method('isOptional');
70 ->expects($this->once())
73 $aggregate = new CacheWarmerAggregate(array($warmer));
74 $aggregate->enableOptionalWarmers();
75 $aggregate->warmUp(self::$cacheDir);
78 public function testWarmupDoesNotCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsNotEnabled()
80 $warmer = $this->getCacheWarmerMock();
82 ->expects($this->once())
83 ->method('isOptional')
84 ->will($this->returnValue(true));
86 ->expects($this->never())
89 $aggregate = new CacheWarmerAggregate(array($warmer));
90 $aggregate->warmUp(self::$cacheDir);
93 protected function getCacheWarmerMock()
95 $warmer = $this->getMockBuilder('Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface')
96 ->disableOriginalConstructor()