/**
  * A method to test when there are no old format raw requests,
  * impressions and clicks.
  */
 function testNoData()
 {
     $aConf =& $GLOBALS['_MAX']['CONF'];
     $aConf['maintenance']['operationInterval'] = 60;
     // Prepare an array of the required tables used in testing
     $aTables = array($aConf['table']['prefix'] . $aConf['table']['data_raw_ad_request'] => $aConf['table']['prefix'] . 'data_bkt_r', $aConf['table']['prefix'] . $aConf['table']['data_raw_ad_impression'] => $aConf['table']['prefix'] . 'data_bkt_m', $aConf['table']['prefix'] . $aConf['table']['data_raw_ad_click'] => $aConf['table']['prefix'] . 'data_bkt_c');
     // Install the openXDeliveryLog plugin, which will create the
     // data bucket tables required for testing
     TestEnv::installPluginPackage('openXDeliveryLog', false);
     // Ensure that there are no old format raw data
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($rawTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 0);
     }
     // Ensure that there are no new format bucket data
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 0);
     }
     // Run the migration of raw data DAL code for a given OI
     $oStart = new Date('2009-01-09 12:00:00');
     $oEnd = new Date('2009-01-09 12:59:59');
     $this->oDal->migrateRawRequests($oStart, $oEnd);
     $this->oDal->migrateRawImpressions($oStart, $oEnd);
     $this->oDal->migrateRawClicks($oStart, $oEnd);
     // Re-test that there are still no new format bucket data
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 0);
     }
     // Uninstall the installed plugin
     TestEnv::uninstallPluginPackage('openXDeliveryLog', false);
     // Restore the test environment configuration
     TestEnv::restoreConfig();
 }
Exemplo n.º 2
0
 /**
  * A method to migrate any old style raw clicks into new style, bucket-based
  * clicks, in the event of the requirement to process any such data on upgrade
  * to (or beyond) OpenX 2.8.
  *
  * @param PEAR::Date $oStart The start date of the operation interval to migrate.
  * @param PEAR::Date $oEnd The end date of the operation interval to migrate.
  */
 function migrateRawClicks($oStart, $oEnd)
 {
     // Set the MySQL sort buffer size
     $this->setSortBufferSize();
     // Perform the default action for migration of raw clicks...
     parent::migrateRawClicks($oStart, $oEnd);
     // Restore the MySQL sort buffer size
     $this->restoreSortBufferSize();
 }
