Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2019-08-06 22:48:42 +0300
committerGitHub <noreply@github.com>2019-08-06 22:48:42 +0300
commite34f66be743325e1cb9264ce0df301d40bef6d0c (patch)
tree40207da9d1a2a7e132a2c6dae94f23566aeca1d0 /tests/PHPUnit/Integration
parentf1900e7bd08ceb3ada95fbacdd8dca167382f191 (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')
-rw-r--r--tests/PHPUnit/Integration/Archive/ChunksTest.php2
-rw-r--r--tests/PHPUnit/Integration/ArchiveProcessingTest.php56
-rw-r--r--tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php4
-rw-r--r--tests/PHPUnit/Integration/Tracker/VisitTest.php8
-rw-r--r--tests/PHPUnit/Integration/TrackerTest.php5
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()