public function setUp()
 {
     $factory = new RedisMockFactory();
     $this->client = $factory->getAdapter(Client::class, true);
     $this->tokenProvider = new TokenProviderMock();
     $this->tokenProviderCache = new TokenProviderCacheMock($this->tokenProvider, $this->client);
 }
Beispiel #2
0
 /**
  * get a redis Instance
  *
  * @return BaseRedis
  */
 protected function getRedisInstance()
 {
     $factory = new RedisMockFactory();
     $myRedisMockClass = $factory->getAdapterClass('M6Web\\Component\\Redis\\Cache', true, true);
     $myRedisMock = new $myRedisMockClass(static::$params, true);
     $redis = new BaseRedis($myRedisMock);
     return $redis;
 }
 public function setUp()
 {
     $factory = new RedisMockFactory();
     $this->client = $factory->getAdapter(Client::class, true);
     $this->nonceProvider = new NonceProvider($this->client);
     $this->consumer = new Consumer();
     $this->consumer->setConsumerKey('abc');
 }
 /**
  * get a Redis instance
  *
  * @param int $testId
  *
  * @return BaseRedis
  */
 protected function getRedisInstance($testId)
 {
     $params = array('namespace' => '__tt__' . $testId . '__', 'timeout' => 2, 'compress' => true, 'server_config' => array('local' => array('ip' => 'localhost', 'port' => 6379)));
     $factory = new RedisMockFactory();
     $myRedisMockClass = $factory->getAdapterClass('M6Web\\Component\\Redis\\Cache', true, true);
     $myRedisMock = new $myRedisMockClass($params, true);
     $redis = new BaseRedis($myRedisMock);
     return $redis;
 }
 public function testRunRedisWorkerCommand()
 {
     $application = new Application($this->getClient()->getKernel());
     $application->add(new RedisWorkerCommand());
     $factory = new RedisMockFactory();
     $redisMock = $factory->getAdapter('Predis\\Client', true);
     $application->getKernel()->getContainer()->set('wallabag_core.redis.client', $redisMock);
     // put a fake message in the queue so the worker will stop after reading that message
     // instead of waiting for others
     $redisMock->lpush('wallabag.import.readability', '{}');
     $command = $application->find('wallabag:import:redis-worker');
     $tester = new CommandTester($command);
     $tester->execute(['command' => $command->getName(), 'serviceName' => 'readability', '--maxIterations' => 1]);
     $this->assertContains('Worker started at', $tester->getDisplay());
     $this->assertContains('Waiting for message', $tester->getDisplay());
 }
Beispiel #6
0
 /**
  * Mock a concrete Predis Client
  *
  * @return void
  */
 public function testFailOnlyAtRuntimeWithPredis()
 {
     $factory = new Factory();
     $this->assert->object($factory->getAdapter('Predis\\Client', true))->isInstanceOf('M6Web\\Component\\RedisMock\\RedisMock_Predis_Client_Adapter');
     $this->assert->string($factory->getAdapterClass('Predis\\Client', true))->isEqualTo('M6Web\\Component\\RedisMock\\RedisMock_Predis_Client_Adapter_NativeConstructor');
 }
 public function testImportWithRedis()
 {
     $firefoxImport = $this->getFirefoxImport();
     $firefoxImport->setFilepath(__DIR__ . '/../fixtures/firefox-bookmarks.json');
     $entryRepo = $this->getMockBuilder('Wallabag\\CoreBundle\\Repository\\EntryRepository')->disableOriginalConstructor()->getMock();
     $entryRepo->expects($this->never())->method('findByUrlAndUserId');
     $this->em->expects($this->never())->method('getRepository');
     $entry = $this->getMockBuilder('Wallabag\\CoreBundle\\Entity\\Entry')->disableOriginalConstructor()->getMock();
     $this->contentProxy->expects($this->never())->method('updateEntry');
     $factory = new RedisMockFactory();
     $redisMock = $factory->getAdapter('Predis\\Client', true);
     $queue = new RedisQueue($redisMock, 'firefox');
     $producer = new Producer($queue);
     $firefoxImport->setProducer($producer);
     $res = $firefoxImport->setMarkAsRead(true)->import();
     $this->assertTrue($res);
     $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 1], $firefoxImport->getSummary());
     $this->assertNotEmpty($redisMock->lpop('firefox'));
 }
Beispiel #8
0
 function let()
 {
     $factory = new RedisMockFactory();
     $redis = $factory->getAdapter('\\Predis\\Client', true);
     $this->beConstructedWith($redis);
 }
Beispiel #9
0
    /**
     * Will sample results from https://getpocket.com/developer/docs/v3/retrieve.
     */
    public function testImportWithRedis()
    {
        $client = new Client();
        $body = <<<'JSON'
{
    "item_id": "229279689",
    "resolved_id": "229279689",
    "given_url": "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview",
    "given_title": "The Massive Ryder Cup Preview - The Triangle Blog - Grantland",
    "favorite": "1",
    "status": "1",
    "time_added": "1473020899",
    "time_updated": "1473020899",
    "time_read": "0",
    "time_favorited": "0",
    "sort_id": 0,
    "resolved_title": "The Massive Ryder Cup Preview",
    "resolved_url": "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview",
    "excerpt": "The list of things I love about the Ryder Cup is so long that it could fill a (tedious) novel, and golf fans can probably guess most of them.",
    "is_article": "1",
    "has_video": "0",
    "has_image": "0",
    "word_count": "3197"
}
JSON;
        $mock = new Mock([new Response(200, ['Content-Type' => 'application/json'], Stream::factory(json_encode(['access_token' => 'wunderbar_token']))), new Response(200, ['Content-Type' => 'application/json'], Stream::factory('
                {
                    "status": 1,
                    "list": {
                        "229279690": ' . $body . '
                    }
                }
            '))]);
        $client->getEmitter()->attach($mock);
        $pocketImport = $this->getPocketImport();
        $entryRepo = $this->getMockBuilder('Wallabag\\CoreBundle\\Repository\\EntryRepository')->disableOriginalConstructor()->getMock();
        $entryRepo->expects($this->never())->method('findByUrlAndUserId');
        $this->em->expects($this->never())->method('getRepository');
        $entry = new Entry($this->user);
        $this->contentProxy->expects($this->never())->method('updateEntry');
        $factory = new RedisMockFactory();
        $redisMock = $factory->getAdapter('Predis\\Client', true);
        $queue = new RedisQueue($redisMock, 'pocket');
        $producer = new Producer($queue);
        $pocketImport->setClient($client);
        $pocketImport->setProducer($producer);
        $pocketImport->authorize('wunderbar_code');
        $res = $pocketImport->setMarkAsRead(true)->import();
        $this->assertTrue($res);
        $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 1], $pocketImport->getSummary());
        $this->assertNotEmpty($redisMock->lpop('pocket'));
    }