Exemplo n.º 3
0
 /**
  * The constuctor method.
  *
  * @return OX_Dal_Maintenance_Statistics_Pgsql
  */
 function __construct()
 {
     $this->timestampCastString = '::timestamp';
     parent::__construct();
 }
 /**
  * A method to test when there are old format raw requests,
  * impressions and clicks, in the operation interval being
  * migrated.
  */
 function testComplexValidData()
 {
     $aConf =& $GLOBALS['_MAX']['CONF'];
     $aConf['maintenance']['operationInterval'] = 60;
     // Prepare an array of the required tables used in testing
     $aTables = array($aConf['table']['prefix'] . $aConf['table']['data_raw_ad_request'] => $aConf['table']['prefix'] . 'data_bkt_r', $aConf['table']['prefix'] . $aConf['table']['data_raw_ad_impression'] => $aConf['table']['prefix'] . 'data_bkt_m', $aConf['table']['prefix'] . $aConf['table']['data_raw_ad_click'] => $aConf['table']['prefix'] . 'data_bkt_c');
     // Install the openXDeliveryLog plugin, which will create the
     // data bucket tables required for testing
     TestEnv::installPluginPackage('openXDeliveryLog', false);
     // Ensure that there are no old format raw data
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($rawTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 0);
     }
     // Ensure that there are no new format bucket data
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 0);
     }
     // Insert some old style raw data in an operation interval
     // that will not be migrated
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                INSERT INTO\n                    " . $this->oDbh->quoteIdentifier($rawTable, true) . "\n                    (\n                        date_time,\n                        ad_id,\n                        creative_id,\n                        zone_id\n                    )\n                VALUES\n                    (\n                        '2009-01-09 11:30:00',\n                        1,\n                        0,\n                        1\n                    )";
         $this->oDbh->exec($query);
     }
     // Ensure that the old format raw data was inserted correctly
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($rawTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 1);
     }
     // Insert some old style raw data in an operation interval
     // that will be migrated
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                INSERT INTO\n                    " . $this->oDbh->quoteIdentifier($rawTable, true) . "\n                    (\n                        date_time,\n                        ad_id,\n                        creative_id,\n                        zone_id\n                    )\n                VALUES\n                    (\n                        '2009-01-09 12:30:00',\n                        1,\n                        0,\n                        1\n                    )";
         $this->oDbh->exec($query);
         $query = "\n                INSERT INTO\n                    " . $this->oDbh->quoteIdentifier($rawTable, true) . "\n                    (\n                        date_time,\n                        ad_id,\n                        creative_id,\n                        zone_id\n                    )\n                VALUES\n                    (\n                        '2009-01-09 12:31:00',\n                        1,\n                        0,\n                        1\n                    )";
         $this->oDbh->exec($query);
         $query = "\n                INSERT INTO\n                    " . $this->oDbh->quoteIdentifier($rawTable, true) . "\n                    (\n                        date_time,\n                        ad_id,\n                        creative_id,\n                        zone_id\n                    )\n                VALUES\n                    (\n                        '2009-01-09 12:32:00',\n                        2,\n                        0,\n                        3\n                    )";
         $this->oDbh->exec($query);
     }
     // Ensure that the old format raw data was inserted correctly
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($rawTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 4);
     }
     // Run the migration of raw data DAL code for a given OI
     $oStart = new Date('2009-01-09 12:00:00');
     $oEnd = new Date('2009-01-09 12:59:59');
     $this->oDal->migrateRawRequests($oStart, $oEnd);
     $this->oDal->migrateRawImpressions($oStart, $oEnd);
     $this->oDal->migrateRawClicks($oStart, $oEnd);
     // Test that the data was migrated correctly
     foreach ($aTables as $rawTable => $bucketTable) {
         $query = "\n                SELECT\n                    COUNT(*) AS count\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['count'], 2);
         $query = "\n                SELECT\n                    *\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true);
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 2);
         $query = "\n                SELECT\n                    *\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true) . "\n                WHERE\n                    creative_id = 1";
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['interval_start'], '2009-01-09 12:00:00');
         $this->assertEqual($aRow['creative_id'], 1);
         $this->assertEqual($aRow['zone_id'], 1);
         $this->assertEqual($aRow['count'], 2);
         $query = "\n                SELECT\n                    *\n                FROM\n                    " . $this->oDbh->quoteIdentifier($bucketTable, true) . "\n                WHERE\n                    creative_id = 2";
         $rsResult = $this->oDbh->query($query);
         $this->assertNotA($rsReults, 'PEAR_Error');
         $rows = $rsResult->numRows();
         $this->assertEqual($rows, 1);
         $aRow = $rsResult->fetchRow();
         $this->assertEqual($aRow['interval_start'], '2009-01-09 12:00:00');
         $this->assertEqual($aRow['creative_id'], 2);
         $this->assertEqual($aRow['zone_id'], 3);
         $this->assertEqual($aRow['count'], 1);
     }
     // Uninstall the installed plugin
     TestEnv::uninstallPluginPackage('openXDeliveryLog', false);
     // Restore the test environment configuration
     TestEnv::restoreConfig();
 }
 /**
  * A "real-life" test of the deduplicateConversions() method.
  *
  * - Tracker ID 1 tracks two variables, on non-unique, and one unique.
  * - Tracker ID 2 tracks one variable, which is unique.
  *
  * Between 12:00 and 13:00:
  * - One conversion for Tracker ID 1.
  * - One conversion for Tracker ID 2.
  * - Obviously, de-duplication is tested to ensure that both conversions
  *   remain as "approved".
  *
  * Between 13:00 and 14:00
  * - One conversion for Tracker ID 1, where the conversion is within
  *   the de-duplication window, but the variable value is not the
  *   same as for the conversion in the previous hour.
  * - Another conversion for Tracker ID 1, where the conversion is
  *   again within the de-duplication window, but this time, the
  *   variable value is the same as the conversion in the previous
  *   hour.
  * - De-duplication is tested to ensure that the first of the above
  *   conversions remains as "approved", while the second is changed
  *   to "duplicate".
  *
  * Between 14:00 and 15:00
  * - One conversion for Tracker ID 1, with a non-unique logged variable
  *   value, where the conversion is not within the de-duplication
  *   window of the original "approved" conversion, but is within the
  *   conversion window of a previously marked "duplicate" conversion.
  * - One conversion for Tracker ID 2, with a non-unique logged variable
  *   value, where the conversion is not within the de-duplication window.
  * - De-duplication is tested to ensure that the conversion where a
  *   duplicate conversion was located is also marked as "duplicate",
  *   while the other conversion with no matching conversions in the
  *   required de-duplication window does not have its "approved" status
  *   changed.
  */
 function testDeduplicateConversions_33()
 {
     // Prepare the non-unique variable value that should
     // be tracked with Tracker ID 1
     $aData = array('trackerid' => 1, 'name' => 'Tracker ID 1 Non-Unique Variable', 'is_unique' => 0, 'unique_window' => 3600);
     $trackerVariableId1 = $this->_insertVariable($aData);
     // Prepare the unique variable value that should
     // be tracked with Tracker ID 1
     $aData = array('trackerid' => 1, 'name' => 'Tracker ID 1 Unique Variable', 'is_unique' => 1, 'unique_window' => 3600);
     $trackerVariableId2 = $this->_insertVariable($aData);
     // Prepare the unique variable value that should
     // be tracked with tracker ID 2
     $aData = array('trackerid' => 2, 'name' => 'Trackers ID 2 Unique Variable', 'is_unique' => 1, 'unique_window' => 3600);
     $trackerVariableId3 = $this->_insertVariable($aData);
     /******************************************************************/
     // Insert a connection at 12:10:00, from a click on ad ID 5, zone ID 6, at 12:09,
     // using Tracker ID 1
     $aData = array('server_raw_tracker_impression_id' => 1, 'server_raw_ip' => 'singleDB', 'tracker_id' => 1, 'tracker_date_time' => '2005-09-05 12:10:00', 'connection_date_time' => '2005-09-05 12:09:00', 'ad_id' => 5, 'zone_id' => 6, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId1 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable values for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId1, 'tracker_variable_id' => $trackerVariableId1, 'value' => 'non-unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     $aData = array('data_intermediate_ad_connection_id' => $conversionId1, 'tracker_variable_id' => $trackerVariableId2, 'value' => 'unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // Insert a connection at 12:15:00, from a click on ad ID 7, zone ID 8, at 12:14,
     // using Tracker ID 2
     $aData = array('server_raw_tracker_impression_id' => 2, 'server_raw_ip' => 'singleDB', 'tracker_id' => 2, 'tracker_date_time' => '2005-09-05 12:15:00', 'connection_date_time' => '2005-09-05 12:14:00', 'ad_id' => 7, 'zone_id' => 8, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId2 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable value for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId2, 'tracker_variable_id' => $trackerVariableId3, 'value' => 'unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // De-duplicate the 12:00 - 13:00 hour
     $oStartDate = new Date('2005-09-05 12:00:00');
     $oEndDate = new Date('2005-09-07 12:59:59');
     $this->oDal->deduplicateConversions($oStartDate, $oEndDate);
     // Test the results
     $rows = $this->_countDataIntermediateAdConnections();
     $this->assertEqual($rows, 2);
     $rows = $this->_countDataIntermediateAdConnectionsApproved();
     $this->assertEqual($rows, 2);
     /******************************************************************/
     // Insert a connection at 13:05:00, from a click on ad ID 5, zone ID 6, at 13:04,
     // using Tracker ID 1
     $aData = array('server_raw_tracker_impression_id' => 3, 'server_raw_ip' => 'singleDB', 'tracker_id' => 1, 'tracker_date_time' => '2005-09-05 13:05:00', 'connection_date_time' => '2005-09-05 13:04:00', 'ad_id' => 5, 'zone_id' => 6, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId3 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable values for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId3, 'tracker_variable_id' => $trackerVariableId1, 'value' => 'non-unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     $aData = array('data_intermediate_ad_connection_id' => $conversionId3, 'tracker_variable_id' => $trackerVariableId2, 'value' => 'unique tracked value, but a different one :-)');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // Insert a connection at 13:06:00, from a click on ad ID 5, zone ID 6, at 13:05,
     // using Tracker ID 1
     $aData = array('server_raw_tracker_impression_id' => 4, 'server_raw_ip' => 'singleDB', 'tracker_id' => 1, 'tracker_date_time' => '2005-09-05 13:06:00', 'connection_date_time' => '2005-09-05 13:05:00', 'ad_id' => 5, 'zone_id' => 6, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId4 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable values for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId4, 'tracker_variable_id' => $trackerVariableId1, 'value' => 'non-unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     $aData = array('data_intermediate_ad_connection_id' => $conversionId4, 'tracker_variable_id' => $trackerVariableId2, 'value' => 'unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // De-duplicate the 13:00 - 14:00 hour
     $oStartDate = new Date('2005-09-05 13:00:00');
     $oEndDate = new Date('2005-09-07 13:59:59');
     $this->oDal->deduplicateConversions($oStartDate, $oEndDate);
     // Test the results
     $rows = $this->_countDataIntermediateAdConnections();
     $this->assertEqual($rows, 4);
     $rows = $this->_countDataIntermediateAdConnectionsApproved();
     $this->assertEqual($rows, 3);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId1;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId2;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId3;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $rows = $this->_countDataIntermediateAdConnectionsDuplicate();
     $this->assertEqual($rows, 1);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId4;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_DUPLICATE);
     /******************************************************************/
     // Insert a connection at 14:02:00, from a click on ad ID 5, zone ID 6, at 14:01,
     // using Tracker ID 1
     $aData = array('server_raw_tracker_impression_id' => 5, 'server_raw_ip' => 'singleDB', 'tracker_id' => 1, 'tracker_date_time' => '2005-09-05 14:02:00', 'connection_date_time' => '2005-09-05 14:01:00', 'ad_id' => 5, 'zone_id' => 6, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId5 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable values for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId5, 'tracker_variable_id' => $trackerVariableId1, 'value' => 'non-unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     $aData = array('data_intermediate_ad_connection_id' => $conversionId5, 'tracker_variable_id' => $trackerVariableId2, 'value' => 'unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // Insert a connection at 14:15:00, from a click on ad ID 7, zone ID 8, at 14:14,
     // using Tracker ID 2
     $aData = array('server_raw_tracker_impression_id' => 6, 'server_raw_ip' => 'singleDB', 'tracker_id' => 2, 'tracker_date_time' => '2005-09-05 14:15:00', 'connection_date_time' => '2005-09-05 14:14:00', 'ad_id' => 7, 'zone_id' => 8, 'connection_action' => MAX_CONNECTION_AD_CLICK, 'connection_window' => 1209600, 'connection_status' => MAX_CONNECTION_STATUS_APPROVED);
     $conversionId6 = $this->_insertDataIntermediateAdConnection($aData);
     // Insert the variable value for the conversion
     $aData = array('data_intermediate_ad_connection_id' => $conversionId6, 'tracker_variable_id' => $trackerVariableId3, 'value' => 'unique tracked value');
     $this->_insertDataIntermediateAdVariableValue($aData);
     // De-duplicate the 14:00 - 15:00 hour
     $oStartDate = new Date('2005-09-05 14:00:00');
     $oEndDate = new Date('2005-09-07 14:59:59');
     $this->oDal->deduplicateConversions($oStartDate, $oEndDate);
     // Test the results
     $rows = $this->_countDataIntermediateAdConnections();
     $this->assertEqual($rows, 6);
     $rows = $this->_countDataIntermediateAdConnectionsApproved();
     $this->assertEqual($rows, 4);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId1;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId2;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId3;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId6;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_APPROVED);
     $rows = $this->_countDataIntermediateAdConnectionsDuplicate();
     $this->assertEqual($rows, 2);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId4;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_DUPLICATE);
     $doData_intermediate_ad_connection = OA_Dal::factoryDO('data_intermediate_ad_connection');
     $doData_intermediate_ad_connection->data_intermediate_ad_connection_id = $conversionId5;
     $doData_intermediate_ad_connection->find();
     $doData_intermediate_ad_connection->fetch();
     $this->assertEqual($doData_intermediate_ad_connection->connection_status, MAX_CONNECTION_STATUS_DUPLICATE);
     // Clean up
     DataGenerator::cleanUp();
 }
Exemplo n.º 6
0
 /**
  * The constuctor method.
  *
  * @return OX_Dal_Maintenance_Statistics_Pgsql
  */
 function OX_Dal_Maintenance_Statistics_Pgsql()
 {
     $this->timestampCastString = '::timestamp';
     parent::OX_Dal_Maintenance_Statistics();
 }