mirror of
https://github.com/wallabag/wallabag.git
synced 2025-08-01 17:38:38 +00:00
Merge remote-tracking branch 'origin/master' into 2.4
This commit is contained in:
commit
5419a8368e
61 changed files with 3813 additions and 1509 deletions
|
@ -56,6 +56,20 @@ class DeveloperControllerTest extends WallabagCoreTestCase
|
|||
$this->assertArrayHasKey('refresh_token', $data);
|
||||
}
|
||||
|
||||
public function testCreateTokenWithBadClientId()
|
||||
{
|
||||
$client = $this->getClient();
|
||||
$client->request('POST', '/oauth/v2/token', [
|
||||
'grant_type' => 'password',
|
||||
'client_id' => '$WALLABAG_CLIENT_ID',
|
||||
'client_secret' => 'secret',
|
||||
'username' => 'admin',
|
||||
'password' => 'mypassword',
|
||||
]);
|
||||
|
||||
$this->assertSame(400, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function testListingClient()
|
||||
{
|
||||
$this->logInAs('admin');
|
||||
|
|
|
@ -242,6 +242,15 @@ class EntryRestControllerTest extends WallabagApiTestCase
|
|||
$this->assertSame(2, $content['limit']);
|
||||
}
|
||||
|
||||
public function testGetStarredEntriesWithBadSort()
|
||||
{
|
||||
$this->client->request('GET', '/api/entries', ['starred' => 1, 'sort' => 'updated', 'order' => 'unknown']);
|
||||
|
||||
$this->assertSame(400, $this->client->getResponse()->getStatusCode());
|
||||
|
||||
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
|
||||
}
|
||||
|
||||
public function testGetStarredEntries()
|
||||
{
|
||||
$this->client->request('GET', '/api/entries', ['starred' => 1, 'sort' => 'updated']);
|
||||
|
|
|
@ -7,6 +7,8 @@ use Wallabag\CoreBundle\Entity\Tag;
|
|||
|
||||
class TagRestControllerTest extends WallabagApiTestCase
|
||||
{
|
||||
private $otherUserTagLabel = 'bob';
|
||||
|
||||
public function testGetUserTags()
|
||||
{
|
||||
$this->client->request('GET', '/api/tags.json');
|
||||
|
@ -19,17 +21,33 @@ class TagRestControllerTest extends WallabagApiTestCase
|
|||
$this->assertArrayHasKey('id', $content[0]);
|
||||
$this->assertArrayHasKey('label', $content[0]);
|
||||
|
||||
$tagLabels = array_map(function ($i) {
|
||||
return $i['label'];
|
||||
}, $content);
|
||||
|
||||
$this->assertNotContains($this->otherUserTagLabel, $tagLabels, 'There is a possible tag leak');
|
||||
|
||||
return end($content);
|
||||
}
|
||||
|
||||
public function testDeleteUserTag()
|
||||
{
|
||||
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
|
||||
$entry = $this->client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneWithTags($this->user->getId());
|
||||
|
||||
$entry = $entry[0];
|
||||
|
||||
$tagLabel = 'tagtest';
|
||||
$tag = new Tag();
|
||||
$tag->setLabel($tagLabel);
|
||||
|
||||
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
|
||||
$em->persist($tag);
|
||||
|
||||
$entry->addTag($tag);
|
||||
|
||||
$em->persist($entry);
|
||||
$em->flush();
|
||||
$em->clear();
|
||||
|
||||
|
@ -53,6 +71,16 @@ class TagRestControllerTest extends WallabagApiTestCase
|
|||
$this->assertNull($tag, $tagLabel . ' was removed because it begun an orphan tag');
|
||||
}
|
||||
|
||||
public function testDeleteOtherUserTag()
|
||||
{
|
||||
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
|
||||
$tag = $em->getRepository('WallabagCoreBundle:Tag')->findOneByLabel($this->otherUserTagLabel);
|
||||
|
||||
$this->client->request('DELETE', '/api/tags/' . $tag->getId() . '.json');
|
||||
|
||||
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function dataForDeletingTagByLabel()
|
||||
{
|
||||
return [
|
||||
|
@ -112,6 +140,13 @@ class TagRestControllerTest extends WallabagApiTestCase
|
|||
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function testDeleteTagByLabelOtherUser()
|
||||
{
|
||||
$this->client->request('DELETE', '/api/tag/label.json', ['tag' => $this->otherUserTagLabel]);
|
||||
|
||||
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider dataForDeletingTagByLabel
|
||||
*/
|
||||
|
@ -180,4 +215,11 @@ class TagRestControllerTest extends WallabagApiTestCase
|
|||
|
||||
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function testDeleteTagsByLabelOtherUser()
|
||||
{
|
||||
$this->client->request('DELETE', '/api/tags/label.json', ['tags' => $this->otherUserTagLabel]);
|
||||
|
||||
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue