]> git.mxchange.org Git - friendica.git/commitdiff
Rename CacheTest to CacheTestCase
authorArt4 <art4@wlabs.de>
Sun, 15 Dec 2024 21:06:49 +0000 (21:06 +0000)
committerArt4 <art4@wlabs.de>
Sun, 15 Dec 2024 21:06:49 +0000 (21:06 +0000)
tests/CacheTestCase.php [new file with mode: 0644]
tests/src/Core/Cache/CacheTest.php [deleted file]
tests/src/Core/Cache/DatabaseCacheTest.php
tests/src/Core/Cache/MemoryCacheTest.php

diff --git a/tests/CacheTestCase.php b/tests/CacheTestCase.php
new file mode 100644 (file)
index 0000000..c3db14b
--- /dev/null
@@ -0,0 +1,243 @@
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+namespace Friendica\Test;
+
+use Friendica\Core\Cache\Capability\ICanCache;
+use Friendica\Test\MockedTestCase;
+use Friendica\Util\PidFile;
+
+abstract class CacheTestCase extends MockedTestCase
+{
+       /**
+        * @var int Start time of the mock (used for time operations)
+        */
+       protected $startTime = 1417011228;
+
+       /**
+        * @var ICanCache
+        */
+       protected $instance;
+
+       /**
+        * @var \Friendica\Core\Cache\Capability\ICanCacheInMemory
+        */
+       protected $cache;
+
+       /**
+        * Dataset for test setting different types in the cache
+        *
+        * @return array
+        */
+       public function dataTypesInCache()
+       {
+               return [
+                       'string'    => ['data' => 'foobar'],
+                       'integer'   => ['data' => 1],
+                       'boolTrue'  => ['data' => true],
+                       'boolFalse' => ['data' => false],
+                       'float'     => ['data' => 4.6634234],
+                       'array'     => ['data' => ['1', '2', '3', '4', '5']],
+                       'object'    => ['data' => new PidFile()],
+                       'null'      => ['data' => null],
+               ];
+       }
+
+       /**
+        * Dataset for simple value sets/gets
+        *
+        * @return array
+        */
+       public function dataSimple()
+       {
+               return [
+                       'string' => [
+                               'value1' => 'foobar',
+                               'value2' => 'ipsum lorum',
+                               'value3' => 'test',
+                               'value4' => 'lasttest',
+                       ],
+               ];
+       }
+
+       abstract protected function getInstance();
+
+       protected function setUp(): void
+       {
+               parent::setUp();
+
+               $this->instance = $this->getInstance();
+
+               $this->instance->clear(false);
+       }
+
+       /**
+        * @small
+        * @dataProvider dataSimple
+        *
+        * @param mixed $value1 a first
+        * @param mixed $value2 a second
+        */
+       public function testSimple($value1, $value2)
+       {
+               self::assertNull($this->instance->get('value1'));
+
+               $this->instance->set('value1', $value1);
+               $received = $this->instance->get('value1');
+               self::assertEquals($value1, $received, 'Value received from cache not equal to the original');
+
+               $this->instance->set('value1', $value2);
+               $received = $this->instance->get('value1');
+               self::assertEquals($value2, $received, 'Value not overwritten by second set');
+
+               $this->instance->set('value2', $value1);
+               $received2 = $this->instance->get('value2');
+               self::assertEquals($value2, $received, 'Value changed while setting other variable');
+               self::assertEquals($value1, $received2, 'Second value not equal to original');
+
+               self::assertNull($this->instance->get('not_set'), 'Unset value not equal to null');
+
+               self::assertTrue($this->instance->delete('value1'));
+               self::assertNull($this->instance->get('value1'));
+       }
+
+       /**
+        * @small
+        * @dataProvider dataSimple
+        *
+        * @param mixed $value1 a first
+        * @param mixed $value2 a second
+        * @param mixed $value3 a third
+        * @param mixed $value4 a fourth
+        */
+       public function testClear($value1, $value2, $value3, $value4)
+       {
+               $this->instance->set('1_value1', $value1);
+               $this->instance->set('1_value2', $value2);
+               $this->instance->set('2_value1', $value3);
+               $this->instance->set('3_value1', $value4);
+
+               self::assertEquals([
+                       '1_value1' => $value1,
+                       '1_value2' => $value2,
+                       '2_value1' => $value3,
+                       '3_value1' => $value4,
+               ], [
+                       '1_value1' => $this->instance->get('1_value1'),
+                       '1_value2' => $this->instance->get('1_value2'),
+                       '2_value1' => $this->instance->get('2_value1'),
+                       '3_value1' => $this->instance->get('3_value1'),
+               ]);
+
+               self::assertTrue($this->instance->clear());
+
+               self::assertEquals([
+                       '1_value1' => $value1,
+                       '1_value2' => $value2,
+                       '2_value1' => $value3,
+                       '3_value1' => $value4,
+               ], [
+                       '1_value1' => $this->instance->get('1_value1'),
+                       '1_value2' => $this->instance->get('1_value2'),
+                       '2_value1' => $this->instance->get('2_value1'),
+                       '3_value1' => $this->instance->get('3_value1'),
+               ]);
+
+               self::assertTrue($this->instance->clear(false));
+
+               self::assertEquals([
+                       '1_value1' => null,
+                       '1_value2' => null,
+                       '2_value3' => null,
+                       '3_value4' => null,
+               ], [
+                       '1_value1' => $this->instance->get('1_value1'),
+                       '1_value2' => $this->instance->get('1_value2'),
+                       '2_value3' => $this->instance->get('2_value3'),
+                       '3_value4' => $this->instance->get('3_value4'),
+               ]);
+       }
+
+       /**
+        * @medium
+        */
+       public function testTTL()
+       {
+               static::markTestSkipped('taking too much time without mocking');
+
+               self::assertNull($this->instance->get('value1'));
+
+               $value = 'foobar';
+               $this->instance->set('value1', $value, 1);
+               $received = $this->instance->get('value1');
+               self::assertEquals($value, $received, 'Value received from cache not equal to the original');
+
+               sleep(2);
+
+               self::assertNull($this->instance->get('value1'));
+       }
+
+       /**
+        * @small
+        *
+        * @param mixed $data the data to store in the cache
+        *
+        * @dataProvider dataTypesInCache
+        */
+       public function testDifferentTypesInCache($data)
+       {
+               $this->instance->set('val', $data);
+               $received = $this->instance->get('val');
+               self::assertEquals($data, $received, 'Value type changed from ' . gettype($data) . ' to ' . gettype($received));
+       }
+
+       /**
+        * @small
+        *
+        * @param mixed $value1 a first
+        * @param mixed $value2 a second
+        * @param mixed $value3 a third
+        *
+        * @dataProvider dataSimple
+        */
+       public function testGetAllKeys($value1, $value2, $value3)
+       {
+               self::assertTrue($this->instance->set('value1', $value1));
+               self::assertTrue($this->instance->set('value2', $value2));
+               self::assertTrue($this->instance->set('test_value3', $value3));
+
+               $list = $this->instance->getAllKeys();
+
+               self::assertContains('value1', $list);
+               self::assertContains('value2', $list);
+               self::assertContains('test_value3', $list);
+
+               $list = $this->instance->getAllKeys('test');
+
+               self::assertContains('test_value3', $list);
+               self::assertNotContains('value1', $list);
+               self::assertNotContains('value2', $list);
+       }
+
+       /**
+        * @small
+        */
+       public function testSpaceInKey()
+       {
+               self::assertTrue($this->instance->set('key space', 'value'));
+               self::assertEquals('value', $this->instance->get('key space'));
+       }
+
+       public function testGetName()
+       {
+               if (defined(get_class($this->instance) . '::NAME')) {
+                       self::assertEquals($this->instance::NAME, $this->instance->getName());
+               } else {
+                       self::expectNotToPerformAssertions();
+               }
+       }
+}
diff --git a/tests/src/Core/Cache/CacheTest.php b/tests/src/Core/Cache/CacheTest.php
deleted file mode 100644 (file)
index 47c5a7c..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-<?php
-
-// Copyright (C) 2010-2024, the Friendica project
-// SPDX-FileCopyrightText: 2010-2024 the Friendica project
-//
-// SPDX-License-Identifier: AGPL-3.0-or-later
-
-namespace Friendica\Test\src\Core\Cache;
-
-use Friendica\Core\Cache\Capability\ICanCache;
-use Friendica\Test\MockedTestCase;
-use Friendica\Util\PidFile;
-
-abstract class CacheTest extends MockedTestCase
-{
-       /**
-        * @var int Start time of the mock (used for time operations)
-        */
-       protected $startTime = 1417011228;
-
-       /**
-        * @var ICanCache
-        */
-       protected $instance;
-
-       /**
-        * @var \Friendica\Core\Cache\Capability\ICanCacheInMemory
-        */
-       protected $cache;
-
-       /**
-        * Dataset for test setting different types in the cache
-        *
-        * @return array
-        */
-       public function dataTypesInCache()
-       {
-               return [
-                       'string'    => ['data' => 'foobar'],
-                       'integer'   => ['data' => 1],
-                       'boolTrue'  => ['data' => true],
-                       'boolFalse' => ['data' => false],
-                       'float'     => ['data' => 4.6634234],
-                       'array'     => ['data' => ['1', '2', '3', '4', '5']],
-                       'object'    => ['data' => new PidFile()],
-                       'null'      => ['data' => null],
-               ];
-       }
-
-       /**
-        * Dataset for simple value sets/gets
-        *
-        * @return array
-        */
-       public function dataSimple()
-       {
-               return [
-                       'string' => [
-                               'value1' => 'foobar',
-                               'value2' => 'ipsum lorum',
-                               'value3' => 'test',
-                               'value4' => 'lasttest',
-                       ],
-               ];
-       }
-
-       abstract protected function getInstance();
-
-       protected function setUp(): void
-       {
-               parent::setUp();
-
-               $this->instance = $this->getInstance();
-
-               $this->instance->clear(false);
-       }
-
-       /**
-        * @small
-        * @dataProvider dataSimple
-        *
-        * @param mixed $value1 a first
-        * @param mixed $value2 a second
-        */
-       public function testSimple($value1, $value2)
-       {
-               self::assertNull($this->instance->get('value1'));
-
-               $this->instance->set('value1', $value1);
-               $received = $this->instance->get('value1');
-               self::assertEquals($value1, $received, 'Value received from cache not equal to the original');
-
-               $this->instance->set('value1', $value2);
-               $received = $this->instance->get('value1');
-               self::assertEquals($value2, $received, 'Value not overwritten by second set');
-
-               $this->instance->set('value2', $value1);
-               $received2 = $this->instance->get('value2');
-               self::assertEquals($value2, $received, 'Value changed while setting other variable');
-               self::assertEquals($value1, $received2, 'Second value not equal to original');
-
-               self::assertNull($this->instance->get('not_set'), 'Unset value not equal to null');
-
-               self::assertTrue($this->instance->delete('value1'));
-               self::assertNull($this->instance->get('value1'));
-       }
-
-       /**
-        * @small
-        * @dataProvider dataSimple
-        *
-        * @param mixed $value1 a first
-        * @param mixed $value2 a second
-        * @param mixed $value3 a third
-        * @param mixed $value4 a fourth
-        */
-       public function testClear($value1, $value2, $value3, $value4)
-       {
-               $this->instance->set('1_value1', $value1);
-               $this->instance->set('1_value2', $value2);
-               $this->instance->set('2_value1', $value3);
-               $this->instance->set('3_value1', $value4);
-
-               self::assertEquals([
-                       '1_value1' => $value1,
-                       '1_value2' => $value2,
-                       '2_value1' => $value3,
-                       '3_value1' => $value4,
-               ], [
-                       '1_value1' => $this->instance->get('1_value1'),
-                       '1_value2' => $this->instance->get('1_value2'),
-                       '2_value1' => $this->instance->get('2_value1'),
-                       '3_value1' => $this->instance->get('3_value1'),
-               ]);
-
-               self::assertTrue($this->instance->clear());
-
-               self::assertEquals([
-                       '1_value1' => $value1,
-                       '1_value2' => $value2,
-                       '2_value1' => $value3,
-                       '3_value1' => $value4,
-               ], [
-                       '1_value1' => $this->instance->get('1_value1'),
-                       '1_value2' => $this->instance->get('1_value2'),
-                       '2_value1' => $this->instance->get('2_value1'),
-                       '3_value1' => $this->instance->get('3_value1'),
-               ]);
-
-               self::assertTrue($this->instance->clear(false));
-
-               self::assertEquals([
-                       '1_value1' => null,
-                       '1_value2' => null,
-                       '2_value3' => null,
-                       '3_value4' => null,
-               ], [
-                       '1_value1' => $this->instance->get('1_value1'),
-                       '1_value2' => $this->instance->get('1_value2'),
-                       '2_value3' => $this->instance->get('2_value3'),
-                       '3_value4' => $this->instance->get('3_value4'),
-               ]);
-       }
-
-       /**
-        * @medium
-        */
-       public function testTTL()
-       {
-               static::markTestSkipped('taking too much time without mocking');
-
-               self::assertNull($this->instance->get('value1'));
-
-               $value = 'foobar';
-               $this->instance->set('value1', $value, 1);
-               $received = $this->instance->get('value1');
-               self::assertEquals($value, $received, 'Value received from cache not equal to the original');
-
-               sleep(2);
-
-               self::assertNull($this->instance->get('value1'));
-       }
-
-       /**
-        * @small
-        *
-        * @param mixed $data the data to store in the cache
-        *
-        * @dataProvider dataTypesInCache
-        */
-       public function testDifferentTypesInCache($data)
-       {
-               $this->instance->set('val', $data);
-               $received = $this->instance->get('val');
-               self::assertEquals($data, $received, 'Value type changed from ' . gettype($data) . ' to ' . gettype($received));
-       }
-
-       /**
-        * @small
-        *
-        * @param mixed $value1 a first
-        * @param mixed $value2 a second
-        * @param mixed $value3 a third
-        *
-        * @dataProvider dataSimple
-        */
-       public function testGetAllKeys($value1, $value2, $value3)
-       {
-               self::assertTrue($this->instance->set('value1', $value1));
-               self::assertTrue($this->instance->set('value2', $value2));
-               self::assertTrue($this->instance->set('test_value3', $value3));
-
-               $list = $this->instance->getAllKeys();
-
-               self::assertContains('value1', $list);
-               self::assertContains('value2', $list);
-               self::assertContains('test_value3', $list);
-
-               $list = $this->instance->getAllKeys('test');
-
-               self::assertContains('test_value3', $list);
-               self::assertNotContains('value1', $list);
-               self::assertNotContains('value2', $list);
-       }
-
-       /**
-        * @small
-        */
-       public function testSpaceInKey()
-       {
-               self::assertTrue($this->instance->set('key space', 'value'));
-               self::assertEquals('value', $this->instance->get('key space'));
-       }
-
-       public function testGetName()
-       {
-               if (defined(get_class($this->instance) . '::NAME')) {
-                       self::assertEquals($this->instance::NAME, $this->instance->getName());
-               } else {
-                       self::expectNotToPerformAssertions();
-               }
-       }
-}
index 5b4c61bc8838b527bf591809a7f1d4c0f97e250d..7b9f404ae1db15b6b4c67d1a8b41692e67caf362 100644 (file)
@@ -7,13 +7,13 @@
 
 namespace Friendica\Test\src\Core\Cache;
 
