/**
* Tests that purgeData works correctly when the 'keep segment reports' setting is set to true.
*
* @group Integration
*/
public function testPurgeDataDeleteReportsKeepSegmentsReports()
{
PrivacyManager::savePurgeDataSettings(array('delete_reports_keep_day_reports' => 1, 'delete_reports_keep_segment_reports' => 1));
// get purge data prediction
$prediction = PrivacyManager::getPurgeEstimate();
// perform checks on prediction
$events = 3;
// only the event action for the three purged day, dayAgo=x are purged (others are still in use)
$expectedPrediction = array(Common::prefixTable('log_conversion') => 6, Common::prefixTable('log_link_visit_action') => 6 + $events, Common::prefixTable('log_visit') => 3, Common::prefixTable('log_conversion_item') => 3, Common::prefixTable('archive_numeric_2012_01') => -1, Common::prefixTable('archive_blob_2012_01') => 9);
$this->assertEquals($expectedPrediction, $prediction);
// purge data
$this->_setTimeToRun();
$this->assertTrue($this->instance->deleteLogData());
$this->assertTrue($this->instance->deleteReportData());
// perform checks
$this->checkLogDataPurged();
$this->_checkReportsAndMetricsPurged($janBlobsRemaining = 6, $janNumericRemaining = 70);
// 1 segmented blob + 5 day blobs
}