public function testBasic() { $connection = new Druid(new Driver(), ['proxy' => 'tcp://127.0.0.1:8080']); $queries = new GroupByQueryBuilder(); $queries->setDataSource('kpi_registrations_v1'); $queries->setGranularity('P1D', 'UTC'); $queries->addInterval(new \DateTime('2000-01-01'), new \DateTime()); $queries->addAggregator($queries->aggregator()->count('count_rows')); $queries->addAggregator($queries->aggregator()->doubleSum('sum_rows', 'event_count_metric')); $queries->addAggregator($queries->aggregator()->hyperUnique('registrations', 'registrations')); $queries->addDimension('project', 'project'); $queries->addPostAggregator($queries->postAggregator()->arithmeticPostAggregator('average', '/', [$queries->postAggregator()->fieldAccessPostAggregator('sum_rows', 'sum_rows'), $queries->postAggregator()->fieldAccessPostAggregator('count_rows', 'count_rows')])); $response = $connection->send($queries->getQuery()); $this->assertInstanceOf(ResponseInterface::class, $response); }
/** * @expectedException \RuntimeException */ public function testFailureCreateQueryBuilder() { $driverMock = $this->getMockBuilder(DriverInterface::class)->setMethods(['connect'])->getMock(); $connection = new Druid($driverMock, ['base_uri' => 'http://localhost']); $connection->createQueryBuilder('undefined_query_type'); }