-use Friendica\App\BaseURL;
-use Friendica\Core\Cache;
+use Friendica\Core\Cache\Type\DatabaseCache;
+use Friendica\Test\CacheTestCase;
 use Friendica\Test\DatabaseTestTrait;
 use Friendica\Test\Util\CreateDatabaseTrait;
 use Friendica\Test\Util\VFSTrait;
 
-class DatabaseCacheTest extends CacheTest
+class DatabaseCacheTest extends CacheTestCase
 {
        use DatabaseTestTrait;
        use CreateDatabaseTrait;
@@ -30,7 +30,7 @@ class DatabaseCacheTest extends CacheTest
 
        protected function getInstance()
        {
-               $this->cache = new Cache\Type\DatabaseCache('database', $this->getDbInstance());
+               $this->cache = new DatabaseCache('database', $this->getDbInstance());
                return $this->cache;
        }
 
index 2e24e29c06dc0ba984e7de78c330efa8efa45821..e6c82d3f1469736b78b9066f7049f2fba78896da 100644 (file)
@@ -9,8 +9,9 @@ namespace Friendica\Test\src\Core\Cache;
 
 use Exception;
 use Friendica\Core\Cache\Capability\ICanCacheInMemory;
+use Friendica\Test\CacheTestCase;
 
-abstract class MemoryCacheTest extends CacheTest
+abstract class MemoryCacheTest extends CacheTestCase
 {
        /**
         * @var \Friendica\Core\Cache\Capability\ICanCacheInMemory