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": {
|
"require-dev": {
|
||||||
"roave/security-advisories": "dev-master",
|
"roave/security-advisories": "dev-master",
|
||||||
"phpunit/phpcov": "*",
|
"phpunit/phpcov": "*",
|
||||||
"phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
|
"phpunit/phpunit": "^7.5 || ^8.0",
|
||||||
"squizlabs/php_codesniffer": "3.*"
|
"squizlabs/php_codesniffer": "3.*"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
|
|
@ -145,10 +145,11 @@ public function testCheckUpdateNewVersionUnavailable()
|
||||||
/**
|
/**
|
||||||
* Test update checks - invalid Git branch
|
* Test update checks - invalid Git branch
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid branch selected for updates/
|
|
||||||
*/
|
*/
|
||||||
public function testCheckUpdateInvalidGitBranch()
|
public function testCheckUpdateInvalidGitBranch()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid branch selected for updates/');
|
||||||
|
|
||||||
ApplicationUtils::checkUpdate('', 'null', 0, true, true, 'unstable');
|
ApplicationUtils::checkUpdate('', 'null', 0, true, true, 'unstable');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,20 +262,22 @@ public function testCheckSupportedPHPVersion()
|
||||||
/**
|
/**
|
||||||
* Check a unsupported PHP version
|
* Check a unsupported PHP version
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
|
||||||
*/
|
*/
|
||||||
public function testCheckSupportedPHPVersion51()
|
public function testCheckSupportedPHPVersion51()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Your PHP version is obsolete/');
|
||||||
|
|
||||||
$this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.1.0'));
|
$this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.1.0'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check another unsupported PHP version
|
* Check another unsupported PHP version
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
|
||||||
*/
|
*/
|
||||||
public function testCheckSupportedPHPVersion52()
|
public function testCheckSupportedPHPVersion52()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Your PHP version is obsolete/');
|
||||||
|
|
||||||
$this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.2'));
|
$this->assertTrue(ApplicationUtils::checkPHPVersion('5.3', '5.2'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,12 +49,12 @@ public function testSimpleWriteRead()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File not writable: raise an exception.
|
* File not writable: raise an exception.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Exceptions\IOException
|
|
||||||
* @expectedExceptionMessage Error accessing "sandbox/flat.db"
|
|
||||||
*/
|
*/
|
||||||
public function testWriteWithoutPermission()
|
public function testWriteWithoutPermission()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Exceptions\IOException::class);
|
||||||
|
$this->expectExceptionMessage('Error accessing "sandbox/flat.db"');
|
||||||
|
|
||||||
touch(self::$file);
|
touch(self::$file);
|
||||||
chmod(self::$file, 0440);
|
chmod(self::$file, 0440);
|
||||||
FileUtils::writeFlatDB(self::$file, null);
|
FileUtils::writeFlatDB(self::$file, null);
|
||||||
|
@ -62,23 +62,23 @@ public function testWriteWithoutPermission()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Folder non existent: raise an exception.
|
* Folder non existent: raise an exception.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Exceptions\IOException
|
|
||||||
* @expectedExceptionMessage Error accessing "nopefolder"
|
|
||||||
*/
|
*/
|
||||||
public function testWriteFolderDoesNotExist()
|
public function testWriteFolderDoesNotExist()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Exceptions\IOException::class);
|
||||||
|
$this->expectExceptionMessage('Error accessing "nopefolder"');
|
||||||
|
|
||||||
FileUtils::writeFlatDB('nopefolder/file', null);
|
FileUtils::writeFlatDB('nopefolder/file', null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Folder non writable: raise an exception.
|
* Folder non writable: raise an exception.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Exceptions\IOException
|
|
||||||
* @expectedExceptionMessage Error accessing "sandbox"
|
|
||||||
*/
|
*/
|
||||||
public function testWriteFolderPermission()
|
public function testWriteFolderPermission()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Exceptions\IOException::class);
|
||||||
|
$this->expectExceptionMessage('Error accessing "sandbox"');
|
||||||
|
|
||||||
chmod(dirname(self::$file), 0555);
|
chmod(dirname(self::$file), 0555);
|
||||||
try {
|
try {
|
||||||
FileUtils::writeFlatDB(self::$file, null);
|
FileUtils::writeFlatDB(self::$file, null);
|
||||||
|
|
|
@ -44,12 +44,12 @@ public function testAddEventCreateFile()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not writable history file: raise an exception.
|
* Not writable history file: raise an exception.
|
||||||
*
|
|
||||||
* @expectedException Exception
|
|
||||||
* @expectedExceptionMessage History file isn't readable or writable
|
|
||||||
*/
|
*/
|
||||||
public function testConstructNotWritable()
|
public function testConstructNotWritable()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('History file isn\'t readable or writable');
|
||||||
|
|
||||||
touch(self::$historyFilePath);
|
touch(self::$historyFilePath);
|
||||||
chmod(self::$historyFilePath, 0440);
|
chmod(self::$historyFilePath, 0440);
|
||||||
$history = new History(self::$historyFilePath);
|
$history = new History(self::$historyFilePath);
|
||||||
|
@ -58,12 +58,12 @@ public function testConstructNotWritable()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not parsable history file: raise an exception.
|
* Not parsable history file: raise an exception.
|
||||||
*
|
|
||||||
* @expectedException Exception
|
|
||||||
* @expectedExceptionMessageRegExp /Could not parse history file/
|
|
||||||
*/
|
*/
|
||||||
public function testConstructNotParsable()
|
public function testConstructNotParsable()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessageRegExp('/Could not parse history file/');
|
||||||
|
|
||||||
file_put_contents(self::$historyFilePath, 'not parsable');
|
file_put_contents(self::$historyFilePath, 'not parsable');
|
||||||
$history = new History(self::$historyFilePath);
|
$history = new History(self::$historyFilePath);
|
||||||
// gzinflate generates a warning
|
// gzinflate generates a warning
|
||||||
|
|
|
@ -66,143 +66,143 @@ public function testValidateJwtTokenValid()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a malformed JWT token.
|
* Test validateJwtToken() with a malformed JWT token.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Malformed JWT token
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenMalformed()
|
public function testValidateJwtTokenMalformed()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Malformed JWT token');
|
||||||
|
|
||||||
$token = 'ABC.DEF';
|
$token = 'ABC.DEF';
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with an empty JWT token.
|
* Test validateJwtToken() with an empty JWT token.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Malformed JWT token
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenMalformedEmpty()
|
public function testValidateJwtTokenMalformedEmpty()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Malformed JWT token');
|
||||||
|
|
||||||
$token = false;
|
$token = false;
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token without header.
|
* Test validateJwtToken() with a JWT token without header.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Malformed JWT token
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenMalformedEmptyHeader()
|
public function testValidateJwtTokenMalformedEmptyHeader()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Malformed JWT token');
|
||||||
|
|
||||||
$token = '.payload.signature';
|
$token = '.payload.signature';
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token without payload
|
* Test validateJwtToken() with a JWT token without payload
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Malformed JWT token
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenMalformedEmptyPayload()
|
public function testValidateJwtTokenMalformedEmptyPayload()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Malformed JWT token');
|
||||||
|
|
||||||
$token = 'header..signature';
|
$token = 'header..signature';
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token with an empty signature.
|
* Test validateJwtToken() with a JWT token with an empty signature.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Invalid JWT signature
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenInvalidSignatureEmpty()
|
public function testValidateJwtTokenInvalidSignatureEmpty()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT signature');
|
||||||
|
|
||||||
$token = 'header.payload.';
|
$token = 'header.payload.';
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token with an invalid signature.
|
* Test validateJwtToken() with a JWT token with an invalid signature.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Invalid JWT signature
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenInvalidSignature()
|
public function testValidateJwtTokenInvalidSignature()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT signature');
|
||||||
|
|
||||||
$token = 'header.payload.nope';
|
$token = 'header.payload.nope';
|
||||||
ApiUtils::validateJwtToken($token, 'foo');
|
ApiUtils::validateJwtToken($token, 'foo');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token with a signature generated with the wrong API secret.
|
* 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()
|
public function testValidateJwtTokenInvalidSignatureSecret()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT signature');
|
||||||
|
|
||||||
ApiUtils::validateJwtToken(self::generateValidJwtToken('foo'), 'bar');
|
ApiUtils::validateJwtToken(self::generateValidJwtToken('foo'), 'bar');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token with a an invalid header (not JSON).
|
* 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()
|
public function testValidateJwtTokenInvalidHeader()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT header');
|
||||||
|
|
||||||
$token = $this->generateCustomJwtToken('notJSON', '{"JSON":1}', 'secret');
|
$token = $this->generateCustomJwtToken('notJSON', '{"JSON":1}', 'secret');
|
||||||
ApiUtils::validateJwtToken($token, 'secret');
|
ApiUtils::validateJwtToken($token, 'secret');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token with a an invalid payload (not JSON).
|
* 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()
|
public function testValidateJwtTokenInvalidPayload()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT payload');
|
||||||
|
|
||||||
$token = $this->generateCustomJwtToken('{"JSON":1}', 'notJSON', 'secret');
|
$token = $this->generateCustomJwtToken('{"JSON":1}', 'notJSON', 'secret');
|
||||||
ApiUtils::validateJwtToken($token, 'secret');
|
ApiUtils::validateJwtToken($token, 'secret');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token without issued time.
|
* Test validateJwtToken() with a JWT token without issued time.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Invalid JWT issued time
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenInvalidTimeEmpty()
|
public function testValidateJwtTokenInvalidTimeEmpty()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiAuthorizationException::class);
|
||||||
|
$this->expectExceptionMessage('Invalid JWT issued time');
|
||||||
|
|
||||||
$token = $this->generateCustomJwtToken('{"JSON":1}', '{"JSON":1}', 'secret');
|
$token = $this->generateCustomJwtToken('{"JSON":1}', '{"JSON":1}', 'secret');
|
||||||
ApiUtils::validateJwtToken($token, 'secret');
|
ApiUtils::validateJwtToken($token, 'secret');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with an expired JWT token.
|
* Test validateJwtToken() with an expired JWT token.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Invalid JWT issued time
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenInvalidTimeExpired()
|
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');
|
$token = $this->generateCustomJwtToken('{"JSON":1}', '{"iat":' . (time() - 600) . '}', 'secret');
|
||||||
ApiUtils::validateJwtToken($token, 'secret');
|
ApiUtils::validateJwtToken($token, 'secret');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test validateJwtToken() with a JWT token issued in the future.
|
* Test validateJwtToken() with a JWT token issued in the future.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiAuthorizationException
|
|
||||||
* @expectedExceptionMessage Invalid JWT issued time
|
|
||||||
*/
|
*/
|
||||||
public function testValidateJwtTokenInvalidTimeFuture()
|
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');
|
$token = $this->generateCustomJwtToken('{"JSON":1}', '{"iat":' . (time() + 60) . '}', 'secret');
|
||||||
ApiUtils::validateJwtToken($token, 'secret');
|
ApiUtils::validateJwtToken($token, 'secret');
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,11 +113,11 @@ public function testDeleteLinkValid()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test DELETE link endpoint: reach not existing ID.
|
* Test DELETE link endpoint: reach not existing ID.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Api\Exceptions\ApiLinkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testDeleteLink404()
|
public function testDeleteLink404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class);
|
||||||
|
|
||||||
$id = -1;
|
$id = -1;
|
||||||
$this->assertFalse($this->bookmarkService->exists($id));
|
$this->assertFalse($this->bookmarkService->exists($id));
|
||||||
$env = Environment::mock([
|
$env = Environment::mock([
|
||||||
|
|
|
@ -120,12 +120,12 @@ public function testGetLinkId()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test basic getLink service: get non existent link => ApiLinkNotFoundException.
|
* Test basic getLink service: get non existent link => ApiLinkNotFoundException.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Api\Exceptions\ApiLinkNotFoundException
|
|
||||||
* @expectedExceptionMessage Link not found
|
|
||||||
*/
|
*/
|
||||||
public function testGetLink404()
|
public function testGetLink404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class);
|
||||||
|
$this->expectExceptionMessage('Link not found');
|
||||||
|
|
||||||
$env = Environment::mock([
|
$env = Environment::mock([
|
||||||
'REQUEST_METHOD' => 'GET',
|
'REQUEST_METHOD' => 'GET',
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -218,12 +218,12 @@ public function testPutLinkDuplicate()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test link update on non existent link => ApiLinkNotFoundException.
|
* Test link update on non existent link => ApiLinkNotFoundException.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Api\Exceptions\ApiLinkNotFoundException
|
|
||||||
* @expectedExceptionMessage Link not found
|
|
||||||
*/
|
*/
|
||||||
public function testGetLink404()
|
public function testGetLink404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiLinkNotFoundException::class);
|
||||||
|
$this->expectExceptionMessage('Link not found');
|
||||||
|
|
||||||
$env = Environment::mock([
|
$env = Environment::mock([
|
||||||
'REQUEST_METHOD' => 'PUT',
|
'REQUEST_METHOD' => 'PUT',
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -150,12 +150,12 @@ public function testDeleteTagCaseSensitivity()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test DELETE tag endpoint: reach not existing tag.
|
* Test DELETE tag endpoint: reach not existing tag.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException
|
|
||||||
* @expectedExceptionMessage Tag not found
|
|
||||||
*/
|
*/
|
||||||
public function testDeleteLink404()
|
public function testDeleteLink404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class);
|
||||||
|
$this->expectExceptionMessage('Tag not found');
|
||||||
|
|
||||||
$tagName = 'nopenope';
|
$tagName = 'nopenope';
|
||||||
$tags = $this->bookmarkService->bookmarksCountPerTag();
|
$tags = $this->bookmarkService->bookmarksCountPerTag();
|
||||||
$this->assertFalse(isset($tags[$tagName]));
|
$this->assertFalse(isset($tags[$tagName]));
|
||||||
|
|
|
@ -117,12 +117,12 @@ public function testGetTagNotCaseSensitive()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test basic getTag service: get non existent tag => ApiTagNotFoundException.
|
* Test basic getTag service: get non existent tag => ApiTagNotFoundException.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException
|
|
||||||
* @expectedExceptionMessage Tag not found
|
|
||||||
*/
|
*/
|
||||||
public function testGetTag404()
|
public function testGetTag404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class);
|
||||||
|
$this->expectExceptionMessage('Tag not found');
|
||||||
|
|
||||||
$env = Environment::mock([
|
$env = Environment::mock([
|
||||||
'REQUEST_METHOD' => 'GET',
|
'REQUEST_METHOD' => 'GET',
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -159,12 +159,12 @@ public function testPutTagMerge()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test tag update with an empty new tag name => ApiBadParametersException
|
* 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()
|
public function testPutTagEmpty()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiBadParametersException::class);
|
||||||
|
$this->expectExceptionMessage('New tag name is required in the request body');
|
||||||
|
|
||||||
$tagName = 'gnu';
|
$tagName = 'gnu';
|
||||||
$newName = '';
|
$newName = '';
|
||||||
|
|
||||||
|
@ -194,12 +194,12 @@ public function testPutTagEmpty()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test tag update on non existent tag => ApiTagNotFoundException.
|
* Test tag update on non existent tag => ApiTagNotFoundException.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Api\Exceptions\ApiTagNotFoundException
|
|
||||||
* @expectedExceptionMessage Tag not found
|
|
||||||
*/
|
*/
|
||||||
public function testPutTag404()
|
public function testPutTag404()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Api\Exceptions\ApiTagNotFoundException::class);
|
||||||
|
$this->expectExceptionMessage('Tag not found');
|
||||||
|
|
||||||
$env = Environment::mock([
|
$env = Environment::mock([
|
||||||
'REQUEST_METHOD' => 'PUT',
|
'REQUEST_METHOD' => 'PUT',
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -47,22 +47,22 @@ public function testArrayAccessAddEntries()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: wrong type
|
* Test adding a bad entry: wrong type
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryInstance()
|
public function testArrayAccessAddBadEntryInstance()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$array[] = 'nope';
|
$array[] = 'nope';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: no id
|
* Test adding a bad entry: no id
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryNoId()
|
public function testArrayAccessAddBadEntryNoId()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$array[] = $bookmark;
|
$array[] = $bookmark;
|
||||||
|
@ -70,11 +70,11 @@ public function testArrayAccessAddBadEntryNoId()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: no url
|
* Test adding a bad entry: no url
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryNoUrl()
|
public function testArrayAccessAddBadEntryNoUrl()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$bookmark = (new Bookmark())->setId(11);
|
$bookmark = (new Bookmark())->setId(11);
|
||||||
$array[] = $bookmark;
|
$array[] = $bookmark;
|
||||||
|
@ -82,11 +82,11 @@ public function testArrayAccessAddBadEntryNoUrl()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: invalid offset
|
* Test adding a bad entry: invalid offset
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryOffset()
|
public function testArrayAccessAddBadEntryOffset()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$bookmark = (new Bookmark())->setId(11);
|
$bookmark = (new Bookmark())->setId(11);
|
||||||
$bookmark->validate();
|
$bookmark->validate();
|
||||||
|
@ -95,11 +95,11 @@ public function testArrayAccessAddBadEntryOffset()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: invalid ID type
|
* Test adding a bad entry: invalid ID type
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryIdType()
|
public function testArrayAccessAddBadEntryIdType()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$bookmark = (new Bookmark())->setId('nope');
|
$bookmark = (new Bookmark())->setId('nope');
|
||||||
$bookmark->validate();
|
$bookmark->validate();
|
||||||
|
@ -108,11 +108,11 @@ public function testArrayAccessAddBadEntryIdType()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test adding a bad entry: ID/offset not consistent
|
* Test adding a bad entry: ID/offset not consistent
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\InvalidBookmarkException
|
|
||||||
*/
|
*/
|
||||||
public function testArrayAccessAddBadEntryIdOffset()
|
public function testArrayAccessAddBadEntryIdOffset()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\InvalidBookmarkException::class);
|
||||||
|
|
||||||
$array = new BookmarkArray();
|
$array = new BookmarkArray();
|
||||||
$bookmark = (new Bookmark())->setId(11);
|
$bookmark = (new Bookmark())->setId(11);
|
||||||
$bookmark->validate();
|
$bookmark->validate();
|
||||||
|
|
|
@ -134,11 +134,11 @@ public function testGetDefinedNotSaved()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test get() method for an undefined bookmark
|
* Test get() method for an undefined bookmark
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testGetUndefined()
|
public function testGetUndefined()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$this->privateLinkDB->get(666);
|
$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
|
* Test add() method for a bookmark without any field set and without writing the data store
|
||||||
*
|
|
||||||
* @expectedExceptionMessage Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testAddMinimalNoWrite()
|
public function testAddMinimalNoWrite()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$this->privateLinkDB->add($bookmark);
|
$this->privateLinkDB->add($bookmark, false);
|
||||||
|
|
||||||
$bookmark = $this->privateLinkDB->get(43);
|
$bookmark = $this->privateLinkDB->get(43);
|
||||||
$this->assertEquals(43, $bookmark->getId());
|
$this->assertEquals(43, $bookmark->getId());
|
||||||
|
@ -249,34 +249,34 @@ public function testAddMinimalNoWrite()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test add() method while logged out
|
* Test add() method while logged out
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage You're not authorized to alter the datastore
|
|
||||||
*/
|
*/
|
||||||
public function testAddLoggedOut()
|
public function testAddLoggedOut()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('You\'re not authorized to alter the datastore');
|
||||||
|
|
||||||
$this->publicLinkDB->add(new Bookmark());
|
$this->publicLinkDB->add(new Bookmark());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test add() method with an entry which is not a bookmark instance
|
* Test add() method with an entry which is not a bookmark instance
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage Provided data is invalid
|
|
||||||
*/
|
*/
|
||||||
public function testAddNotABookmark()
|
public function testAddNotABookmark()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('Provided data is invalid');
|
||||||
|
|
||||||
$this->privateLinkDB->add(['title' => 'hi!']);
|
$this->privateLinkDB->add(['title' => 'hi!']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test add() method with a Bookmark already containing an ID
|
* Test add() method with a Bookmark already containing an ID
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage This bookmarks already exists
|
|
||||||
*/
|
*/
|
||||||
public function testAddWithId()
|
public function testAddWithId()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('This bookmarks already exists');
|
||||||
|
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$bookmark->setId(43);
|
$bookmark->setId(43);
|
||||||
$this->privateLinkDB->add($bookmark);
|
$this->privateLinkDB->add($bookmark);
|
||||||
|
@ -397,44 +397,44 @@ public function testSetMinimalNoWrite()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test set() method while logged out
|
* Test set() method while logged out
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage You're not authorized to alter the datastore
|
|
||||||
*/
|
*/
|
||||||
public function testSetLoggedOut()
|
public function testSetLoggedOut()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('You\'re not authorized to alter the datastore');
|
||||||
|
|
||||||
$this->publicLinkDB->set(new Bookmark());
|
$this->publicLinkDB->set(new Bookmark());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test set() method with an entry which is not a bookmark instance
|
* Test set() method with an entry which is not a bookmark instance
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage Provided data is invalid
|
|
||||||
*/
|
*/
|
||||||
public function testSetNotABookmark()
|
public function testSetNotABookmark()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('Provided data is invalid');
|
||||||
|
|
||||||
$this->privateLinkDB->set(['title' => 'hi!']);
|
$this->privateLinkDB->set(['title' => 'hi!']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test set() method with a Bookmark without an ID defined.
|
* Test set() method with a Bookmark without an ID defined.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testSetWithoutId()
|
public function testSetWithoutId()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$this->privateLinkDB->set($bookmark);
|
$this->privateLinkDB->set($bookmark);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test set() method with a Bookmark with an unknow ID
|
* Test set() method with a Bookmark with an unknow ID
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testSetWithUnknownId()
|
public function testSetWithUnknownId()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$bookmark->setId(666);
|
$bookmark->setId(666);
|
||||||
$this->privateLinkDB->set($bookmark);
|
$this->privateLinkDB->set($bookmark);
|
||||||
|
@ -481,23 +481,23 @@ public function testAddOrSetExisting()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test addOrSet() method while logged out
|
* Test addOrSet() method while logged out
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage You're not authorized to alter the datastore
|
|
||||||
*/
|
*/
|
||||||
public function testAddOrSetLoggedOut()
|
public function testAddOrSetLoggedOut()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('You\'re not authorized to alter the datastore');
|
||||||
|
|
||||||
$this->publicLinkDB->addOrSet(new Bookmark());
|
$this->publicLinkDB->addOrSet(new Bookmark());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test addOrSet() method with an entry which is not a bookmark instance
|
* Test addOrSet() method with an entry which is not a bookmark instance
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage Provided data is invalid
|
|
||||||
*/
|
*/
|
||||||
public function testAddOrSetNotABookmark()
|
public function testAddOrSetNotABookmark()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('Provided data is invalid');
|
||||||
|
|
||||||
$this->privateLinkDB->addOrSet(['title' => 'hi!']);
|
$this->privateLinkDB->addOrSet(['title' => 'hi!']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,11 +524,11 @@ public function testAddOrSetMinimalNoWrite()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test remove() method with an existing Bookmark
|
* Test remove() method with an existing Bookmark
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testRemoveExisting()
|
public function testRemoveExisting()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$bookmark = $this->privateLinkDB->get(42);
|
$bookmark = $this->privateLinkDB->get(42);
|
||||||
$this->privateLinkDB->remove($bookmark);
|
$this->privateLinkDB->remove($bookmark);
|
||||||
|
|
||||||
|
@ -548,34 +548,34 @@ public function testRemoveExisting()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test remove() method while logged out
|
* Test remove() method while logged out
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage You're not authorized to alter the datastore
|
|
||||||
*/
|
*/
|
||||||
public function testRemoveLoggedOut()
|
public function testRemoveLoggedOut()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('You\'re not authorized to alter the datastore');
|
||||||
|
|
||||||
$bookmark = $this->privateLinkDB->get(42);
|
$bookmark = $this->privateLinkDB->get(42);
|
||||||
$this->publicLinkDB->remove($bookmark);
|
$this->publicLinkDB->remove($bookmark);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test remove() method with an entry which is not a bookmark instance
|
* Test remove() method with an entry which is not a bookmark instance
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessage Provided data is invalid
|
|
||||||
*/
|
*/
|
||||||
public function testRemoveNotABookmark()
|
public function testRemoveNotABookmark()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessage('Provided data is invalid');
|
||||||
|
|
||||||
$this->privateLinkDB->remove(['title' => 'hi!']);
|
$this->privateLinkDB->remove(['title' => 'hi!']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test remove() method with a Bookmark with an unknown ID
|
* Test remove() method with a Bookmark with an unknown ID
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testRemoveWithUnknownId()
|
public function testRemoveWithUnknownId()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$bookmark = new Bookmark();
|
$bookmark = new Bookmark();
|
||||||
$bookmark->setId(666);
|
$bookmark->setId(666);
|
||||||
$this->privateLinkDB->remove($bookmark);
|
$this->privateLinkDB->remove($bookmark);
|
||||||
|
@ -635,15 +635,15 @@ public function testInitialize()
|
||||||
* to make sure that nothing have been broken in the migration process.
|
* 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.
|
* 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
|
* Attempt to instantiate a LinkDB whereas the datastore is not writable
|
||||||
*
|
*
|
||||||
* @expectedException Shaarli\Bookmark\Exception\NotWritableDataStoreException
|
* @expectedException Shaarli\Bookmark\Exception\NotWritableDataStoreException
|
||||||
* @expectedExceptionMessageRegExp #Couldn't load data from the data store file "null".*#
|
|
||||||
*/
|
*/
|
||||||
public function testConstructDatastoreNotWriteable()
|
public function testConstructDatastoreNotWriteable()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('#Couldn\'t load data from the data store file "null".*#');
|
||||||
|
|
||||||
$conf = new ConfigManager('tests/utils/config/configJson');
|
$conf = new ConfigManager('tests/utils/config/configJson');
|
||||||
$conf->set('resource.datastore', 'null/store.db');
|
$conf->set('resource.datastore', 'null/store.db');
|
||||||
new BookmarkFileService($conf, $this->history, true);
|
new BookmarkFileService($conf, $this->history, true);
|
||||||
|
|
|
@ -213,20 +213,22 @@ public function testFilterUnknownDay()
|
||||||
/**
|
/**
|
||||||
* Use an invalid date format
|
* Use an invalid date format
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid date format/
|
|
||||||
*/
|
*/
|
||||||
public function testFilterInvalidDayWithChars()
|
public function testFilterInvalidDayWithChars()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid date format/');
|
||||||
|
|
||||||
self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, 'Rainy day, dream away');
|
self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, 'Rainy day, dream away');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use an invalid date format
|
* Use an invalid date format
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid date format/
|
|
||||||
*/
|
*/
|
||||||
public function testFilterInvalidDayDigits()
|
public function testFilterInvalidDayDigits()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid date format/');
|
||||||
|
|
||||||
self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, '20');
|
self::$linkFilter->filter(BookmarkFilter::$FILTER_DAY, '20');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,11 +252,11 @@ public function testFilterSmallHash()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* No link for this hash
|
* No link for this hash
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testFilterUnknownSmallHash()
|
public function testFilterUnknownSmallHash()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
self::$linkFilter->filter(BookmarkFilter::$FILTER_HASH, 'Iblaah');
|
self::$linkFilter->filter(BookmarkFilter::$FILTER_HASH, 'Iblaah');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,12 +38,12 @@ public function testReadNonExistent()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read a non existent config file -> empty array.
|
* 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()
|
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');
|
$this->configIO->read('tests/utils/config/configInvalid.json.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,22 +110,22 @@ public function testOverwrite()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write to invalid path.
|
* Write to invalid path.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Exceptions\IOException
|
|
||||||
*/
|
*/
|
||||||
public function testWriteInvalidArray()
|
public function testWriteInvalidArray()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Exceptions\IOException::class);
|
||||||
|
|
||||||
$conf = array('conf' => 'value');
|
$conf = array('conf' => 'value');
|
||||||
@$this->configIO->write(array(), $conf);
|
@$this->configIO->write(array(), $conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write to invalid path.
|
* Write to invalid path.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Exceptions\IOException
|
|
||||||
*/
|
*/
|
||||||
public function testWriteInvalidBlank()
|
public function testWriteInvalidBlank()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Exceptions\IOException::class);
|
||||||
|
|
||||||
$conf = array('conf' => 'value');
|
$conf = array('conf' => 'value');
|
||||||
@$this->configIO->write('', $conf);
|
@$this->configIO->write('', $conf);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,44 +95,44 @@ public function testSetDeleteNested()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set with an empty key.
|
* Set with an empty key.
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*#
|
|
||||||
*/
|
*/
|
||||||
public function testSetEmptyKey()
|
public function testSetEmptyKey()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#');
|
||||||
|
|
||||||
$this->conf->set('', 'stuff');
|
$this->conf->set('', 'stuff');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set with an array key.
|
* Set with an array key.
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*#
|
|
||||||
*/
|
*/
|
||||||
public function testSetArrayKey()
|
public function testSetArrayKey()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#');
|
||||||
|
|
||||||
$this->conf->set(array('foo' => 'bar'), 'stuff');
|
$this->conf->set(array('foo' => 'bar'), 'stuff');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove with an empty key.
|
* Remove with an empty key.
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
* @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*#
|
|
||||||
*/
|
*/
|
||||||
public function testRmoveEmptyKey()
|
public function testRmoveEmptyKey()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#');
|
||||||
|
|
||||||
$this->conf->remove('');
|
$this->conf->remove('');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to write the config without mandatory parameter (e.g. 'login').
|
* Try to write the config without mandatory parameter (e.g. 'login').
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Config\Exception\MissingFieldConfigException
|
|
||||||
*/
|
*/
|
||||||
public function testWriteMissingParameter()
|
public function testWriteMissingParameter()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Config\Exception\MissingFieldConfigException::class);
|
||||||
|
|
||||||
$this->conf->setConfigFile('tests/utils/config/configTmp');
|
$this->conf->setConfigFile('tests/utils/config/configTmp');
|
||||||
$this->assertFalse(file_exists($this->conf->getConfigFileExt()));
|
$this->assertFalse(file_exists($this->conf->getConfigFileExt()));
|
||||||
$this->conf->reload();
|
$this->conf->reload();
|
||||||
|
|
|
@ -46,11 +46,11 @@ public function testSavePluginConfigValid()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test save_plugin_config with invalid data.
|
* Test save_plugin_config with invalid data.
|
||||||
*
|
|
||||||
* @expectedException Shaarli\Config\Exception\PluginConfigOrderException
|
|
||||||
*/
|
*/
|
||||||
public function testSavePluginConfigInvalid()
|
public function testSavePluginConfigInvalid()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Config\Exception\PluginConfigOrderException::class);
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
'plugin2' => 0,
|
'plugin2' => 0,
|
||||||
'plugin3' => 0,
|
'plugin3' => 0,
|
||||||
|
|
|
@ -101,10 +101,11 @@ public function testConstructLoggedOut()
|
||||||
* Attempt to instantiate a LinkDB whereas the datastore is not writable
|
* Attempt to instantiate a LinkDB whereas the datastore is not writable
|
||||||
*
|
*
|
||||||
* @expectedException Shaarli\Exceptions\IOException
|
* @expectedException Shaarli\Exceptions\IOException
|
||||||
* @expectedExceptionMessageRegExp /Error accessing "null"/
|
|
||||||
*/
|
*/
|
||||||
public function testConstructDatastoreNotWriteable()
|
public function testConstructDatastoreNotWriteable()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Error accessing "null"/');
|
||||||
|
|
||||||
new LegacyLinkDB('null/store.db', false, false);
|
new LegacyLinkDB('null/store.db', false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,22 +421,22 @@ public function testFilterHashValid()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test filterHash() with an invalid smallhash.
|
* Test filterHash() with an invalid smallhash.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testFilterHashInValid1()
|
public function testFilterHashInValid1()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
$request = 'blabla';
|
$request = 'blabla';
|
||||||
self::$publicLinkDB->filterHash($request);
|
self::$publicLinkDB->filterHash($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test filterHash() with an empty smallhash.
|
* Test filterHash() with an empty smallhash.
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testFilterHashInValid()
|
public function testFilterHashInValid()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
self::$publicLinkDB->filterHash('');
|
self::$publicLinkDB->filterHash('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -198,20 +198,22 @@ public function testFilterUnknownDay()
|
||||||
/**
|
/**
|
||||||
* Use an invalid date format
|
* Use an invalid date format
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid date format/
|
|
||||||
*/
|
*/
|
||||||
public function testFilterInvalidDayWithChars()
|
public function testFilterInvalidDayWithChars()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid date format/');
|
||||||
|
|
||||||
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, 'Rainy day, dream away');
|
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, 'Rainy day, dream away');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use an invalid date format
|
* Use an invalid date format
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid date format/
|
|
||||||
*/
|
*/
|
||||||
public function testFilterInvalidDayDigits()
|
public function testFilterInvalidDayDigits()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid date format/');
|
||||||
|
|
||||||
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '20');
|
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_DAY, '20');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,11 +237,11 @@ public function testFilterSmallHash()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* No link for this hash
|
* No link for this hash
|
||||||
*
|
|
||||||
* @expectedException \Shaarli\Bookmark\Exception\BookmarkNotFoundException
|
|
||||||
*/
|
*/
|
||||||
public function testFilterUnknownSmallHash()
|
public function testFilterUnknownSmallHash()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Shaarli\Bookmark\Exception\BookmarkNotFoundException::class);
|
||||||
|
|
||||||
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, 'Iblaah');
|
self::$linkFilter->filter(LegacyLinkFilter::$FILTER_HASH, 'Iblaah');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,10 +82,11 @@ public function testReadWriteUpdatesFile()
|
||||||
* Test errors in UpdaterUtils::write_updates_file(): empty updates file.
|
* Test errors in UpdaterUtils::write_updates_file(): empty updates file.
|
||||||
*
|
*
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Updates file path is not set(.*)/
|
|
||||||
*/
|
*/
|
||||||
public function testWriteEmptyUpdatesFile()
|
public function testWriteEmptyUpdatesFile()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Updates file path is not set(.*)/');
|
||||||
|
|
||||||
UpdaterUtils::write_updates_file('', array('test'));
|
UpdaterUtils::write_updates_file('', array('test'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,10 +94,11 @@ public function testWriteEmptyUpdatesFile()
|
||||||
* Test errors in UpdaterUtils::write_updates_file(): not writable updates file.
|
* Test errors in UpdaterUtils::write_updates_file(): not writable updates file.
|
||||||
*
|
*
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Unable to write(.*)/
|
|
||||||
*/
|
*/
|
||||||
public function testWriteUpdatesFileNotWritable()
|
public function testWriteUpdatesFileNotWritable()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Unable to write(.*)/');
|
||||||
|
|
||||||
$updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt';
|
$updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt';
|
||||||
touch($updatesFile);
|
touch($updatesFile);
|
||||||
chmod($updatesFile, 0444);
|
chmod($updatesFile, 0444);
|
||||||
|
@ -161,11 +163,11 @@ public function testOneUpdate()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test Update failed.
|
* Test Update failed.
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
*/
|
*/
|
||||||
public function testUpdateFailed()
|
public function testUpdateFailed()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
|
||||||
$updates = array(
|
$updates = array(
|
||||||
'updateMethodDummy1',
|
'updateMethodDummy1',
|
||||||
'updateMethodDummy2',
|
'updateMethodDummy2',
|
||||||
|
|
|
@ -78,10 +78,11 @@ public function setUp(): void
|
||||||
/**
|
/**
|
||||||
* Attempt to export an invalid link selection
|
* Attempt to export an invalid link selection
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Invalid export selection/
|
|
||||||
*/
|
*/
|
||||||
public function testFilterAndFormatInvalid()
|
public function testFilterAndFormatInvalid()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Invalid export selection/');
|
||||||
|
|
||||||
$this->netscapeBookmarkUtils->filterAndFormat(
|
$this->netscapeBookmarkUtils->filterAndFormat(
|
||||||
self::$formatter,
|
self::$formatter,
|
||||||
'derp',
|
'derp',
|
||||||
|
|
|
@ -89,10 +89,11 @@ public function testReadWriteUpdatesFile()
|
||||||
* Test errors in UpdaterUtils::write_updates_file(): empty updates file.
|
* Test errors in UpdaterUtils::write_updates_file(): empty updates file.
|
||||||
*
|
*
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Updates file path is not set(.*)/
|
|
||||||
*/
|
*/
|
||||||
public function testWriteEmptyUpdatesFile()
|
public function testWriteEmptyUpdatesFile()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Updates file path is not set(.*)/');
|
||||||
|
|
||||||
UpdaterUtils::write_updates_file('', array('test'));
|
UpdaterUtils::write_updates_file('', array('test'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,10 +101,11 @@ public function testWriteEmptyUpdatesFile()
|
||||||
* Test errors in UpdaterUtils::write_updates_file(): not writable updates file.
|
* Test errors in UpdaterUtils::write_updates_file(): not writable updates file.
|
||||||
*
|
*
|
||||||
* @expectedException Exception
|
* @expectedException Exception
|
||||||
* @expectedExceptionMessageRegExp /Unable to write(.*)/
|
|
||||||
*/
|
*/
|
||||||
public function testWriteUpdatesFileNotWritable()
|
public function testWriteUpdatesFileNotWritable()
|
||||||
{
|
{
|
||||||
|
$this->expectExceptionMessageRegExp('/Unable to write(.*)/');
|
||||||
|
|
||||||
$updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt';
|
$updatesFile = $this->conf->get('resource.data_dir') . '/updates.txt';
|
||||||
touch($updatesFile);
|
touch($updatesFile);
|
||||||
chmod($updatesFile, 0444);
|
chmod($updatesFile, 0444);
|
||||||
|
@ -168,11 +170,11 @@ public function testOneUpdate()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test Update failed.
|
* Test Update failed.
|
||||||
*
|
|
||||||
* @expectedException \Exception
|
|
||||||
*/
|
*/
|
||||||
public function testUpdateFailed()
|
public function testUpdateFailed()
|
||||||
{
|
{
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
|
||||||
$updates = array(
|
$updates = array(
|
||||||
'updateMethodDummy1',
|
'updateMethodDummy1',
|
||||||
'updateMethodDummy2',
|
'updateMethodDummy2',
|
||||||
|
|
Loading…
Reference in a new issue