function test_get_results() { $buffer = new AggregateStorageSearchBuffer(); $ds = new MockDataSource(); $ds->setReturnValueAt(0, 'search', 'foo'); $ds->setReturnValueAt(1, 'search', 'bar'); $comp1 = array('ds' => $ds, 'table' => 'table1'); $comp2 = array('ds' => $ds, 'table' => 'table2'); $buffer->search('cn1', $comp1, 'query1', 1, 2); $buffer->search('cn2', $comp2, 'query2', 3, 4); $expected = array(array('comp_name' => 'cn1', 'comp' => $comp1, 'results' => 'foo'), array('comp_name' => 'cn2', 'comp' => $comp2, 'results' => 'bar')); $this->assertEqual($expected, $buffer->get_results()); }
function test_search() { $table = '/test'; $query_string = '{test=123}'; // $criteria = Array('test'=>'123'); $criteria = new QueryCriteria(array(QueryCriterionFactory::create(array('name' => 'test', 'value' => '123')))); $expected_results = array('data' => array(array('url' => '/test/123')), 'offset' => 0, 'count' => 1, 'total' => 1); $ds = new MockDataSource(); // search will populate cache $this->cache->size = 20; $ds->expect('search', array($table, $query_string, 0, 20)); $ds->setReturnValue('search', $expected_results); $results = $this->cache->search($ds, $table, $query_string, 0, 10, $criteria); $this->assertEqual($results, $expected_results); $this->assertEqual($this->cache->results, $expected_results); $this->assertEqual($this->cache->criteria, $criteria); // disable cache $this->cache->size = 0; $ds->expect('search', array($table, $query_string, 0, 10)); $ds->setReturnValue('search', $expected_results); $results = $this->cache->search($ds, $table, $query_string, 0, 10, $criteria); $this->assertEqual($results, $expected_results); }