runApiTests($api, $params); } protected function getApiToCall() { return array( 'Events.getCategory', 'Events.getAction', 'Events.getName', 'Actions.get', 'Live.getLastVisitsDetails', 'Actions.getPageUrls', ); } protected function tearDown() { parent::tearDown(); } public function getApiForTesting() { $dateTime = self::$fixture->dateTime; $idSite1 = self::$fixture->idSite; $apiToCallProcessedReportMetadata = $this->getApiToCall(); $dayPeriod = 'day'; $periods = array($dayPeriod, 'month'); $apiEventAndAction = array('Events', 'Actions.getPageUrls'); $result = array( array($apiToCallProcessedReportMetadata, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $periods, 'setDateLastN' => false, 'testSuffix' => '')), array($apiEventAndAction, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'segment' => "eventCategory==Movie,eventName==".urlencode('La fiancée de l\'eau'), 'setDateLastN' => false, 'testSuffix' => '_eventCategoryOrNameMatch') ), // eventAction should not match any page view array($apiEventAndAction, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'segment' => "eventAction=@play", 'setDateLastN' => false, 'testSuffix' => '_segmentMatchesEventActionPlay') ), // Goals and events array('Goals.get', array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'idGoal' => ThreeVisitsWithCustomEvents::$idGoalTriggeredOnEventCategory, 'setDateLastN' => false) ) ); $apiToCallProcessedReportMetadata = array( 'Events.getCategory', 'Events.getAction', 'Events.getName', ); // testing metadata API for Events reports foreach ($apiToCallProcessedReportMetadata as $api) { list($apiModule, $apiAction) = explode(".", $api); $result[] = array( 'API.getProcessedReport', array('idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'setDateLastN' => true, 'apiModule' => $apiModule, 'apiAction' => $apiAction, 'testSuffix' => '_' . $api . '_lastN') ); $result[] = array( 'API.getProcessedReport', array('idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'setDateLastN' => true, 'apiModule' => $apiModule, 'apiAction' => $apiAction, 'otherRequestParameters' => array('flat' => '1'), 'testSuffix' => '_' . $api . '_flat') ); } // Test secondary dimensions $secondaryDimensions = array('eventCategory', 'eventAction', 'eventName'); foreach($secondaryDimensions as $secondaryDimension) { $result[] = array(array('Events'), array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $periods, 'otherRequestParameters' => array( 'secondaryDimension' => $secondaryDimension ), 'setDateLastN' => false, 'testSuffix' => '_secondaryDimensionIs' . ucfirst($secondaryDimension)) ); } return $result; } public static function getOutputPrefix() { return 'CustomEvents'; } } CustomEventsTest::$fixture = new ThreeVisitsWithCustomEvents();