Completed
Push — master ( e0017c...6b1304 )
by Tom
14s queued 11s
created

Cache/LaminasStorageCacheTest.php (5 issues)

calls to non-existent methods.

Bug Major

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
declare(strict_types=1);
4
5
namespace DoctrineModuleTest\Cache;
6
7
use ArrayObject;
8
use Doctrine\Common\Cache\Cache;
9
use DoctrineModule\Cache\LaminasStorageCache;
10
use Laminas\Cache\Storage\Adapter\Memory;
11
use PHPUnit\Framework\TestCase;
12
13
/**
14
 * Tests for the cache bridge
15
 *
16
 * @link    http://www.doctrine-project.org/
17
 */
18
class LaminasStorageCacheTest extends TestCase
19
{
20
    protected function getCacheDriver() : LaminasStorageCache
21
    {
22
        return new LaminasStorageCache(new Memory());
23
    }
24
25
    public function testBasics() : void
26
    {
27
        $cache = $this->getCacheDriver();
28
29
        // Test save
30
        $cache->save('test_key', 'testing this out');
31
32
        // Test contains to test that save() worked
33
        $this->assertTrue($cache->contains('test_key'));
34
35
        // Test fetch
36
        $this->assertEquals('testing this out', $cache->fetch('test_key'));
37
38
        // Test delete
39
        $cache->save('test_key2', 'test2');
40
        $cache->delete('test_key2');
41
        $this->assertFalse($cache->contains('test_key2'));
0 ignored issues
show
The method assertFalse() does not seem to exist on object<DoctrineModuleTes...aminasStorageCacheTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
42
43
        // Fetch/save test with objects (Is cache driver serializes/unserializes objects correctly ?)
44
        $cache->save('test_object_key', new ArrayObject());
45
        $this->assertInstanceOf('ArrayObject', $cache->fetch('test_object_key'));
46
    }
47
48
    public function testDeleteAll() : void
49
    {
50
        $cache = $this->getCacheDriver();
51
        $cache->save('test_key1', '1');
52
        $cache->save('test_key2', '2');
53
        $cache->deleteAll();
54
55
        $this->assertFalse($cache->contains('test_key1'));
0 ignored issues
show
The method assertFalse() does not seem to exist on object<DoctrineModuleTes...aminasStorageCacheTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
56
        $this->assertFalse($cache->contains('test_key2'));
0 ignored issues
show
The method assertFalse() does not seem to exist on object<DoctrineModuleTes...aminasStorageCacheTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
57
    }
58
59
    public function testFlushAll() : void
60
    {
61
        $cache = $this->getCacheDriver();
62
        $cache->save('test_key1', '1');
63
        $cache->save('test_key2', '2');
64
        $cache->flushAll();
65
66
        $this->assertFalse($cache->contains('test_key1'));
0 ignored issues
show
The method assertFalse() does not seem to exist on object<DoctrineModuleTes...aminasStorageCacheTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
67
        $this->assertFalse($cache->contains('test_key2'));
0 ignored issues
show
The method assertFalse() does not seem to exist on object<DoctrineModuleTes...aminasStorageCacheTest>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
68
    }
69
70
    public function testNamespace() : void
71
    {
72
        $cache = $this->getCacheDriver();
73
        $cache->setNamespace('test_');
74
        $cache->save('key1', 'test');
75
76
        $this->assertTrue($cache->contains('key1'));
77
78
        $cache->setNamespace('test2_');
79
80
        $this->assertFalse($cache->contains('key1'));
81
    }
82
83
    public function testGetStats() : void
84
    {
85
        $cache = $this->getCacheDriver();
86
        $stats = $cache->getStats();
87
88
        $this->assertArrayHasKey(Cache::STATS_HITS, $stats);
89
        $this->assertArrayHasKey(Cache::STATS_MISSES, $stats);
90
        $this->assertArrayHasKey(Cache::STATS_UPTIME, $stats);
91
        $this->assertArrayHasKey(Cache::STATS_MEMORY_USAGE, $stats);
92
        $this->assertArrayHasKey(Cache::STATS_MEMORY_AVAILIABLE, $stats);
93
    }
94
}
95