public function testExecuteCommand() { $response = new SearchResponse(); $command = Search::builder()->withReturnFields(['email', 'name', 'age'])->withFilterQuery('age:[18 TO *]')->withDefaultOperation('and')->withReturnField('username')->withQuery('name:Fabio*')->withDefaultField('name')->withIndex('index-name')->withSortField('name')->withPresort('score')->withNumRows(10)->withStart(1)->build(); $response->maxScore = 1; $response->numFound = 2; $response->docs = [['email' => ['*****@*****.**'], 'name' => ['Fabio B. Silva'], 'username' => ['FabioBatSilva'], 'age' => ['30']], ['email' => ['*****@*****.**'], 'name' => ['Fabio B. Silva'], 'username' => ['fabios'], 'age' => ['30']]]; $callback = function ($subject) { $this->assertInstanceOf('Riak\\Client\\Core\\Message\\Search\\SearchRequest', $subject); $this->assertEquals('age:[18 TO *]', $subject->filter); $this->assertEquals('index-name', $subject->index); $this->assertEquals('name:Fabio*', $subject->q); $this->assertEquals('score', $subject->presort); $this->assertEquals('name', $subject->sort); $this->assertEquals('name', $subject->df); $this->assertEquals('and', $subject->op); $this->assertEquals(10, $subject->rows); $this->assertEquals(1, $subject->start); $this->assertCount(4, $subject->fl); $this->assertContains('age', $subject->fl); $this->assertContains('name', $subject->fl); $this->assertContains('email', $subject->fl); $this->assertContains('username', $subject->fl); return true; }; $this->adapter->expects($this->once())->method('send')->with($this->callback($callback))->will($this->returnValue($response)); $result = $this->client->execute($command); $this->assertInstanceOf('Riak\\Client\\Command\\Search\\Response\\SearchResponse', $result); $this->assertEquals($response->numFound, $result->getNumResults()); $this->assertEquals($response->maxScore, $result->getMaxScore()); $this->assertEquals($response->docs, $result->getAllResults()); $this->assertEquals([['email' => '*****@*****.**', 'name' => 'Fabio B. Silva', 'username' => 'FabioBatSilva', 'age' => '30'], ['email' => '*****@*****.**', 'name' => 'Fabio B. Silva', 'username' => 'fabios', 'age' => '30']], $result->getSingleResults()); }
protected function isStored($key) { $location = new RiakLocation($this->namespace, $key); $command = FetchValue::builder($location)->withNotFoundOk(true)->build(); $response = $this->client->execute($command); return $response->getNotFound() == false; }
public function testExecuteCommand() { $index = new YokozunaSchema('schema-name', 'schema-content'); $response = new PutSchemaResponse(); $command = StoreSchema::builder()->withSchema($index)->build(); $callback = function ($subject) { $this->assertInstanceOf('Riak\\Client\\Core\\Message\\Search\\PutSchemaRequest', $subject); $this->assertEquals('schema-content', $subject->content); $this->assertEquals('schema-name', $subject->name); return true; }; $this->adapter->expects($this->once())->method('send')->with($this->callback($callback))->will($this->returnValue($response)); $this->assertInstanceOf('Riak\\Client\\Command\\Search\\Response\\StoreSchemaResponse', $this->client->execute($command)); }
public function testExecuteCommand() { $response = new DeleteIndexResponse(); $command = DeleteIndex::builder()->withIndexName('index-name')->build(); $response->nVal = 10; $response->name = 'index-name'; $response->schema = 'schema-name'; $callback = function ($subject) { $this->assertInstanceOf('Riak\\Client\\Core\\Message\\Search\\DeleteIndexRequest', $subject); $this->assertEquals('index-name', $subject->name); return true; }; $this->adapter->expects($this->once())->method('send')->with($this->callback($callback))->will($this->returnValue($response)); $this->assertInstanceOf('Riak\\Client\\Command\\Search\\Response\\DeleteIndexResponse', $this->client->execute($command)); }
public function testExecuteCommand() { $response = new GetSchemaResponse(); $command = FetchSchema::builder()->withSchemaName('schema-name')->build(); $response->name = 'schema-name'; $response->content = 'schema-content'; $callback = function ($subject) { $this->assertInstanceOf('Riak\\Client\\Core\\Message\\Search\\GetSchemaRequest', $subject); $this->assertEquals('schema-name', $subject->name); return true; }; $this->adapter->expects($this->once())->method('send')->with($this->callback($callback))->will($this->returnValue($response)); $result = $this->client->execute($command); $this->assertInstanceOf('Riak\\Client\\Command\\Search\\Response\\FetchSchemaResponse', $result); $this->assertInstanceOf('Riak\\Client\\Core\\Query\\Search\\YokozunaSchema', $result->getSchema()); $this->assertEquals('schema-content', $result->getSchema()->getContent()); $this->assertEquals('schema-name', $result->getSchema()->getName()); }