/** * 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(); }
function _runPriorityPruning() { $oDal = new OA_Maintenance_Pruning(); $oDal->run(); }