function test_request_data()
 {
     $handler = new APIHandler(getenv('ACCESS_FILE_P12'), getenv('SERVICE_EMAIL'));
     try {
         $service = $handler->getService();
         $view = $handler->getFirstprofileId(getenv('TRACKING_ID'));
         $results = $service->data_ga->get('ga:' . $view, '120daysAgo', 'today', 'ga:avgTimeOnPage,ga:users', ["dimensions" => "ga:country,ga:city,ga:pagePath"]);
         // just be sure that data was returned
         $this->assertNotEquals(0, count($results->getRows()));
         // make sure that data array have right order of fields
         $rows = $results->getRows();
         $row = $rows[0];
         $this->assertEquals(5, count($row));
     } catch (\Exception $e) {
         $this->fail("Service creation failed: " . $e->getMessage());
     }
 }
 function test_request_get_cities()
 {
     $limit = 3;
     $handler = new APIHandler(getenv('ACCESS_FILE_P12'), getenv('SERVICE_EMAIL'));
     $service = $handler->getService();
     $view = $handler->getFirstprofileId(getenv('TRACKING_ID'));
     $this->hero = new APIHero(function () {
         $handler = new APIHandler(getenv('ACCESS_FILE_P12'), getenv('SERVICE_EMAIL'));
         $service = $handler->getService();
         $view = $handler->getFirstprofileId(getenv('TRACKING_ID'));
         return [$service, $view];
     }, $this->tmp);
     $this->hero->setLimit($limit);
     // make request
     $results = $this->hero->getTopCities();
     // just be sure that data was returned
     $this->assertNotEquals(0, count($results));
     $this->assertFalse(count($results) > $limit);
     $this->assertInstanceOf('AnalyticsCard\\Classes\\Row', $results[0]);
 }