diff options
author | diosmosis <diosmosis@users.noreply.github.com> | 2019-08-06 22:48:42 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-06 22:48:42 +0300 |
commit | e34f66be743325e1cb9264ce0df301d40bef6d0c (patch) | |
tree | 40207da9d1a2a7e132a2c6dae94f23566aeca1d0 /tests/PHPUnit/Integration | |
parent | f1900e7bd08ceb3ada95fbacdd8dca167382f191 (diff) |
Remove temporary archive concept and just invalidate on tracking. (#14639)
* Remove temporary archive concept and just invalidate on tracking.
* Fixing test.
* fix some integration tests
* Fix more tests.
* Make changes backwards compatibile.
* Removing debugging code, add back param for BC, fix test.
* Fix test failure on travis.
Diffstat (limited to 'tests/PHPUnit/Integration')
5 files changed, 10 insertions, 65 deletions
diff --git a/tests/PHPUnit/Integration/Archive/ChunksTest.php b/tests/PHPUnit/Integration/Archive/ChunksTest.php index 9a5f1068cb..aba383174f 100644 --- a/tests/PHPUnit/Integration/Archive/ChunksTest.php +++ b/tests/PHPUnit/Integration/Archive/ChunksTest.php @@ -139,7 +139,7 @@ class ChunksTest extends IntegrationTestCase { $params = $this->createArchiveProcessorParamaters(); - return new ArchiveProcessor\PluginsArchiver($params, $isTemporary = false); + return new ArchiveProcessor\PluginsArchiver($params); } public function provideContainerConfig() diff --git a/tests/PHPUnit/Integration/ArchiveProcessingTest.php b/tests/PHPUnit/Integration/ArchiveProcessingTest.php index 6e154c69b7..0a493dff34 100644 --- a/tests/PHPUnit/Integration/ArchiveProcessingTest.php +++ b/tests/PHPUnit/Integration/ArchiveProcessingTest.php @@ -33,16 +33,6 @@ class ArchiveProcessorTest extends ArchiveProcessor\Loader { return $this->params; } - - public function public_getMinTimeArchiveProcessed() - { - return $this->getMinTimeArchiveProcessed(); - } - - public function public_isArchiveTemporary() - { - return $this->isArchiveTemporary(); - } } /** @@ -124,10 +114,6 @@ class ArchiveProcessingTest extends IntegrationTestCase // min finished timestamp considered when looking at archive timestamp $timeout = Rules::getTodayArchiveTimeToLive(); $this->assertTrue($timeout >= 10); - $dateMinArchived = $now - $timeout; - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed()); - - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); } private function compareTimestamps($expected, $processed) @@ -144,13 +130,8 @@ class ArchiveProcessingTest extends IntegrationTestCase { $archiveProcessor = $this->_createArchiveProcessor('day', '2010-01-01', 'UTC'); - // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Date::factory('2010-01-02')->getTimestamp(); - $this->assertEquals($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed() + 1); - $this->assertEquals('2010-01-01 00:00:00', $archiveProcessor->getParams()->getDateStart()->getDateStartUTC()); $this->assertEquals('2010-01-01 23:59:59', $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC()); - $this->assertFalse($archiveProcessor->public_isArchiveTemporary()); } /** @@ -160,13 +141,9 @@ class ArchiveProcessingTest extends IntegrationTestCase { $timezone = 'UTC+5.5'; $archiveProcessor = $this->_createArchiveProcessor('day', '2010-01-01', $timezone); - // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Date::factory('2010-01-01 18:30:00'); - $this->assertEquals($dateMinArchived->getTimestamp(), $archiveProcessor->public_getMinTimeArchiveProcessed() + 1); $this->assertEquals('2009-12-31 18:30:00', $archiveProcessor->getParams()->getDateStart()->getDateStartUTC()); $this->assertEquals('2010-01-01 18:29:59', $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC()); - $this->assertFalse($archiveProcessor->public_isArchiveTemporary()); } /** @@ -176,13 +153,9 @@ class ArchiveProcessingTest extends IntegrationTestCase { $timezone = 'UTC-5.5'; $archiveProcessor = $this->_createArchiveProcessor('month', '2010-01-02', $timezone); - // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Date::factory('2010-02-01 05:30:00'); - $this->assertEquals($dateMinArchived->getTimestamp(), $archiveProcessor->public_getMinTimeArchiveProcessed() + 1); $this->assertEquals('2010-01-01 05:30:00', $archiveProcessor->getParams()->getDateStart()->getDateStartUTC()); $this->assertEquals('2010-02-01 05:29:59', $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC()); - $this->assertFalse($archiveProcessor->public_isArchiveTemporary()); } /** @@ -200,21 +173,12 @@ class ArchiveProcessingTest extends IntegrationTestCase $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; - // we look at anything processed within the time to live range - $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed() ); - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); - // when browsers don't trigger archives... Rules::setBrowserTriggerArchiving(false); // ...we force ArchiveProcessor to fetch any of the most recent archive - $dateMinArchived = false; - - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed()); $this->assertEquals(date('Y-m-d', $timestamp) . ' 01:00:00', $archiveProcessor->getParams()->getDateStart()->getDateStartUTC()); $this->assertEquals(date('Y-m-d', $timestamp + 86400) . ' 00:59:59', $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC()); - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); } /** @@ -236,25 +200,15 @@ class ArchiveProcessingTest extends IntegrationTestCase $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; - // we look at anything processed within the time to live range - $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed()); - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); - // when browsers don't trigger archives... Rules::setBrowserTriggerArchiving(false); // ...we force ArchiveProcessor to fetch any of the most recent archive - $dateMinArchived = false; - - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed()); // this test varies with DST $this->assertTrue($archiveProcessor->getParams()->getDateStart()->getDateStartUTC() == date('Y-m-d', $timestamp - 86400) . ' 22:00:00' || $archiveProcessor->getParams()->getDateStart()->getDateStartUTC() == date('Y-m-d', $timestamp - 86400) . ' 23:00:00'); $this->assertTrue($archiveProcessor->getParams()->getDateEnd()->getDateEndUTC() == date('Y-m-d', $timestamp) . ' 21:59:59' || $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC() == date('Y-m-d', $timestamp) . ' 22:59:59'); - - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); } /** @@ -276,24 +230,14 @@ class ArchiveProcessingTest extends IntegrationTestCase $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; - // we look at anything processed within the time to live range - $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed() ); - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); - // when browsers don't trigger archives... Rules::setBrowserTriggerArchiving(false); - // ...we force ArchiveProcessor to fetch any of the most recent archive - $dateMinArchived = false; - $this->compareTimestamps($dateMinArchived, $archiveProcessor->public_getMinTimeArchiveProcessed()); // this test varies with DST $this->assertTrue($archiveProcessor->getParams()->getDateStart()->getDateStartUTC() == date('Y-m-d', $timestamp) . ' 04:00:00' || $archiveProcessor->getParams()->getDateStart()->getDateStartUTC() == date('Y-m-d', $timestamp) . ' 05:00:00'); $this->assertTrue($archiveProcessor->getParams()->getDateEnd()->getDateEndUTC() == date('Y-m-d', $timestamp + 86400) . ' 03:59:59' || $archiveProcessor->getParams()->getDateEnd()->getDateEndUTC() == date('Y-m-d', $timestamp + 86400) . ' 04:59:59'); - - $this->assertTrue($archiveProcessor->public_isArchiveTemporary()); } /** diff --git a/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php b/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php index f6e6525f1a..587fd92662 100644 --- a/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php +++ b/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php @@ -68,7 +68,7 @@ class PluginsArchiverTest extends IntegrationTestCase Fixture::createWebsite('2015-01-01 00:00:00'); Fixture::createWebsite('2015-01-01 00:00:00'); - $this->pluginsArchiver = new CustomPluginsArchiver($this->createArchiveProcessorParamaters(), $isTemporary = false); + $this->pluginsArchiver = new CustomPluginsArchiver($this->createArchiveProcessorParamaters()); } private function createArchiveProcessorParamaters() @@ -106,7 +106,7 @@ class PluginsArchiverTest extends IntegrationTestCase } }); - $this->pluginsArchiver = new PluginsArchiver($this->createArchiveProcessorParamaters(), $isTemporary = false); + $this->pluginsArchiver = new PluginsArchiver($this->createArchiveProcessorParamaters()); $this->pluginsArchiver->callAggregateCoreMetrics(); $this->pluginsArchiver->callAggregateAllPlugins(1, 1, $forceArchivingWithoutVisits = true); } diff --git a/tests/PHPUnit/Integration/Tracker/VisitTest.php b/tests/PHPUnit/Integration/Tracker/VisitTest.php index 8759a37d49..f522cf5282 100644 --- a/tests/PHPUnit/Integration/Tracker/VisitTest.php +++ b/tests/PHPUnit/Integration/Tracker/VisitTest.php @@ -395,7 +395,7 @@ class VisitTest extends IntegrationTestCase $currentActionTime = Date::today()->getDatetime(); $idsite = API::getInstance()->addSite('name', 'http://piwik.net/'); - $expectedRemembered = array(); + $expectedRemembered = array(Date::today()->toString() => [1]); $this->assertRememberedArchivedReportsThatShouldBeInvalidated($idsite, $currentActionTime, $expectedRemembered); } @@ -417,6 +417,7 @@ class VisitTest extends IntegrationTestCase // The double-handling below is needed to work around weird behaviour when UTC and UTC+5 are different dates // Example: 4:32am on 1 April in UTC+5 is 11:32pm on 31 March in UTC $midnight = Date::factoryInTimezone('today', 'UTC+5')->setTimezone('UTC+5'); + $today = Date::factoryInTimezone('today', 'UTC+5'); $oneHourAfterMidnight = $midnight->addHour(1)->getDatetime(); $oneHourBeforeMidnight = $midnight->subHour(1)->getDatetime(); @@ -429,11 +430,12 @@ class VisitTest extends IntegrationTestCase $timezone = 'UTC+5'); $expectedRemembered = array( - substr($oneHourAfterMidnight, 0, 10) => array($idsite) + substr($oneHourAfterMidnight, 0, 10) => array($idsite), + $today->toString() => [$idsite], ); // if website timezone was von considered both would be today (expected = array()) - $this->assertRememberedArchivedReportsThatShouldBeInvalidated($idsite, $oneHourAfterMidnight, array()); + $this->assertRememberedArchivedReportsThatShouldBeInvalidated($idsite, $oneHourAfterMidnight, array($today->toString() => [$idsite])); $this->assertRememberedArchivedReportsThatShouldBeInvalidated($idsite, $oneHourBeforeMidnight, $expectedRemembered); } diff --git a/tests/PHPUnit/Integration/TrackerTest.php b/tests/PHPUnit/Integration/TrackerTest.php index fb160679ce..450a9a64c4 100644 --- a/tests/PHPUnit/Integration/TrackerTest.php +++ b/tests/PHPUnit/Integration/TrackerTest.php @@ -385,9 +385,8 @@ class TrackerTest extends IntegrationTestCase $this->request->setCurrentTimestamp(Date::$now); $this->tracker->trackRequest($this->request); - // Check for correct detection of whether the request's timestamp is 'today' in the appropriate timezone - // See Visit::markArchivedReportsAsInvalidIfArchiveAlreadyFinished() method - $this->assertEmpty(Option::getLike('report_to_invalidate_2_2019-04-02%')); + // make sure today archives are also invalidated + $this->assertEquals(['report_to_invalidate_2_2019-04-02_' . getmypid() => '1'], Option::getLike('report_to_invalidate_2_2019-04-02%')); } public function test_TrackingNewVisitOfKnownVisitor() |