public function MongoDbSessionHandlerTest::testRead in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php \Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler\MongoDbSessionHandlerTest::testRead()
File
- vendor/
symfony/ http-foundation/ Tests/ Session/ Storage/ Handler/ MongoDbSessionHandlerTest.php, line 77
Class
- MongoDbSessionHandlerTest
- @author Markus Bachmann <markus.bachmann@bachi.biz>
Namespace
Symfony\Component\HttpFoundation\Tests\Session\Storage\HandlerCode
public function testRead() {
$collection = $this
->createMongoCollectionMock();
$this->mongo
->expects($this
->once())
->method('selectCollection')
->with($this->options['database'], $this->options['collection'])
->will($this
->returnValue($collection));
$that = $this;
// defining the timeout before the actual method call
// allows to test for "greater than" values in the $criteria
$testTimeout = time() + 1;
$collection
->expects($this
->once())
->method('findOne')
->will($this
->returnCallback(function ($criteria) use ($that, $testTimeout) {
$that
->assertArrayHasKey($that->options['id_field'], $criteria);
$that
->assertEquals($criteria[$that->options['id_field']], 'foo');
$that
->assertArrayHasKey($that->options['expiry_field'], $criteria);
$that
->assertArrayHasKey('$gte', $criteria[$that->options['expiry_field']]);
$that
->assertInstanceOf('MongoDate', $criteria[$that->options['expiry_field']]['$gte']);
$that
->assertGreaterThanOrEqual($criteria[$that->options['expiry_field']]['$gte']->sec, $testTimeout);
return array(
$that->options['id_field'] => 'foo',
$that->options['data_field'] => new \MongoBinData('bar', \MongoBinData::BYTE_ARRAY),
$that->options['id_field'] => new \MongoDate(),
);
}));
$this
->assertEquals('bar', $this->storage
->read('foo'));
}