X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FApplicationUtilsTest.php;h=82f8804d525867af42fa2345e2bdfd234adb5aae;hb=HEAD;hp=a232b351f4cfdae5c63c4d31553f055500a4111b;hpb=543b16b4f4bbde4e9857490e2175e44b4d941eb3;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/ApplicationUtilsTest.php b/tests/ApplicationUtilsTest.php deleted file mode 100644 index a232b351..00000000 --- a/tests/ApplicationUtilsTest.php +++ /dev/null @@ -1,352 +0,0 @@ -assertEquals( - '0.5.4', - ApplicationUtils::getVersion( - 'https://raw.githubusercontent.com/shaarli/Shaarli/' - .'v0.5.4/shaarli_version.php', - $testTimeout - ) - ); - $this->assertRegExp( - self::$versionPattern, - ApplicationUtils::getVersion( - 'https://raw.githubusercontent.com/shaarli/Shaarli/' - .'latest/shaarli_version.php', - $testTimeout - ) - ); - } - - /** - * Attempt to retrieve the latest version from an invalid File - */ - public function testGetVersionCodeFromFile() - { - file_put_contents('sandbox/version.php', ''. PHP_EOL); - $this->assertEquals( - '1.2.3', - ApplicationUtils::getVersion('sandbox/version.php', 1) - ); - } - - /** - * Attempt to retrieve the latest version from an invalid File - */ - public function testGetVersionCodeInvalidFile() - { - $oldlog = ini_get('error_log'); - ini_set('error_log', '/dev/null'); - $this->assertFalse( - ApplicationUtils::getVersion('idontexist', 1) - ); - ini_set('error_log', $oldlog); - } - - /** - * Test update checks - the user is logged off - */ - public function testCheckUpdateLoggedOff() - { - $this->assertFalse( - ApplicationUtils::checkUpdate(self::$testVersion, 'null', 0, false, false) - ); - } - - /** - * Test update checks - the user has disabled updates - */ - public function testCheckUpdateUserDisabled() - { - $this->assertFalse( - ApplicationUtils::checkUpdate(self::$testVersion, 'null', 0, false, true) - ); - } - - /** - * A newer version is available - */ - public function testCheckUpdateNewVersionAvailable() - { - $newVersion = '1.8.3'; - FakeApplicationUtils::$VERSION_CODE = $newVersion; - - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertEquals($newVersion, $version); - } - - /** - * No available information about versions - */ - public function testCheckUpdateNewVersionUnavailable() - { - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertFalse($version); - } - - /** - * Test update checks - invalid Git branch - */ - public function testCheckUpdateInvalidGitBranch() - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/Invalid branch selected for updates/'); - - ApplicationUtils::checkUpdate('', 'null', 0, true, true, 'unstable'); - } - - /** - * Shaarli is up-to-date - */ - public function testCheckUpdateNewVersionUpToDate() - { - FakeApplicationUtils::$VERSION_CODE = self::$testVersion; - - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertFalse($version); - } - - /** - * Time-traveller's Shaarli - */ - public function testCheckUpdateNewVersionMaartiMcFly() - { - FakeApplicationUtils::$VERSION_CODE = '0.4.1'; - - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertFalse($version); - } - - /** - * The version has been checked recently and Shaarli is up-to-date - */ - public function testCheckUpdateNewVersionTwiceUpToDate() - { - FakeApplicationUtils::$VERSION_CODE = self::$testVersion; - - // Create the update file - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertFalse($version); - - // Reuse the update file - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - - $this->assertFalse($version); - } - - /** - * The version has been checked recently and Shaarli is outdated - */ - public function testCheckUpdateNewVersionTwiceOutdated() - { - $newVersion = '1.8.3'; - FakeApplicationUtils::$VERSION_CODE = $newVersion; - - // Create the update file - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - $this->assertEquals($newVersion, $version); - - // Reuse the update file - $version = FakeApplicationUtils::checkUpdate( - self::$testVersion, - self::$testUpdateFile, - 100, - true, - true - ); - $this->assertEquals($newVersion, $version); - } - - /** - * Check supported PHP versions - */ - public function testCheckSupportedPHPVersion() - { - $minVersion = '5.3'; - $this->assertTrue(ApplicationUtils::checkPHPVersion($minVersion, '5.4.32')); - $this->assertTrue(ApplicationUtils::checkPHPVersion($minVersion, '5.5')); - $this->assertTrue(ApplicationUtils::checkPHPVersion($minVersion, '5.6.10')); - } - - /** - * Check a unsupported PHP version - */ - public function testCheckSupportedPHPVersion51() - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/Your PHP version is obsolete/'); - - $this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.1.0')); - } - - /** - * Check another unsupported PHP version - */ - public function testCheckSupportedPHPVersion52() - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/Your PHP version is obsolete/'); - - $this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.2')); - } - - /** - * Checks resource permissions for the current Shaarli installation - */ - public function testCheckCurrentResourcePermissions() - { - $conf = new ConfigManager(''); - $conf->set('resource.thumbnails_cache', 'cache'); - $conf->set('resource.config', 'data/config.php'); - $conf->set('resource.data_dir', 'data'); - $conf->set('resource.datastore', 'data/datastore.php'); - $conf->set('resource.ban_file', 'data/ipbans.php'); - $conf->set('resource.log', 'data/log.txt'); - $conf->set('resource.page_cache', 'pagecache'); - $conf->set('resource.raintpl_tmp', 'tmp'); - $conf->set('resource.raintpl_tpl', 'tpl'); - $conf->set('resource.theme', 'default'); - $conf->set('resource.update_check', 'data/lastupdatecheck.txt'); - - $this->assertEquals( - array(), - ApplicationUtils::checkResourcePermissions($conf) - ); - } - - /** - * Checks resource permissions for a non-existent Shaarli installation - */ - public function testCheckCurrentResourcePermissionsErrors() - { - $conf = new ConfigManager(''); - $conf->set('resource.thumbnails_cache', 'null/cache'); - $conf->set('resource.config', 'null/data/config.php'); - $conf->set('resource.data_dir', 'null/data'); - $conf->set('resource.datastore', 'null/data/store.php'); - $conf->set('resource.ban_file', 'null/data/ipbans.php'); - $conf->set('resource.log', 'null/data/log.txt'); - $conf->set('resource.page_cache', 'null/pagecache'); - $conf->set('resource.raintpl_tmp', 'null/tmp'); - $conf->set('resource.raintpl_tpl', 'null/tpl'); - $conf->set('resource.raintpl_theme', 'null/tpl/default'); - $conf->set('resource.update_check', 'null/data/lastupdatecheck.txt'); - $this->assertEquals( - array( - '"null/tpl" directory is not readable', - '"null/tpl/default" directory is not readable', - '"null/cache" directory is not readable', - '"null/cache" directory is not writable', - '"null/data" directory is not readable', - '"null/data" directory is not writable', - '"null/pagecache" directory is not readable', - '"null/pagecache" directory is not writable', - '"null/tmp" directory is not readable', - '"null/tmp" directory is not writable' - ), - ApplicationUtils::checkResourcePermissions($conf) - ); - } - - /** - * Check update with 'dev' as curent version (master branch). - * It should always return false. - */ - public function testCheckUpdateDev() - { - $this->assertFalse( - ApplicationUtils::checkUpdate('dev', self::$testUpdateFile, 100, true, true) - ); - } -}