From: ArthurHoaro Date: Sun, 27 Sep 2020 12:07:08 +0000 (+0200) Subject: Convert legacy PHPUnit @expected* to new ->expect* X-Git-Tag: v0.12.0-beta-1~5^2 X-Git-Url: https://git.immae.eu/?p=github%2Fshaarli%2FShaarli.git;a=commitdiff_plain;h=b1baca99f280570d0336b4d71ad1f9dca213a35b Convert legacy PHPUnit @expected* to new ->expect* Converted automatically using https://github.com/ArthurHoaro/convert-legacy-phpunit-expect --- diff --git a/composer.json b/composer.json index 35043fd2..de7b1732 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "require-dev": { "roave/security-advisories": "dev-master", "phpunit/phpcov": "*", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0", + "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "3.*" }, "suggest": { diff --git a/tests/ApplicationUtilsTest.php b/tests/ApplicationUtilsTest.php index 57359196..421d2dd9 100644 --- a/tests/ApplicationUtilsTest.php +++ b/tests/ApplicationUtilsTest.php @@ -145,10 +145,11 @@ class ApplicationUtilsTest extends \PHPUnit\Framework\TestCase /** * Test update checks - invalid Git branch * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid branch selected for updates/ */ public function testCheckUpdateInvalidGitBranch() { + $this->expectExceptionMessageRegExp('/Invalid branch selected for updates/'); + ApplicationUtils::checkUpdate('', 'null', 0, true, true, 'unstable'); } @@ -261,20 +262,22 @@ class ApplicationUtilsTest extends \PHPUnit\Framework\TestCase /** * Check a unsupported PHP version * @expectedException Exception - * @expectedExceptionMessageRegExp /Your PHP version is obsolete/ */ public function testCheckSupportedPHPVersion51() { + $this->expectExceptionMessageRegExp('/Your PHP version is obsolete/'); + $this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.1.0')); } /** * Check another unsupported PHP version * @expectedException Exception - * @expectedExceptionMessageRegExp /Your PHP version is obsolete/ */ public function testCheckSupportedPHPVersion52() { + $this->expectExceptionMessageRegExp('/Your PHP version is obsolete/'); + $this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.2')); } diff --git a/tests/FileUtilsTest.php b/tests/FileUtilsTest.php index eb9cb89a..6e8f44f2 100644 --- a/tests/FileUtilsTest.php +++ b/tests/FileUtilsTest.php @@ -49,12 +49,12 @@ class FileUtilsTest extends \PHPUnit\Framework\TestCase /** * File not writable: raise an exception. - * - * @expectedException Shaarli\Exceptions\IOException - * @expectedExceptionMessage Error accessing "sandbox/flat.db" */ public function testWriteWithoutPermission() { + $this->expectException(\Shaarli\Exceptions\IOException::class); + $this->expectExceptionMessage('Error accessing "sandbox/flat.db"'); + touch(self::$file); chmod(self::$file, 0440); FileUtils::writeFlatDB(self::$file, null); @@ -62,23 +62,23 @@ class FileUtilsTest extends \PHPUnit\Framework\TestCase /** * Folder non existent: raise an exception. - * - * @expectedException Shaarli\Exceptions\IOException - * @expectedExceptionMessage Error accessing "nopefolder" */ public function testWriteFolderDoesNotExist() { + $this->expectException(\Shaarli\Exceptions\IOException::class); + $this->expectExceptionMessage('Error accessing "nopefolder"'); + FileUtils::writeFlatDB('nopefolder/file', null); } /** * Folder non writable: raise an exception. - * - * @expectedException Shaarli\Exceptions\IOException - * @expectedExceptionMessage Error accessing "sandbox" */ public function testWriteFolderPermission() { + $this->expectException(\Shaarli\Exceptions\IOException::class); + $this->expectExceptionMessage('Error accessing "sandbox"'); + chmod(dirname(self::$file), 0555); try { FileUtils::writeFlatDB(self::$file, null); diff --git a/tests/HistoryTest.php b/tests/HistoryTest.php index e9e61032..fb633e79 100644 --- a/tests/HistoryTest.php +++ b/tests/HistoryTest.php @@ -44,12 +44,12 @@ class HistoryTest extends \PHPUnit\Framework\TestCase /** * Not writable history file: raise an exception. - * - * @expectedException Exception - * @expectedExceptionMessage History file isn't readable or writable */ public function testConstructNotWritable() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('History file isn\'t readable or writable'); + touch(self::$historyFilePath); chmod(self::$historyFilePath, 0440); $history = new History(self::$historyFilePath); @@ -58,12 +58,12 @@ class HistoryTest extends \PHPUnit\Framework\TestCase /** * Not parsable history file: raise an exception. - * - * @expectedException Exception - * @expectedExceptionMessageRegExp /Could not parse history file/ */ public function testConstructNotParsable() { + $this->expectException(\Exception::class); + $this->expectExceptionMessageRegExp('/Could not parse history file/'); + file_put_contents(self::$historyFilePath, 'not parsable'); $history = new History(self::$historyFilePath); // gzinflate generates a warning diff --git a/tests/api/ApiUtilsTest.php b/tests/api/ApiUtilsTest.php index e8075a5d..96787014 100644 --- a/tests/api/ApiUtilsTest.php +++ b/tests/api/ApiUtilsTest.php @@ -66,143 +66,143 @@ class ApiUtilsTest extends \PHPUnit\Framework\TestCase /** * Test validateJwtToken() with a malformed JWT token. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Malformed JWT token */ public function testValidateJwtTokenMalformed() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Malformed JWT token'); + $token = 'ABC.DEF'; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with an empty JWT token. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Malformed JWT token */ public function testValidateJwtTokenMalformedEmpty() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Malformed JWT token'); + $token = false; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with a JWT token without header. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Malformed JWT token */ public function testValidateJwtTokenMalformedEmptyHeader() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Malformed JWT token'); + $token = '.payload.signature'; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with a JWT token without payload - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Malformed JWT token */ public function testValidateJwtTokenMalformedEmptyPayload() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Malformed JWT token'); + $token = 'header..signature'; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with a JWT token with an empty signature. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT signature */ public function testValidateJwtTokenInvalidSignatureEmpty() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT signature'); + $token = 'header.payload.'; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with a JWT token with an invalid signature. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT signature */ public function testValidateJwtTokenInvalidSignature() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT signature'); + $token = 'header.payload.nope'; ApiUtils::validateJwtToken($token, 'foo'); } /** * Test validateJwtToken() with a JWT token with a signature generated with the wrong API secret. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT signature */ public function testValidateJwtTokenInvalidSignatureSecret() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT signature'); + ApiUtils::validateJwtToken(self::generateValidJwtToken('foo'), 'bar'); } /** * Test validateJwtToken() with a JWT token with a an invalid header (not JSON). - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT header */ public function testValidateJwtTokenInvalidHeader() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT header'); + $token = $this->generateCustomJwtToken('notJSON', '{"JSON":1}', 'secret'); ApiUtils::validateJwtToken($token, 'secret'); } /** * Test validateJwtToken() with a JWT token with a an invalid payload (not JSON). - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT payload */ public function testValidateJwtTokenInvalidPayload() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT payload'); + $token = $this->generateCustomJwtToken('{"JSON":1}', 'notJSON', 'secret'); ApiUtils::validateJwtToken($token, 'secret'); } /** * Test validateJwtToken() with a JWT token without issued time. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT issued time */ public function testValidateJwtTokenInvalidTimeEmpty() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT issued time'); + $token = $this->generateCustomJwtToken('{"JSON":1}', '{"JSON":1}', 'secret'); ApiUtils::validateJwtToken($token, 'secret'); } /** * Test validateJwtToken() with an expired JWT token. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT issued time */ public function testValidateJwtTokenInvalidTimeExpired() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT issued time'); + $token = $this->generateCustomJwtToken('{"JSON":1}', '{"iat":' . (time() - 600) . '}', 'secret'); ApiUtils::validateJwtToken($token, 'secret'); } /** * Test validateJwtToken() with a JWT token issued in the future. - * - * @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException - * @expectedExceptionMessage Invalid JWT issued time */ public function testValidateJwtTokenInvalidTimeFuture() { + $this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class); + $this->expectExceptionMessage('Invalid JWT issued time'); + $token = $this->generateCustomJwtToken('{"JSON":1}', '{"iat":' . (time() + 60) . '}', 'secret'); ApiUtils::validateJwtToken($token, 'secret'); } diff --git a/tests/api/controllers/links/DeleteLinkTest.php b/tests/api/controllers/links/DeleteLinkTest.php index 10dfe8bc..bd8403cf 100644 --- a/tests/api/controllers/links/DeleteLinkTest.php +++ b/tests/api/controllers/links/DeleteLinkTest.php @@ -113,11 +113,11 @@ class DeleteLinkTest extends \PHPUnit\Framework\TestCase /** * Test DELETE link endpoint: reach not existing ID. - * - * @expectedException \Shaarli\Api\Exceptions\ApiLinkNotFoundException */ public function testDeleteLink404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class); + $id = -1; $this->assertFalse($this->bookmarkService->exists($id)); $env = Environment::mock([ diff --git a/tests/api/controllers/links/GetLinkIdTest.php b/tests/api/controllers/links/GetLinkIdTest.php index ee42e259..3a3aaa7b 100644 --- a/tests/api/controllers/links/GetLinkIdTest.php +++ b/tests/api/controllers/links/GetLinkIdTest.php @@ -120,12 +120,12 @@ class GetLinkIdTest extends \PHPUnit\Framework\TestCase /** * Test basic getLink service: get non existent link => ApiLinkNotFoundException. - * - * @expectedException Shaarli\Api\Exceptions\ApiLinkNotFoundException - * @expectedExceptionMessage Link not found */ public function testGetLink404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class); + $this->expectExceptionMessage('Link not found'); + $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); diff --git a/tests/api/controllers/links/PutLinkTest.php b/tests/api/controllers/links/PutLinkTest.php index f582a2b5..3d62a1b1 100644 --- a/tests/api/controllers/links/PutLinkTest.php +++ b/tests/api/controllers/links/PutLinkTest.php @@ -218,12 +218,12 @@ class PutLinkTest extends \PHPUnit\Framework\TestCase /** * Test link update on non existent link => ApiLinkNotFoundException. - * - * @expectedException Shaarli\Api\Exceptions\ApiLinkNotFoundException - * @expectedExceptionMessage Link not found */ public function testGetLink404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class); + $this->expectExceptionMessage('Link not found'); + $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); diff --git a/tests/api/controllers/tags/DeleteTagTest.php b/tests/api/controllers/tags/DeleteTagTest.php index b0980572..0d991b85 100644 --- a/tests/api/controllers/tags/DeleteTagTest.php +++ b/tests/api/controllers/tags/DeleteTagTest.php @@ -150,12 +150,12 @@ class DeleteTagTest extends \PHPUnit\Framework\TestCase /** * Test DELETE tag endpoint: reach not existing tag. - * - * @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException - * @expectedExceptionMessage Tag not found */ public function testDeleteLink404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class); + $this->expectExceptionMessage('Tag not found'); + $tagName = 'nopenope'; $tags = $this->bookmarkService->bookmarksCountPerTag(); $this->assertFalse(isset($tags[$tagName])); diff --git a/tests/api/controllers/tags/GetTagNameTest.php b/tests/api/controllers/tags/GetTagNameTest.php index f8ee10d9..a2fb89ab 100644 --- a/tests/api/controllers/tags/GetTagNameTest.php +++ b/tests/api/controllers/tags/GetTagNameTest.php @@ -117,12 +117,12 @@ class GetTagNameTest extends \PHPUnit\Framework\TestCase /** * Test basic getTag service: get non existent tag => ApiTagNotFoundException. - * - * @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException - * @expectedExceptionMessage Tag not found */ public function testGetTag404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class); + $this->expectExceptionMessage('Tag not found'); + $env = Environment::mock([ 'REQUEST_METHOD' => 'GET', ]); diff --git a/tests/api/controllers/tags/PutTagTest.php b/tests/api/controllers/tags/PutTagTest.php index e0bc8663..0845dce1 100644 --- a/tests/api/controllers/tags/PutTagTest.php +++ b/tests/api/controllers/tags/PutTagTest.php @@ -159,12 +159,12 @@ class PutTagTest extends \PHPUnit\Framework\TestCase /** * Test tag update with an empty new tag name => ApiBadParametersException - * - * @expectedException Shaarli\Api\Exceptions\ApiBadParametersException - * @expectedExceptionMessage New tag name is required in the request body */ public function testPutTagEmpty() { + $this->expectException(\Shaarli\Api\Exceptions\ApiBadParametersException::class); + $this->expectExceptionMessage('New tag name is required in the request body'); + $tagName = 'gnu'; $newName = ''; @@ -194,12 +194,12 @@ class PutTagTest extends \PHPUnit\Framework\TestCase /** * Test tag update on non existent tag => ApiTagNotFoundException. - * - * @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException - * @expectedExceptionMessage Tag not found */ public function testPutTag404() { + $this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class); + $this->expectExceptionMessage('Tag not found'); + $env = Environment::mock([ 'REQUEST_METHOD' => 'PUT', ]); diff --git a/tests/bookmark/BookmarkArrayTest.php b/tests/bookmark/BookmarkArrayTest.php index 0f8f04c5..bad3af8d 100644 --- a/tests/bookmark/BookmarkArrayTest.php +++ b/tests/bookmark/BookmarkArrayTest.php @@ -47,22 +47,22 @@ class BookmarkArrayTest extends TestCase /** * Test adding a bad entry: wrong type - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryInstance() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $array[] = 'nope'; } /** * Test adding a bad entry: no id - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryNoId() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $bookmark = new Bookmark(); $array[] = $bookmark; @@ -70,11 +70,11 @@ class BookmarkArrayTest extends TestCase /** * Test adding a bad entry: no url - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryNoUrl() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $bookmark = (new Bookmark())->setId(11); $array[] = $bookmark; @@ -82,11 +82,11 @@ class BookmarkArrayTest extends TestCase /** * Test adding a bad entry: invalid offset - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryOffset() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $bookmark = (new Bookmark())->setId(11); $bookmark->validate(); @@ -95,11 +95,11 @@ class BookmarkArrayTest extends TestCase /** * Test adding a bad entry: invalid ID type - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryIdType() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $bookmark = (new Bookmark())->setId('nope'); $bookmark->validate(); @@ -108,11 +108,11 @@ class BookmarkArrayTest extends TestCase /** * Test adding a bad entry: ID/offset not consistent - * - * @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException */ public function testArrayAccessAddBadEntryIdOffset() { + $this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class); + $array = new BookmarkArray(); $bookmark = (new Bookmark())->setId(11); $bookmark->validate(); diff --git a/tests/bookmark/BookmarkFileServiceTest.php b/tests/bookmark/BookmarkFileServiceTest.php index aed4dc76..9cff0fb3 100644 --- a/tests/bookmark/BookmarkFileServiceTest.php +++ b/tests/bookmark/BookmarkFileServiceTest.php @@ -134,11 +134,11 @@ class BookmarkFileServiceTest extends TestCase /** * Test get() method for an undefined bookmark - * - * @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testGetUndefined() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $this->privateLinkDB->get(666); } @@ -230,13 +230,13 @@ class BookmarkFileServiceTest extends TestCase /** * Test add() method for a bookmark without any field set and without writing the data store - * - * @expectedExceptionMessage Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testAddMinimalNoWrite() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $bookmark = new Bookmark(); - $this->privateLinkDB->add($bookmark); + $this->privateLinkDB->add($bookmark, false); $bookmark = $this->privateLinkDB->get(43); $this->assertEquals(43, $bookmark->getId()); @@ -249,34 +249,34 @@ class BookmarkFileServiceTest extends TestCase /** * Test add() method while logged out - * - * @expectedException \Exception - * @expectedExceptionMessage You're not authorized to alter the datastore */ public function testAddLoggedOut() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('You\'re not authorized to alter the datastore'); + $this->publicLinkDB->add(new Bookmark()); } /** * Test add() method with an entry which is not a bookmark instance - * - * @expectedException \Exception - * @expectedExceptionMessage Provided data is invalid */ public function testAddNotABookmark() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Provided data is invalid'); + $this->privateLinkDB->add(['title' => 'hi!']); } /** * Test add() method with a Bookmark already containing an ID - * - * @expectedException \Exception - * @expectedExceptionMessage This bookmarks already exists */ public function testAddWithId() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('This bookmarks already exists'); + $bookmark = new Bookmark(); $bookmark->setId(43); $this->privateLinkDB->add($bookmark); @@ -397,44 +397,44 @@ class BookmarkFileServiceTest extends TestCase /** * Test set() method while logged out - * - * @expectedException \Exception - * @expectedExceptionMessage You're not authorized to alter the datastore */ public function testSetLoggedOut() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('You\'re not authorized to alter the datastore'); + $this->publicLinkDB->set(new Bookmark()); } /** * Test set() method with an entry which is not a bookmark instance - * - * @expectedException \Exception - * @expectedExceptionMessage Provided data is invalid */ public function testSetNotABookmark() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Provided data is invalid'); + $this->privateLinkDB->set(['title' => 'hi!']); } /** * Test set() method with a Bookmark without an ID defined. - * - * @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testSetWithoutId() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $bookmark = new Bookmark(); $this->privateLinkDB->set($bookmark); } /** * Test set() method with a Bookmark with an unknow ID - * - * @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testSetWithUnknownId() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $bookmark = new Bookmark(); $bookmark->setId(666); $this->privateLinkDB->set($bookmark); @@ -481,23 +481,23 @@ class BookmarkFileServiceTest extends TestCase /** * Test addOrSet() method while logged out - * - * @expectedException \Exception - * @expectedExceptionMessage You're not authorized to alter the datastore */ public function testAddOrSetLoggedOut() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('You\'re not authorized to alter the datastore'); + $this->publicLinkDB->addOrSet(new Bookmark()); } /** * Test addOrSet() method with an entry which is not a bookmark instance - * - * @expectedException \Exception - * @expectedExceptionMessage Provided data is invalid */ public function testAddOrSetNotABookmark() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Provided data is invalid'); + $this->privateLinkDB->addOrSet(['title' => 'hi!']); } @@ -524,11 +524,11 @@ class BookmarkFileServiceTest extends TestCase /** * Test remove() method with an existing Bookmark - * - * @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testRemoveExisting() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $bookmark = $this->privateLinkDB->get(42); $this->privateLinkDB->remove($bookmark); @@ -548,34 +548,34 @@ class BookmarkFileServiceTest extends TestCase /** * Test remove() method while logged out - * - * @expectedException \Exception - * @expectedExceptionMessage You're not authorized to alter the datastore */ public function testRemoveLoggedOut() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('You\'re not authorized to alter the datastore'); + $bookmark = $this->privateLinkDB->get(42); $this->publicLinkDB->remove($bookmark); } /** * Test remove() method with an entry which is not a bookmark instance - * - * @expectedException \Exception - * @expectedExceptionMessage Provided data is invalid */ public function testRemoveNotABookmark() { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Provided data is invalid'); + $this->privateLinkDB->remove(['title' => 'hi!']); } /** * Test remove() method with a Bookmark with an unknown ID - * - * @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testRemoveWithUnknownId() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $bookmark = new Bookmark(); $bookmark->setId(666); $this->privateLinkDB->remove($bookmark); @@ -635,15 +635,15 @@ class BookmarkFileServiceTest extends TestCase * to make sure that nothing have been broken in the migration process. * They mostly cover search/filters. Some of them might be redundant with the previous ones. */ - /** * Attempt to instantiate a LinkDB whereas the datastore is not writable * * @expectedException Shaarli\Bookmark\Exception\NotWritableDataStoreException - * @expectedExceptionMessageRegExp #Couldn't load data from the data store file "null".*# */ public function testConstructDatastoreNotWriteable() { + $this->expectExceptionMessageRegExp('#Couldn\'t load data from the data store file "null".*#'); + $conf = new ConfigManager('tests/utils/config/configJson'); $conf->set('resource.datastore', 'null/store.db'); new BookmarkFileService($conf, $this->history, true); diff --git a/tests/bookmark/BookmarkFilterTest.php b/tests/bookmark/BookmarkFilterTest.php index 91e139c2..752631a5 100644 --- a/tests/bookmark/BookmarkFilterTest.php +++ b/tests/bookmark/BookmarkFilterTest.php @@ -213,20 +213,22 @@ class BookmarkFilterTest extends TestCase /** * Use an invalid date format * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid date format/ */ public function testFilterInvalidDayWithChars() { + $this->expectExceptionMessageRegExp('/Invalid date format/'); + self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, 'Rainy day, dream away'); } /** * Use an invalid date format * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid date format/ */ public function testFilterInvalidDayDigits() { + $this->expectExceptionMessageRegExp('/Invalid date format/'); + self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, '20'); } @@ -250,11 +252,11 @@ class BookmarkFilterTest extends TestCase /** * No link for this hash - * - * @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testFilterUnknownSmallHash() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + self::$linkFilter->filter(BookmarkFilter::$FILTER_HASH, 'Iblaah'); } diff --git a/tests/config/ConfigJsonTest.php b/tests/config/ConfigJsonTest.php index f1612e9b..f884b0c6 100644 --- a/tests/config/ConfigJsonTest.php +++ b/tests/config/ConfigJsonTest.php @@ -38,12 +38,12 @@ class ConfigJsonTest extends \PHPUnit\Framework\TestCase /** * Read a non existent config file -> empty array. - * - * @expectedException \Exception - * @expectedExceptionMessageRegExp /An error occurred while parsing JSON configuration file \([\w\/\.]+\): error code #4/ */ public function testReadInvalidJson() { + $this->expectException(\Exception::class); + $this->expectExceptionMessageRegExp(' /An error occurred while parsing JSON configuration file \\([\\w\\/\\.]+\\): error code #4/'); + $this->configIO->read('tests/utils/config/configInvalid.json.php'); } @@ -110,22 +110,22 @@ class ConfigJsonTest extends \PHPUnit\Framework\TestCase /** * Write to invalid path. - * - * @expectedException \Shaarli\Exceptions\IOException */ public function testWriteInvalidArray() { + $this->expectException(\Shaarli\Exceptions\IOException::class); + $conf = array('conf' => 'value'); @$this->configIO->write(array(), $conf); } /** * Write to invalid path. - * - * @expectedException \Shaarli\Exceptions\IOException */ public function testWriteInvalidBlank() { + $this->expectException(\Shaarli\Exceptions\IOException::class); + $conf = array('conf' => 'value'); @$this->configIO->write('', $conf); } diff --git a/tests/config/ConfigManagerTest.php b/tests/config/ConfigManagerTest.php index 69456bce..802e6524 100644 --- a/tests/config/ConfigManagerTest.php +++ b/tests/config/ConfigManagerTest.php @@ -95,44 +95,44 @@ class ConfigManagerTest extends \PHPUnit\Framework\TestCase /** * Set with an empty key. - * - * @expectedException \Exception - * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# */ public function testSetEmptyKey() { + $this->expectException(\Exception::class); + $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); + $this->conf->set('', 'stuff'); } /** * Set with an array key. - * - * @expectedException \Exception - * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# */ public function testSetArrayKey() { + $this->expectException(\Exception::class); + $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); + $this->conf->set(array('foo' => 'bar'), 'stuff'); } /** * Remove with an empty key. - * - * @expectedException \Exception - * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# */ public function testRmoveEmptyKey() { + $this->expectException(\Exception::class); + $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); + $this->conf->remove(''); } /** * Try to write the config without mandatory parameter (e.g. 'login'). - * - * @expectedException Shaarli\Config\Exception\MissingFieldConfigException */ public function testWriteMissingParameter() { + $this->expectException(\Shaarli\Config\Exception\MissingFieldConfigException::class); + $this->conf->setConfigFile('tests/utils/config/configTmp'); $this->assertFalse(file_exists($this->conf->getConfigFileExt())); $this->conf->reload(); diff --git a/tests/config/ConfigPluginTest.php b/tests/config/ConfigPluginTest.php index b2cc0045..3a45f623 100644 --- a/tests/config/ConfigPluginTest.php +++ b/tests/config/ConfigPluginTest.php @@ -46,11 +46,11 @@ class ConfigPluginTest extends \PHPUnit\Framework\TestCase /** * Test save_plugin_config with invalid data. - * - * @expectedException Shaarli\Config\Exception\PluginConfigOrderException */ public function testSavePluginConfigInvalid() { + $this->expectException(\Shaarli\Config\Exception\PluginConfigOrderException::class); + $data = array( 'plugin2' => 0, 'plugin3' => 0, diff --git a/tests/legacy/LegacyLinkDBTest.php b/tests/legacy/LegacyLinkDBTest.php index 92cf607c..819bc272 100644 --- a/tests/legacy/LegacyLinkDBTest.php +++ b/tests/legacy/LegacyLinkDBTest.php @@ -101,10 +101,11 @@ class LegacyLinkDBTest extends \PHPUnit\Framework\TestCase * Attempt to instantiate a LinkDB whereas the datastore is not writable * * @expectedException Shaarli\Exceptions\IOException - * @expectedExceptionMessageRegExp /Error accessing "null"/ */ public function testConstructDatastoreNotWriteable() { + $this->expectExceptionMessageRegExp('/Error accessing "null"/'); + new LegacyLinkDB('null/store.db', false, false); } @@ -420,22 +421,22 @@ class LegacyLinkDBTest extends \PHPUnit\Framework\TestCase /** * Test filterHash() with an invalid smallhash. - * - * @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testFilterHashInValid1() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + $request = 'blabla'; self::$publicLinkDB->filterHash($request); } /** * Test filterHash() with an empty smallhash. - * - * @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testFilterHashInValid() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + self::$publicLinkDB->filterHash(''); } diff --git a/tests/legacy/LegacyLinkFilterTest.php b/tests/legacy/LegacyLinkFilterTest.php index 8223cc15..9db921a9 100644 --- a/tests/legacy/LegacyLinkFilterTest.php +++ b/tests/legacy/LegacyLinkFilterTest.php @@ -198,20 +198,22 @@ class LegacyLinkFilterTest extends \PHPUnit\Framework\TestCase /** * Use an invalid date format * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid date format/ */ public function testFilterInvalidDayWithChars() { + $this->expectExceptionMessageRegExp('/Invalid date format/'); + self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, 'Rainy day, dream away'); } /** * Use an invalid date format * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid date format/ */ public function testFilterInvalidDayDigits() { + $this->expectExceptionMessageRegExp('/Invalid date format/'); + self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '20'); } @@ -235,11 +237,11 @@ class LegacyLinkFilterTest extends \PHPUnit\Framework\TestCase /** * No link for this hash - * - * @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException */ public function testFilterUnknownSmallHash() { + $this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class); + self::$linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, 'Iblaah'); } diff --git a/tests/legacy/LegacyUpdaterTest.php b/tests/legacy/LegacyUpdaterTest.php index 9b693dcb..acfac530 100644 --- a/tests/legacy/LegacyUpdaterTest.php +++ b/tests/legacy/LegacyUpdaterTest.php @@ -82,10 +82,11 @@ class LegacyUpdaterTest extends \PHPUnit\Framework\TestCase * Test errors in UpdaterUtils::write_updates_file(): empty updates file. * * @expectedException Exception - * @expectedExceptionMessageRegExp /Updates file path is not set(.*)/ */ public function testWriteEmptyUpdatesFile() { + $this->expectExceptionMessageRegExp('/Updates file path is not set(.*)/'); + UpdaterUtils::write_updates_file('', array('test')); } @@ -93,10 +94,11 @@ class LegacyUpdaterTest extends \PHPUnit\Framework\TestCase * Test errors in UpdaterUtils::write_updates_file(): not writable updates file. * * @expectedException Exception - * @expectedExceptionMessageRegExp /Unable to write(.*)/ */ public function testWriteUpdatesFileNotWritable() { + $this->expectExceptionMessageRegExp('/Unable to write(.*)/'); + $updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt'; touch($updatesFile); chmod($updatesFile, 0444); @@ -161,11 +163,11 @@ class LegacyUpdaterTest extends \PHPUnit\Framework\TestCase /** * Test Update failed. - * - * @expectedException \Exception */ public function testUpdateFailed() { + $this->expectException(\Exception::class); + $updates = array( 'updateMethodDummy1', 'updateMethodDummy2', diff --git a/tests/netscape/BookmarkExportTest.php b/tests/netscape/BookmarkExportTest.php index 13b85f3d..a6eacae4 100644 --- a/tests/netscape/BookmarkExportTest.php +++ b/tests/netscape/BookmarkExportTest.php @@ -78,10 +78,11 @@ class BookmarkExportTest extends TestCase /** * Attempt to export an invalid link selection * @expectedException Exception - * @expectedExceptionMessageRegExp /Invalid export selection/ */ public function testFilterAndFormatInvalid() { + $this->expectExceptionMessageRegExp('/Invalid export selection/'); + $this->netscapeBookmarkUtils->filterAndFormat( self::$formatter, 'derp', diff --git a/tests/updater/UpdaterTest.php b/tests/updater/UpdaterTest.php index 277f2fb0..5cfcd5db 100644 --- a/tests/updater/UpdaterTest.php +++ b/tests/updater/UpdaterTest.php @@ -89,10 +89,11 @@ class UpdaterTest extends TestCase * Test errors in UpdaterUtils::write_updates_file(): empty updates file. * * @expectedException Exception - * @expectedExceptionMessageRegExp /Updates file path is not set(.*)/ */ public function testWriteEmptyUpdatesFile() { + $this->expectExceptionMessageRegExp('/Updates file path is not set(.*)/'); + UpdaterUtils::write_updates_file('', array('test')); } @@ -100,10 +101,11 @@ class UpdaterTest extends TestCase * Test errors in UpdaterUtils::write_updates_file(): not writable updates file. * * @expectedException Exception - * @expectedExceptionMessageRegExp /Unable to write(.*)/ */ public function testWriteUpdatesFileNotWritable() { + $this->expectExceptionMessageRegExp('/Unable to write(.*)/'); + $updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt'; touch($updatesFile); chmod($updatesFile, 0444); @@ -168,11 +170,11 @@ class UpdaterTest extends TestCase /** * Test Update failed. - * - * @expectedException \Exception */ public function testUpdateFailed() { + $this->expectException(\Exception::class); + $updates = array( 'updateMethodDummy1', 'updateMethodDummy2',