/**
  * Prune all entries where the ad_id is for a banner in a High Priority Campaign where:
  * The campaign has a booked number of lifetime target impressions and/or clicks and/or conversions AND the campaign is not active AND at least one of the booked lifetime target values has been reached.
  *
  */
 function testpruneDataSummaryAdZoneAssocTargetReached()
 {
     $oToday = new Date();
     $oExpire = new Date();
     $oExpire->subtractSeconds(999999);
     $today = $oToday->getDate();
     $expire = $oExpire->getDate();
     $oDal = new OA_Maintenance_Pruning();
     $doDSAZA = OA_Dal::factoryDO('data_summary_ad_zone_assoc');
     $doDIA = OA_Dal::factoryDO('data_intermediate_ad');
     $aDIAs = DataGenerator::generate($doDIA, 4);
     $doDIA = OA_Dal::staticGetDO('data_intermediate_ad', $aDIAs[0]);
     $doDIA->ad_id = $this->idBanner1;
     $doDIA->impressions = 1000;
     $doDIA->clicks = 0;
     $doDIA->conversions = 0;
     $doDIA->update();
     $doDIA = OA_Dal::staticGetDO('data_intermediate_ad', $aDIAs[1]);
     $doDIA->ad_id = $this->idBanner1;
     $doDIA->impressions = 100;
     $doDIA->clicks = 0;
     $doDIA->conversions = 0;
     $doDIA->update();
     $doDIA = OA_Dal::staticGetDO('data_intermediate_ad', $aDIAs[2]);
     $doDIA->ad_id = $this->idBanner1;
     $doDIA->impressions = 10;
     $doDIA->clicks = 0;
     $doDIA->conversions = 0;
     $doDIA->update();
     $doDIA = OA_Dal::staticGetDO('data_intermediate_ad', $aDIAs[3]);
     $doDIA->ad_id = $this->idBanner1;
     $doDIA->impressions = 1;
     $doDIA->clicks = 0;
     $doDIA->conversions = 0;
     $doDIA->update();
     // generate 2 summary ad_zone records for an active campaign ad_id
     $doDSAZA->ad_id = $this->idBanner1;
     $aIds = DataGenerator::generate($doDSAZA, 2);
     // generate 7 summary ad_zone records for an inactive campaign ad_id
     $doDSAZA->ad_id = $this->idBanner2;
     $aIds = DataGenerator::generate($doDSAZA, 7);
     // make sure 9 rows in table
     $this->assertEqual($this->_countRowsInDSAZA(), 9);
     // ad_id 1 => campaignid 1 => active, high priority, not expired, target impressions not reached
     $doCampaigns = OA_Dal::staticGetDO('campaigns', $this->idCampaign1);
     $doCampaigns->priority = 5;
     $doCampaigns->status = OA_ENTITY_STATUS_RUNNING;
     $doCampaigns->target_impression = 0;
     $doCampaigns->target_click = 0;
     $doCampaigns->target_conversion = 0;
     $doCampaigns->views = 100000;
     $doCampaigns->clicks = 1000;
     $doCampaigns->conversions = 100;
     $doCampaigns->update();
     $result = $oDal->_pruneDataSummaryAdZoneAssocInactiveTargetReached(1);
     // 0 records were deleted
     $this->assertEqual($result, 0);
     // 0 records remain
     $this->assertEqual($this->_countRowsInDSAZA(), 9);
     // ad_id 1 => campaignid 1 => not active, high priority, not expired, target impressions reached
     $doCampaigns = OA_Dal::staticGetDO('campaigns', $this->idCampaign1);
     $doCampaigns->priority = 5;
     $doCampaigns->status = OA_ENTITY_STATUS_EXPIRED;
     $doCampaigns->target_impression = 0;
     $doCampaigns->target_click = 0;
     $doCampaigns->target_conversion = 0;
     $doCampaigns->views = 1111;
     $doCampaigns->clicks = 111;
     $doCampaigns->conversions = 11;
     $doCampaigns->update();
     $result = $oDal->_pruneDataSummaryAdZoneAssocInactiveTargetReached(1);
     // 1 record deleted
     $this->assertEqual($result, 1);
     // 8 records remain
     $this->assertEqual($this->_countRowsInDSAZA(), 8);
     $result = $oDal->_pruneDataSummaryAdZoneAssocInactiveTargetReached(5);
     // 1 record was deleted
     $this->assertEqual($result, 1);
     // 7 records remain
     $this->assertEqual($this->_countRowsInDSAZA(), 7);
 }
 function _runPriorityPruning()
 {
     if (empty($GLOBALS['_MAX']['CONF']['maintenance']['pruneDataTables'])) {
         return;
     }
     $oDal = new OA_Maintenance_Pruning();
     $oDal->run();
 }
Beispiel #3
0
 function _runPriorityPruning()
 {
     $oDal = new OA_Maintenance_Pruning();
     $oDal->run();
 }