CleanerKernelTests.php in Cleaner 8.2
File
tests/src/Kernel/CleanerKernelTests.php
View source
<?php
namespace Drupal\Tests\cleaner\Kernel;
use Drupal\cleaner\Event\CleanerRunEvent;
use Drupal\cleaner\EventSubscriber\CleanerCacheClearEventSubscriber;
use Drupal\cleaner\EventSubscriber\CleanerMysqlOptimizeEventSubscriber;
use Drupal\cleaner\EventSubscriber\CleanerSessionClearEventSubscriber;
use Drupal\cleaner\EventSubscriber\CleanerTablesClearEventSubscriber;
use Drupal\cleaner\EventSubscriber\CleanerWatchdogClearEventSubscriber;
use Drupal\KernelTests\KernelTestBase;
class CleanerKernelTests extends KernelTestBase {
public static $modules = [
'cleaner',
];
public function setUp() {
parent::setUp();
$this
->installConfig([
'cleaner',
]);
}
public function testInitialModuleConfig() {
$config = $this
->config('cleaner.settings');
$this
->assertEquals(0, $config
->get('cleaner_cron'));
$this
->assertEquals(0, $config
->get('cleaner_last_cron'));
$this
->assertEquals(FALSE, $config
->get('cleaner_clear_cache'));
$this
->assertEquals('', $config
->get('cleaner_additional_tables'));
$this
->assertEquals(FALSE, $config
->get('cleaner_empty_watchdog'));
$this
->assertEquals(FALSE, $config
->get('cleaner_clean_sessions'));
$this
->assertEquals(0, $config
->get('cleaner_optimize_db'));
}
public function testEventSubscribers() {
try {
$dispatcher = $this->container
->get('event_dispatcher');
$this
->assertTrue($dispatcher
->hasListeners(CleanerRunEvent::CLEANER_RUN));
$classes = array_map(function ($subscriber) {
return get_class($subscriber[0]);
}, $dispatcher
->getListeners(CleanerRunEvent::CLEANER_RUN));
$this
->assertContains(CleanerCacheClearEventSubscriber::class, $classes);
$this
->assertContains(CleanerMysqlOptimizeEventSubscriber::class, $classes);
$this
->assertContains(CleanerSessionClearEventSubscriber::class, $classes);
$this
->assertContains(CleanerTablesClearEventSubscriber::class, $classes);
$this
->assertContains(CleanerWatchdogClearEventSubscriber::class, $classes);
} catch (\Exception $e) {
$this
->fail($e
->getMessage());
}
}
public function testClearingCaches() {
try {
$this
->config('cleaner.settings')
->set('cleaner_clear_cache', TRUE)
->save();
$cache_backend = $this->container
->get('cache.default');
$cid = $this
->randomString();
$cache_backend
->set($cid, $this
->randomString());
CleanerCacheClearEventSubscriber::create($this->container)
->clearCaches();
$this
->assertFalse($cache_backend
->get($cid));
} catch (\Exception $e) {
$this
->fail($e
->getMessage());
}
}
}