]> git.mxchange.org Git - friendica.git/commitdiff
Add basic process tests
authorPhilipp <admin@philipp.info>
Thu, 17 Sep 2020 20:15:33 +0000 (22:15 +0200)
committerPhilipp <admin@philipp.info>
Thu, 17 Sep 2020 20:15:33 +0000 (22:15 +0200)
tests/src/Model/ProcessTest.php [new file with mode: 0644]
tests/src/Model/User/CookieTest.php

diff --git a/tests/src/Model/ProcessTest.php b/tests/src/Model/ProcessTest.php
new file mode 100644 (file)
index 0000000..389e2ac
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+
+namespace Friendica\Test\src\Model;
+
+use Friendica\Factory\ConfigFactory;
+use Friendica\Model\Process;
+use Friendica\Test\DatabaseTest;
+use Friendica\Test\Util\Database\StaticDatabase;
+use Friendica\Test\Util\VFSTrait;
+use Friendica\Util\ConfigFileLoader;
+use Friendica\Util\Profiler;
+use Psr\Log\NullLogger;
+
+class ProcessTest extends DatabaseTest
+{
+       use VFSTrait;
+
+       /** @var StaticDatabase */
+       private $dba;
+
+       protected function setUp()
+       {
+               parent::setUp();
+
+               $this->setUpVfsDir();
+
+               $this->logger = new NullLogger();
+
+               $profiler = \Mockery::mock(Profiler::class);
+               $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true);
+
+               // load real config to avoid mocking every config-entry which is related to the Database class
+               $configFactory = new ConfigFactory();
+               $loader        = new ConfigFileLoader($this->root->url());
+               $configCache   = $configFactory->createCache($loader);
+
+               $this->dba = new StaticDatabase($configCache, $profiler, $this->logger);
+       }
+
+       public function testInsertDelete()
+       {
+               $process = new Process($this->dba);
+
+               $this->assertEquals(0, $this->dba->count('process'));
+               $process->insert('test', 1);
+               $process->insert('test2', 2);
+               $process->insert('test3', 3);
+
+               $this->assertEquals(3, $this->dba->count('process'));
+
+               $this->assertEquals([
+                       ['command' => 'test']
+               ], $this->dba->selectToArray('process', ['command'], ['pid' => 1]));
+
+               $process->deleteByPid(1);
+
+               $this->assertEmpty($this->dba->selectToArray('process', ['command'], ['pid' => 1]));
+
+               $this->assertEquals(2, $this->dba->count('process'));
+       }
+
+       public function testDoubleInsert()
+       {
+               $process = new Process($this->dba);
+
+               $process->insert('test', 1);
+
+               // double insert doesn't work
+               $process->insert('test23', 1);
+
+               $this->assertEquals([['command' => 'test']], $this->dba->selectToArray('process', ['command'], ['pid' => 1]));
+       }
+
+       public function testWrongDelete()
+       {
+               $process = new Process($this->dba);
+
+               // Just ignore wrong deletes, no execution is thrown
+               $process->deleteByPid(-1);
+       }
+}
index cac278076cc1cd4c538bce3f0dcc6ad9aaec60a5..40c99f3ea73fa5b19078bb4ac3a11307bac8953c 100644 (file)
  *
  */
 
-namespace Friendica\Testsrc\Model\User;
+namespace Friendica\Test\src\Model\User;
 
 use Friendica\App\BaseURL;
 use Friendica\Core\Config\IConfig;
 use Friendica\Model\User\Cookie;
-use Friendica\Test\DatabaseTest;
+use Friendica\Test\MockedTest;
 use Friendica\Test\Util\StaticCookie;
 use Mockery\MockInterface;
 
-class CookieTest extends DatabaseTest
+class CookieTest extends MockedTest
 {
        /** @var MockInterface|IConfig */
        private $config;