Convert legacy PHPUnit @expected* to new ->expect*
Converted automatically using https://github.com/ArthurHoaro/convert-legacy-phpunit-expect
This commit is contained in:
parent
8f60e1206e
commit
b1baca99f2
22 changed files with 184 additions and 171 deletions
|
@ -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": {
|
||||
|
|
|
@ -145,10 +145,11 @@ public function testCheckUpdateNewVersionUnavailable()
|
|||
/**
|
||||
* 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 @@ public function testCheckSupportedPHPVersion()
|
|||
/**
|
||||
* 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'));
|
||||
}
|
||||
|
||||
|
|
|
@ -49,12 +49,12 @@ public function testSimpleWriteRead()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testWriteWithoutPermission()
|
|||
|
||||
/**
|
||||
* 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);
|
||||
|
|
|
@ -44,12 +44,12 @@ public function testAddEventCreateFile()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testConstructNotWritable()
|
|||
|
||||
/**
|
||||
* 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
|
||||
|
|
|
@ -66,143 +66,143 @@ public function testValidateJwtTokenValid()
|
|||
|
||||
/**
|
||||
* 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');
|
||||
}
|
||||
|
|
|
@ -113,11 +113,11 @@ public function testDeleteLinkValid()
|
|||
|
||||
/**
|
||||
* 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([
|
||||
|
|
|
@ -120,12 +120,12 @@ public function testGetLinkId()
|
|||
|
||||
/**
|
||||
* 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',
|
||||
]);
|
||||
|
|
|
@ -218,12 +218,12 @@ public function testPutLinkDuplicate()
|
|||
|
||||
/**
|
||||
* 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',
|
||||
]);
|
||||
|
|
|
@ -150,12 +150,12 @@ public function testDeleteTagCaseSensitivity()
|
|||
|
||||
/**
|
||||
* 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]));
|
||||
|
|
|
@ -117,12 +117,12 @@ public function testGetTagNotCaseSensitive()
|
|||
|
||||
/**
|
||||
* 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',
|
||||
]);
|
||||
|
|
|
@ -159,12 +159,12 @@ public function testPutTagMerge()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testPutTagEmpty()
|
|||
|
||||
/**
|
||||
* 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',
|
||||
]);
|
||||
|
|
|
@ -47,22 +47,22 @@ public function testArrayAccessAddEntries()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testArrayAccessAddBadEntryNoId()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testArrayAccessAddBadEntryNoUrl()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testArrayAccessAddBadEntryOffset()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testArrayAccessAddBadEntryIdType()
|
|||
|
||||
/**
|
||||
* 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();
|
||||
|
|
|
@ -134,11 +134,11 @@ public function testGetDefinedNotSaved()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testAddMinimal()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testAddMinimalNoWrite()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testSetMinimalNoWrite()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testAddOrSetExisting()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testAddOrSetMinimalNoWrite()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testRemoveExisting()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testInitialize()
|
|||
* 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);
|
||||
|
|
|
@ -213,20 +213,22 @@ public function testFilterUnknownDay()
|
|||
/**
|
||||
* 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 @@ public function testFilterSmallHash()
|
|||
|
||||
/**
|
||||
* 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');
|
||||
}
|
||||
|
||||
|
|
|
@ -38,12 +38,12 @@ public function testReadNonExistent()
|
|||
|
||||
/**
|
||||
* 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 @@ public function testOverwrite()
|
|||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
|
|
|
@ -95,44 +95,44 @@ public function testSetDeleteNested()
|
|||
|
||||
/**
|
||||
* 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();
|
||||
|
|
|
@ -46,11 +46,11 @@ public function testSavePluginConfigValid()
|
|||
|
||||
/**
|
||||
* 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,
|
||||
|
|
|
@ -101,10 +101,11 @@ public function testConstructLoggedOut()
|
|||
* 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 @@ public function testFilterHashValid()
|
|||
|
||||
/**
|
||||
* 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('');
|
||||
}
|
||||
|
||||
|
|
|
@ -198,20 +198,22 @@ public function testFilterUnknownDay()
|
|||
/**
|
||||
* 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 @@ public function testFilterSmallHash()
|
|||
|
||||
/**
|
||||
* 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');
|
||||
}
|
||||
|
||||
|
|
|
@ -82,10 +82,11 @@ public function testReadWriteUpdatesFile()
|
|||
* 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 @@ public function testWriteEmptyUpdatesFile()
|
|||
* 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 @@ public function testOneUpdate()
|
|||
|
||||
/**
|
||||
* Test Update failed.
|
||||
*
|
||||
* @expectedException \Exception
|
||||
*/
|
||||
public function testUpdateFailed()
|
||||
{
|
||||
$this->expectException(\Exception::class);
|
||||
|
||||
$updates = array(
|
||||
'updateMethodDummy1',
|
||||
'updateMethodDummy2',
|
||||
|
|
|
@ -78,10 +78,11 @@ public function setUp(): void
|
|||
/**
|
||||
* 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',
|
||||
|
|
|
@ -89,10 +89,11 @@ public function testReadWriteUpdatesFile()
|
|||
* 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 @@ public function testWriteEmptyUpdatesFile()
|
|||
* 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 @@ public function testOneUpdate()
|
|||
|
||||
/**
|
||||
* Test Update failed.
|
||||
*
|
||||
* @expectedException \Exception
|
||||
*/
|
||||
public function testUpdateFailed()
|
||||
{
|
||||
$this->expectException(\Exception::class);
|
||||
|
||||
$updates = array(
|
||||
'updateMethodDummy1',
|
||||
'updateMethodDummy2',
|
||||
|
|
Loading…
Reference in a new issue