]> git.mxchange.org Git - friendica.git/blobdiff - tests/src/Core/PConfig/PConfigTest.php
mark Timeline tests incomplete because of needed refactoring
[friendica.git] / tests / src / Core / PConfig / PConfigTest.php
index e6f0326cb156bbca929b6f663e9aef8188114e25..1f0e89364ebcf83e3208d05632e216b5f3d2bd6b 100644 (file)
@@ -1,10 +1,29 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Test\src\Core\PConfig;
 
 use Friendica\Core\PConfig\Cache;
-use Friendica\Core\BasePConfig;
-use Friendica\Model\Config\PConfig as PConfigModel;
+use Friendica\Core\PConfig\Type\AbstractPConfigValues;
+use Friendica\Core\PConfig\Repository\PConfig as PConfigModel;
 use Friendica\Test\MockedTest;
 use Mockery;
 use Mockery\MockInterface;
@@ -14,10 +33,10 @@ abstract class PConfigTest extends MockedTest
        /** @var PConfigModel|MockInterface */
        protected $configModel;
 
-       /** @var Cache */
+       /** @var \Friendica\Core\PConfig\ValueObject\Cache */
        protected $configCache;
 
-       /** @var BasePConfig */
+       /** @var AbstractPConfigValues */
        protected $testedConfig;
 
        /**
@@ -31,26 +50,26 @@ abstract class PConfigTest extends MockedTest
        {
                $result = $this->testedConfig->getCache()->getAll();
 
-               $this->assertNotEmpty($result);
-               $this->assertArrayHasKey($uid, $result);
-               $this->assertArrayHasKey($cat, $result[$uid]);
-               $this->assertArraySubset($data, $result[$uid][$cat]);
+               self::assertNotEmpty($result);
+               self::assertArrayHasKey($uid, $result);
+               self::assertArrayHasKey($cat, $result[$uid]);
+               self::assertArraySubset($data, $result[$uid][$cat]);
        }
 
 
-       protected function setUp()
+       protected function setUp(): void
        {
                parent::setUp();
 
                // Create the config model
                $this->configModel = Mockery::mock(PConfigModel::class);
-               $this->configCache = new Cache();
+               $this->configCache = new \Friendica\Core\PConfig\ValueObject\Cache();
        }
 
        /**
-        * @return BasePConfig
+        * @return \Friendica\Core\PConfig\Type\AbstractPConfigValues
         */
