diff --git a/Module/PackageManager.php b/Module/PackageManager.php index f97f13606..8c32655eb 100644 --- a/Module/PackageManager.php +++ b/Module/PackageManager.php @@ -206,6 +206,10 @@ final class PackageManager $fp = \fopen($this->basePath . '/' . $to, 'w+'); $ch = \curl_init(\str_replace(' ','%20', $from)); + if ($ch === false) { + continue; + } + \curl_setopt($ch, \CURLOPT_TIMEOUT, 50); \curl_setopt($ch, \CURLOPT_FILE, $fp); \curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, true); diff --git a/Module/UpdaterAbstract.php b/Module/UpdaterAbstract.php index 98781ba07..a50295170 100644 --- a/Module/UpdaterAbstract.php +++ b/Module/UpdaterAbstract.php @@ -36,6 +36,7 @@ abstract class UpdaterAbstract * @return void * * @since 1.0.0 + * @codeCoverageIgnore */ public static function update(DatabasePool $dbPool, InfoManager $info) : void { diff --git a/tests/Module/ModuleAbstractTest.php b/tests/Module/ModuleAbstractTest.php index a79fa7bdc..d02484b7a 100644 --- a/tests/Module/ModuleAbstractTest.php +++ b/tests/Module/ModuleAbstractTest.php @@ -16,25 +16,74 @@ namespace phpOMS\tests\Module; require_once __DIR__ . '/../Autoloader.php'; +use phpOMS\Message\Http\Request; +use phpOMS\Message\Http\Response; use phpOMS\Module\ModuleAbstract; +use phpOMS\Uri\Http; /** * @internal */ class ModuleAbstractTest extends \PHPUnit\Framework\TestCase { - public function testModuleAbstract() : void + protected $module = null; + + protected function setUp() : void { - $moduleClass = new class(null) extends ModuleAbstract { + $this->module = new class(null) extends ModuleAbstract { const MODULE_VERSION = '1.2.3'; const MODULE_NAME = 'Test'; const MODULE_ID = 2; protected static array $dependencies = [1, 2]; - }; - self::assertEquals([1, 2], $moduleClass->getDependencies()); - self::assertEquals(2, $moduleClass::MODULE_ID); - self::assertEquals('1.2.3', $moduleClass::MODULE_VERSION); - self::assertEquals([], $moduleClass::getLocalization('invalid', 'invalid')); + public function fillJson(Request $request, Response $response, string $status, string $title, string $message, array $data) : void + { + $this->fillJsonResponse($request, $response, $status, $title, $message, $data); + } + + public function fillJsonRaw(Request $request, Response $response, array $data) : void + { + $this->fillJsonRawResponse($request, $response, $data); + } + }; + } + + public function testModuleAbstract() : void + { + self::assertEquals([1, 2], $this->module->getDependencies()); + self::assertEquals(2, $this->module::MODULE_ID); + self::assertEquals('1.2.3', $this->module::MODULE_VERSION); + self::assertEquals([], $this->module::getLocalization('invalid', 'invalid')); + } + + public function testFillJson() : void + { + $request = new Request(new Http('')); + $response = new Response(); + + $this->module->fillJson($request, $response, 'OK', 'Test Title', 'Test Message!', [1, 'test string', 'bool' => true]); + + self::assertEquals( + [ + 'status' => 'OK', + 'title' => 'Test Title', + 'message' => 'Test Message!', + 'response' => [1, 'test string', 'bool' => true], + ], + $response->get('') + ); + } + + public function testFillJsonRaw() : void + { + $request = new Request(new Http('')); + $response = new Response(); + + $this->module->fillJsonRaw($request, $response, [1, 'test string', 'bool' => true]); + + self::assertEquals( + [1, 'test string', 'bool' => true], + $response->get('') + ); } } diff --git a/tests/Module/PackageManagerTest.php b/tests/Module/PackageManagerTest.php index cc085a7f1..bb5fbf12c 100644 --- a/tests/Module/PackageManagerTest.php +++ b/tests/Module/PackageManagerTest.php @@ -17,6 +17,7 @@ namespace phpOMS\tests\Module; require_once __DIR__ . '/../Autoloader.php'; use phpOMS\Module\PackageManager; +use phpOMS\System\File\Ftp\File; use phpOMS\System\File\Local\Directory; use phpOMS\Utils\IO\Zip\Zip; @@ -81,6 +82,12 @@ class PackageManagerTest extends \PHPUnit\Framework\TestCase public function testPackageValidInstall() : void { + if (\file_exists(__DIR__ . '/dummyModule')) { + Directory::delete(__DIR__ . '/dummyModule'); + } + + Directory::copy(__DIR__ . '/testModule', __DIR__ . '/dummyModule'); + $package = new PackageManager( __DIR__ . '/testPackage.zip', __DIR__ . 'dummyModule/', @@ -93,6 +100,10 @@ class PackageManagerTest extends \PHPUnit\Framework\TestCase $package->load(); $package->install(); + + if (\file_exists(__DIR__ . '/dummyModule')) { + Directory::delete(__DIR__ . '/dummyModule'); + } } public function testNotExtractedLoad() : void diff --git a/tests/Module/dummyModule/Remove/me.md b/tests/Module/testModule/Remove/me.md similarity index 100% rename from tests/Module/dummyModule/Remove/me.md rename to tests/Module/testModule/Remove/me.md diff --git a/tests/Module/dummyModule/Replace.md b/tests/Module/testModule/Replace.md similarity index 100% rename from tests/Module/dummyModule/Replace.md rename to tests/Module/testModule/Replace.md diff --git a/tests/Module/dummyModule/toCopy/a.md b/tests/Module/testModule/toCopy/a.md similarity index 100% rename from tests/Module/dummyModule/toCopy/a.md rename to tests/Module/testModule/toCopy/a.md diff --git a/tests/Module/dummyModule/toCopy/sub/b.txt b/tests/Module/testModule/toCopy/sub/b.txt similarity index 100% rename from tests/Module/dummyModule/toCopy/sub/b.txt rename to tests/Module/testModule/toCopy/sub/b.txt diff --git a/tests/Module/dummyModule/toMove/a.md b/tests/Module/testModule/toMove/a.md similarity index 100% rename from tests/Module/dummyModule/toMove/a.md rename to tests/Module/testModule/toMove/a.md diff --git a/tests/Module/dummyModule/toMove/sub/b.txt b/tests/Module/testModule/toMove/sub/b.txt similarity index 100% rename from tests/Module/dummyModule/toMove/sub/b.txt rename to tests/Module/testModule/toMove/sub/b.txt