forked from wallabag/wallabag
Merge pull request #1904 from wallabag/feature-public-mode
Share entry with a public URL
This commit is contained in:
@ -698,4 +698,47 @@ class EntryControllerTest extends WallabagCoreTestCase
|
||||
$crawler = $client->submit($form, $data);
|
||||
$this->assertCount(2, $crawler->filter('div[class=entry]'));
|
||||
}
|
||||
|
||||
public function testCache()
|
||||
{
|
||||
$this->logInAs('admin');
|
||||
$client = $this->getClient();
|
||||
|
||||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUser($this->getLoggedInUserId());
|
||||
|
||||
// no uuid
|
||||
$client->request('GET', '/share/'.$content->getUuid());
|
||||
$this->assertEquals(404, $client->getResponse()->getStatusCode());
|
||||
|
||||
// generating the uuid
|
||||
$client->request('GET', '/share/'.$content->getId());
|
||||
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
||||
|
||||
// follow link with uuid
|
||||
$crawler = $client->followRedirect();
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
$this->assertContains('max-age=25200', $client->getResponse()->headers->get('cache-control'));
|
||||
$this->assertContains('public', $client->getResponse()->headers->get('cache-control'));
|
||||
$this->assertContains('s-maxage=25200', $client->getResponse()->headers->get('cache-control'));
|
||||
$this->assertNotContains('no-cache', $client->getResponse()->headers->get('cache-control'));
|
||||
|
||||
// sharing is now disabled
|
||||
$client->getContainer()->get('craue_config')->set('share_public', 0);
|
||||
$client->request('GET', '/share/'.$content->getUuid());
|
||||
$this->assertEquals(404, $client->getResponse()->getStatusCode());
|
||||
|
||||
$client->request('GET', '/view/'.$content->getId());
|
||||
$this->assertContains('no-cache', $client->getResponse()->headers->get('cache-control'));
|
||||
|
||||
// removing the share
|
||||
$client->request('GET', '/share/delete/'.$content->getId());
|
||||
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
||||
|
||||
// share is now disable
|
||||
$client->request('GET', '/share/'.$content->getUuid());
|
||||
$this->assertEquals(404, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user