-       public abstract function getInstance();
+       abstract public function getInstance();
 
        public function dataTests()
        {
@@ -140,14 +159,13 @@ abstract class PConfigTest extends MockedTest
 
        /**
         * Test the configuration initialization
-        * @dataProvider dataConfigLoad
         */
-       public function testSetUp(int $uid, array $data)
+       public function testSetUp()
        {
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
-               $this->assertEmpty($this->testedConfig->getCache()->getAll());
+               self::assertEmpty($this->testedConfig->getCache()->getAll());
        }
 
        /**
@@ -156,7 +174,7 @@ abstract class PConfigTest extends MockedTest
        public function testLoad(int $uid, array $data, array $possibleCats, array $load)
        {
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
                foreach ($load as $loadedCats) {
                        $this->testedConfig->load($uid, $loadedCats);
@@ -164,7 +182,7 @@ abstract class PConfigTest extends MockedTest
 
                // Assert at least loaded cats are loaded
                foreach ($load as $loadedCats) {
-                       $this->assertConfig($uid, $loadedCats, $data[$loadedCats]);
+                       self::assertConfig($uid, $loadedCats, $data[$loadedCats]);
                }
        }
 
@@ -239,7 +257,7 @@ abstract class PConfigTest extends MockedTest
        public function testCacheLoadDouble(int $uid, array $data1, array $data2, array $expect)
        {
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
                foreach ($data1 as $cat => $data) {
                        $this->testedConfig->load($uid, $cat);
@@ -247,7 +265,7 @@ abstract class PConfigTest extends MockedTest
 
                // Assert at least loaded cats are loaded
                foreach ($data1 as $cat => $data) {
-                       $this->assertConfig($uid, $cat, $data);
+                       self::assertConfig($uid, $cat, $data);
                }
 
                foreach ($data2 as $cat => $data) {
@@ -263,12 +281,12 @@ abstract class PConfigTest extends MockedTest
        public function testSetGetWithoutDB(int $uid, $data)
        {
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
-               $this->assertTrue($this->testedConfig->set($uid, 'test', 'it', $data));
+               self::assertTrue($this->testedConfig->set($uid, 'test', 'it', $data));
 
-               $this->assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
        }
 
        /**
@@ -284,12 +302,12 @@ abstract class PConfigTest extends MockedTest
                                  ->once();
 
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
-               $this->assertTrue($this->testedConfig->set($uid, 'test', 'it', $data));
+               self::assertTrue($this->testedConfig->set($uid, 'test', 'it', $data));
 
-               $this->assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
        }
 
        /**
@@ -298,19 +316,19 @@ abstract class PConfigTest extends MockedTest
        public function testGetWrongWithoutDB()
        {
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
                // without refresh
-               $this->assertNull($this->testedConfig->get(0, 'test', 'it'));
+               self::assertNull($this->testedConfig->get(0, 'test', 'it'));
 
                /// beware that the cache returns '!<unset>!' and not null for a non existing value
-               $this->assertNull($this->testedConfig->getCache()->get(0, 'test', 'it'));
+               self::assertNull($this->testedConfig->getCache()->get(0, 'test', 'it'));
 
                // with default value
-               $this->assertEquals('default', $this->testedConfig->get(0, 'test', 'it', 'default'));
+               self::assertEquals('default', $this->testedConfig->get(0, 'test', 'it', 'default'));
 
                // with default value and refresh
-               $this->assertEquals('default', $this->testedConfig->get(0, 'test', 'it', 'default', true));
+               self::assertEquals('default', $this->testedConfig->get(0, 'test', 'it', 'default', true));
        }
 
        /**
@@ -323,19 +341,19 @@ abstract class PConfigTest extends MockedTest
                $this->configCache->load($uid, ['test' => ['it' => 'now']]);
 
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
                // without refresh
-               $this->assertEquals('now', $this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertEquals('now', $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals('now', $this->testedConfig->get($uid, 'test', 'it'));
+               self::assertEquals('now', $this->testedConfig->getCache()->get($uid, 'test', 'it'));
 
                // with refresh
-               $this->assertEquals($data, $this->testedConfig->get($uid, 'test', 'it', null, true));
-               $this->assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->get($uid, 'test', 'it', null, true));
+               self::assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
 
                // without refresh and wrong value and default
-               $this->assertEquals('default', $this->testedConfig->get($uid, 'test', 'not', 'default'));
-               $this->assertNull($this->testedConfig->getCache()->get($uid, 'test', 'not'));
+               self::assertEquals('default', $this->testedConfig->get($uid, 'test', 'not', 'default'));
+               self::assertNull($this->testedConfig->getCache()->get($uid, 'test', 'not'));
        }
 
        /**
@@ -348,16 +366,16 @@ abstract class PConfigTest extends MockedTest
                $this->configCache->load($uid, ['test' => ['it' => $data]]);
 
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
-               $this->assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->get($uid, 'test', 'it'));
+               self::assertEquals($data, $this->testedConfig->getCache()->get($uid, 'test', 'it'));
 
-               $this->assertTrue($this->testedConfig->delete($uid, 'test', 'it'));
-               $this->assertNull($this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertNull($this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertTrue($this->testedConfig->delete($uid, 'test', 'it'));
+               self::assertNull($this->testedConfig->get($uid, 'test', 'it'));
+               self::assertNull($this->testedConfig->getCache()->get($uid, 'test', 'it'));
 
-               $this->assertEmpty($this->testedConfig->getCache()->getAll());
+               self::assertEmpty($this->testedConfig->getCache()->getAll());
        }
 
        /**
@@ -387,24 +405,24 @@ abstract class PConfigTest extends MockedTest
                                  ->once();
 
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
                // directly set the value to the cache
                $this->testedConfig->getCache()->set($uid, 'test', 'it', 'now');
 
-               $this->assertEquals('now', $this->testedConfig->get($uid, 'test', 'it'));
-               $this->assertEquals('now', $this->testedConfig->getCache()->get($uid, 'test', 'it'));
+               self::assertEquals('now', $this->testedConfig->get($uid, 'test', 'it'));
+               self::assertEquals('now', $this->testedConfig->getCache()->get($uid, 'test', 'it'));
 
                // delete from cache only
-               $this->assertTrue($this->testedConfig->delete($uid, 'test', 'it'));
+               self::assertTrue($this->testedConfig->delete($uid, 'test', 'it'));
                // delete from db only
-               $this->assertTrue($this->testedConfig->delete($uid, 'test', 'second'));
+               self::assertTrue($this->testedConfig->delete($uid, 'test', 'second'));
                // no delete
-               $this->assertFalse($this->testedConfig->delete($uid, 'test', 'third'));
+               self::assertFalse($this->testedConfig->delete($uid, 'test', 'third'));
                // delete both
-               $this->assertTrue($this->testedConfig->delete($uid, 'test', 'quarter'));
+               self::assertTrue($this->testedConfig->delete($uid, 'test', 'quarter'));
 
-               $this->assertEmpty($this->testedConfig->getCache()->getAll());
+               self::assertEmpty($this->testedConfig->getCache()->getAll());
        }
 
        public function dataMultiUid()
@@ -447,12 +465,12 @@ abstract class PConfigTest extends MockedTest
                $this->configCache->load($data2['uid'], $data2['data']);
 
                $this->testedConfig = $this->getInstance();
-               $this->assertInstanceOf(Cache::class, $this->testedConfig->getCache());
+               self::assertInstanceOf(\Friendica\Core\PConfig\ValueObject\Cache::class, $this->testedConfig->getCache());
 
-               $this->assertConfig($data1['uid'], 'cat1', $data1['data']['cat1']);
-               $this->assertConfig($data1['uid'], 'cat2', $data1['data']['cat2']);
-               $this->assertConfig($data2['uid'], 'cat1', $data2['data']['cat1']);
-               $this->assertConfig($data2['uid'], 'cat2', $data2['data']['cat2']);
+               self::assertConfig($data1['uid'], 'cat1', $data1['data']['cat1']);
+               self::assertConfig($data1['uid'], 'cat2', $data1['data']['cat2']);
+               self::assertConfig($data2['uid'], 'cat1', $data2['data']['cat1']);
+               self::assertConfig($data2['uid'], 'cat2', $data2['data']['cat2']);
        }
 
        /**
@@ -466,10 +484,10 @@ abstract class PConfigTest extends MockedTest
 
                $this->testedConfig = $this->getInstance();
 
-               $this->assertNull($this->testedConfig->get($uid, 'cat1', 'cat2'));
-               $this->assertEquals('fallback!', $this->testedConfig->get($uid, 'cat1', 'cat2', 'fallback!'));
+               self::assertNull($this->testedConfig->get($uid, 'cat1', 'cat2'));
+               self::assertEquals('fallback!', $this->testedConfig->get($uid, 'cat1', 'cat2', 'fallback!'));
 
-               $this->assertFalse($this->testedConfig->set($uid, 'cat1', 'key1', 'doesn\'t matter!'));
-               $this->assertFalse($this->testedConfig->delete($uid, 'cat1', 'key1'));
+               self::assertFalse($this->testedConfig->set($uid, 'cat1', 'key1', 'doesn\'t matter!'));
+               self::assertFalse($this->testedConfig->delete($uid, 'cat1', 'key1'));
        }
 }