_distributedSearch = new Solarium_Query_Select_Component_DistributedSearch; } public function testConfigMode() { $options = array( 'shardhandler' => 'dummyhandler', 'shards' => array( 'shard1' => 'localhost:8983/solr/shard1', 'shard2' => 'localhost:8983/solr/shard2', ) ); $this->_distributedSearch->setOptions($options); $this->assertEquals($options['shardhandler'], $this->_distributedSearch->getShardRequestHandler()); $this->assertEquals($options['shards'], $this->_distributedSearch->getShards()); } public function testGetType() { $this->assertEquals( Solarium_Query_Select::COMPONENT_DISTRIBUTEDSEARCH, $this->_distributedSearch->getType() ); } public function testAddShard() { $this->_distributedSearch->addShard('shard1', 'localhost:8983/solr/shard1'); $shards = $this->_distributedSearch->getShards(); $this->assertEquals( 'localhost:8983/solr/shard1', $shards['shard1'] ); } public function testRemoveShard() { $this->_distributedSearch->addShard('shard1', 'localhost:8983/solr/shard1'); $this->_distributedSearch->removeShard('shard1'); $shards = $this->_distributedSearch->getShards(); $this->assertFalse(isset($shards['shard1'])); } public function testClearShards() { $this->_distributedSearch->addShards(array( 'shard1' => 'localhost:8983/solr/shard1', 'shard2' => 'localhost:8983/solr/shard2', )); $this->_distributedSearch->clearShards(); $shards = $this->_distributedSearch->getShards(); $this->assertTrue(is_array($shards)); $this->assertEquals(0, count($shards)); } public function testAddShards() { $shards = array( 'shard1' => 'localhost:8983/solr/shard1', 'shard2' => 'localhost:8983/solr/shard2', ); $this->_distributedSearch->addShards($shards); $this->assertEquals($shards, $this->_distributedSearch->getShards()); } public function testSetShards() { $this->_distributedSearch->addShards(array( 'shard1' => 'localhost:8983/solr/shard1', 'shard2' => 'localhost:8983/solr/shard2', )); $this->_distributedSearch->setShards(array( 'shard3' => 'localhost:8983/solr/shard3', 'shard4' => 'localhost:8983/solr/shard4', 'shard5' => 'localhost:8983/solr/shard5', )); $shards = $this->_distributedSearch->getShards(); $this->assertEquals(3, count($shards)); $this->assertEquals(array( 'shard3' => 'localhost:8983/solr/shard3', 'shard4' => 'localhost:8983/solr/shard4', 'shard5' => 'localhost:8983/solr/shard5', ), $shards); } public function testSetShardRequestHandler() { $this->_distributedSearch->setShardRequestHandler('dummy'); $this->assertEquals( 'dummy', $this->_distributedSearch->getShardRequestHandler() ); } }