示例#1
0
 public function testRun()
 {
     $driverMock = $this->getMockBuilder(DriverInterface::class)->setMethods(['connect'])->getMock();
     $driverConnectionMock = $this->getMockBuilder(DriverConnectionInterface::class)->setMethods(['send'])->getMock();
     $driverConnectionMock->expects($this->once())->method('send')->willReturn(true);
     $driverMock->expects($this->once())->method('connect')->willReturn($driverConnectionMock);
     $connection = new Druid($driverMock, ['base_uri' => 'http://localhost']);
     $queryMock = $this->createMock(QueryInterface::class);
     $result = $connection->send($queryMock);
     $this->assertTrue($result);
 }
 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);
 }