function testGetDeliveredEcpmCampainImpressionsByAgency() { $this->aIds2 = TestEnv::loadData('data_intermediate_ad_002'); $impressions = 123; $agencyId = $this->aIds2['agency'][0]; $campaignId = $this->aIds2['campaigns'][0]; $day = '2007-04-04'; $oDate = new Date($day . '00:00:00'); $aDelivered = $this->dalData_intermediate_ad->getDeliveredEcpmCampainImpressionsByAgency($agencyId, $oDate); $howMany = 2; $this->assertEqual($aDelivered[$campaignId], $howMany * $impressions); }
/** * Test convertEncoding() * */ function test_convertEncoding() { // Force client charset to latin1 so that the behaviour is similar to a real latin1 database // even if the database is encoded in utf8. At first we tried to drop the database an recreate // a latin1 encoded database, but PgSQL doesn't allow LATIN1 databases if the locale is set to // UTF-8. $GLOBALS['_MAX']['CONF']['databaseCharset'] = array('checkComplete' => true, 'clientCharset' => 'latin1'); // However MySQL versions < 4.1.2 didn't support charsets, so we don't need to do that // and assume that a database can store any 8bit data (which is in fact true) if ($this->oDbh->dbsyntax == 'mysql') { $aVersion = $this->oDbh->getServerVersion(); if (version_compare($aVersion['native'], '4.1.2', '<')) { $GLOBALS['_MAX']['CONF']['databaseCharset']['clientCharset'] = ''; } } // Set client charset OA_DB::setCharset($this->oDbh); // These tables are required for the encoding migration $aTables = array('acls', 'acls_channel', 'ad_zone_assoc', 'affiliates', 'affiliates_extra', 'agency', 'application_variable', 'banners', 'campaigns', 'channel', 'clients', 'preference', 'session', 'tracker_append', 'trackers', 'userlog', 'variables', 'zones'); // These tables are referenced by schema changes between 515 and 546, therefore need to be created $aOtherTables = array('preference_publisher', 'accounts', 'users', 'account_user_assoc'); //array('preference', 'data_raw_tracker_click', 'data_summary_zone_country_daily', 'data_summary_zone_country_forecast', 'data_summary_zone_country_monthly', 'data_summary_zone_domain_page_daily', 'data_summary_zone_domain_page_forecast', 'data_summary_zone_domain_page_monthly', 'data_summary_zone_site_keyword_daily', 'data_summary_zone_site_keyword_forecast', 'data_summary_zone_site_keyword_monthly', 'data_summary_zone_source_daily', 'data_summary_zone_source_forecast', 'data_summary_zone_source_monthly', 'preference_advertiser', 'preference_publisher'); $this->initDatabase(543, array_merge($aTables, $aOtherTables)); $this->aIds = TestEnv::loadData('encoding_schema_543', 'mdb2schema'); // MD5s verified manually setting the terminal encoding to the right encoding. $expected = array('latin1_utf8' => array(0 => array('campaignid' => $this->aIds['campaigns'][1], 'md5' => '1698982c38317c8c42ae4772bbee8f44'), 1 => array('campaignid' => $this->aIds['campaigns'][2], 'md5' => '317f56003783a2a9284306eb57fe8146'), 2 => array('campaignid' => $this->aIds['campaigns'][3], 'md5' => 'fa419947d425b10bd2485e090f4cae60'), 3 => array('campaignid' => $this->aIds['campaigns'][4], 'md5' => '32395feef462f13071c2a2fe5e44c7c0'), 4 => array('campaignid' => $this->aIds['campaigns'][5], 'md5' => '9932d540cb5b63f264b3f7391577fe93'), 5 => array('campaignid' => $this->aIds['campaigns'][6], 'md5' => 'c6ae927806e0a61f9cd269659a225435')), 'utf8_utf8' => array(0 => array('campaignid' => $this->aIds['campaigns'][1], 'md5' => '1698982c38317c8c42ae4772bbee8f44'), 1 => array('campaignid' => $this->aIds['campaigns'][2], 'md5' => '317f56003783a2a9284306eb57fe8146'), 2 => array('campaignid' => $this->aIds['campaigns'][3], 'md5' => '8c8755d8f519c0245717475757d043f7'), 3 => array('campaignid' => $this->aIds['campaigns'][4], 'md5' => '7269db488f9672cca26d93105a9a2559'), 4 => array('campaignid' => $this->aIds['campaigns'][5], 'md5' => '19397ed80befa5539761afed23c4c27a'), 5 => array('campaignid' => $this->aIds['campaigns'][6], 'md5' => 'a7d508c6c8a494c80e680033cecbc76d'))); $tblCampaigns = $this->oDbh->quoteIdentifier($this->getPrefix() . 'campaigns', true); // Check that the campaign names are correctly created: $query = "SELECT campaignid, campaignname FROM {$tblCampaigns}"; $result = $this->oDbh->queryAll($query); foreach (array_keys($result) as $k) { $result[$k]['md5'] = md5($result[$k]['campaignname']); unset($result[$k]['campaignname']); } $this->assertIdentical($result, $expected['latin1_utf8']); // Upgrade the dataset and ensure that the upgraded campaign names were upgraded correctly: $this->upgradeToVersion(544); // Fields requiring encoding changes should now be correct $query = "SELECT campaignid, campaignname FROM {$tblCampaigns}"; $result = $this->oDbh->queryAll($query); foreach (array_keys($result) as $k) { $result[$k]['md5'] = md5($result[$k]['campaignname']); unset($result[$k]['campaignname']); } $this->assertIdentical($result, $expected['utf8_utf8']); }
function _generateStats() { $this->aIds = TestEnv::loadData('data_summary_ad_hourly_001'); $this->agencyId = $this->aIds['agency'][1]; $this->clientId = $this->aIds['clients'][1]; $this->campaignId = $this->aIds['campaigns'][1]; $this->bannerId = $this->aIds['banners'][1]; $this->bannerId2 = $this->aIds['banners'][2]; $this->affiliateId = $this->aIds['affiliates'][1]; $this->zoneId = $this->aIds['zones'][1]; $this->zoneId2 = $this->aIds['zones'][2]; }
function __construct() { parent::__construct(); //TestEnv::restoreEnv(); $this->aIds = TestEnv::loadData('delivery_001', 'mdb2schema'); }
function Plugins_TestOfPlugins_DeliveryLimitations_Site_Channel() { $this->UnitTestCase(); //TestEnv::restoreEnv(); $this->aIds = TestEnv::loadData('delivery_001', 'mdb2schema'); }