public function AkamaiTagPurgerTest::testPurgeCreationEvent in Akamai 8.3
Tests purge creation event dispatch.
File
- tests/
src/ Unit/ Plugin/ Purge/ Purger/ AkamaiTagPurgerTest.php, line 23
Class
- AkamaiTagPurgerTest
- @coversDefaultClass \Drupal\akamai\Plugin\Purge\Purger\AkamaiTagPurger
Namespace
Drupal\Tests\akamai\Unit\Plugin\Purge\PurgerCode
public function testPurgeCreationEvent() {
$purger = $this
->getMockBuilder('Drupal\\akamai\\Plugin\\Purge\\Purger\\AkamaiTagPurger')
->disableOriginalConstructor()
->setMethods(NULL)
->getMock();
$formatter = new CacheTagFormatter();
$container = new ContainerBuilder();
$container
->set('akamai.helper.cachetagformatter', $formatter);
\Drupal::setContainer($container);
$client = $this
->getMockBuilder('Drupal\\akamai\\Plugin\\Client\\AkamaiClientV3')
->disableOriginalConstructor()
->setMethods([
'setType',
'purgeTags',
])
->getMock();
$reflection = new \ReflectionClass($purger);
$reflection_property = $reflection
->getProperty('client');
$reflection_property
->setAccessible(TRUE);
$reflection_property
->setValue($purger, $client);
// Setup the mock event subscriber.
$subscriber = new MockSubscriber();
$event_dispatcher = new EventDispatcher();
$event_dispatcher
->addListener(AkamaiPurgeEvents::PURGE_CREATION, [
$subscriber,
'onPurgeCreation',
]);
$reflection_property = $reflection
->getProperty('eventDispatcher');
$reflection_property
->setAccessible(TRUE);
$reflection_property
->setValue($purger, $event_dispatcher);
// Create stub for response class.
$invalidation_1 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_1
->method('getExpression')
->willReturn('foo');
// Create duplicate stub for response class.
$invalidation_2 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_2
->method('getExpression')
->willReturn('foo');
// Create third stub for response class.
$invalidation_3 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_3
->method('getExpression')
->willReturn('bar');
// Create string numeric stubs for response class.
$invalidation_4 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_4
->method('getExpression')
->willReturn('123');
$invalidation_5 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_5
->method('getExpression')
->willReturn('234');
// Create integer stubs for response class.
$invalidation_6 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_6
->method('getExpression')
->willReturn(123);
$invalidation_7 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_7
->method('getExpression')
->willReturn(456);
// Create float stub for response class.
$invalidation_8 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_8
->method('getExpression')
->willReturn(1.01);
// Create boolean stub for response class.
$invalidation_9 = $this
->getMockBuilder('Drupal\\purge\\Plugin\\Purge\\Invalidation\\TagInvalidation')
->disableOriginalConstructor()
->getMock();
$invalidation_9
->method('getExpression')
->willReturn(TRUE);
$purger
->invalidate([
$invalidation_1,
$invalidation_2,
$invalidation_3,
$invalidation_4,
$invalidation_5,
$invalidation_6,
$invalidation_7,
$invalidation_8,
$invalidation_9,
]);
$this
->assertSame([
'foo',
'bar',
'123',
'234',
'456',
'1.01',
'1',
'on_purge_creation',
], $subscriber->event->data);
}