diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2018-07-17 23:34:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-17 23:34:35 +0300 |
commit | 74334d8d0908910ed3cc4a9a918436d9f9ccc3f6 (patch) | |
tree | bada789873ec90c243f2d04d21d1e24341948a41 /tests | |
parent | 6a505441d26513aef2c1937d9be7ecb632eaf020 (diff) |
Refactor archivers to support multiple idsites (#13168)
* refactor archivers to support multiple idsites
* added a test to ensure multiple sites work
* add comment
Diffstat (limited to 'tests')
-rw-r--r-- | tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php b/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php index 3c22fd934c..7cb234d91f 100644 --- a/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php +++ b/tests/PHPUnit/Integration/ArchiveProcessor/PluginsArchiverTest.php @@ -9,6 +9,7 @@ namespace Piwik\Tests\Integration\Archive; use Piwik\ArchiveProcessor\PluginsArchiver; use Piwik\Config; +use Piwik\Piwik; use Piwik\Segment; use Piwik\Site; use Piwik\Db; @@ -64,6 +65,8 @@ class PluginsArchiverTest extends IntegrationTestCase parent::setUp(); Fixture::createWebsite('2015-01-01 00:00:00'); + Fixture::createWebsite('2015-01-01 00:00:00'); + Fixture::createWebsite('2015-01-01 00:00:00'); $this->pluginsArchiver = new CustomPluginsArchiver($this->createArchiveProcessorParamaters(), $isTemporary = false); } @@ -88,4 +91,24 @@ class PluginsArchiverTest extends IntegrationTestCase $this->pluginsArchiver->callAggregateAllPlugins(1, 1); } + public function test_archiveMultipleSites() + { + Piwik::addAction('ArchiveProcessor.Parameters.getIdSites', function (&$idSites, $period) { + if (count($idSites) === 1 && reset($idSites) === 1) { + $idSites = array(2,3); + } + }); + + Piwik::addAction('ArchiveProcessor.shouldAggregateFromRawData', function (&$shouldAggregateRawData, Parameters $params) { + // needed as by default we would only aggregate for single site + if ($params->isDayArchive()) { + $shouldAggregateRawData = true; + } + }); + + $this->pluginsArchiver = new PluginsArchiver($this->createArchiveProcessorParamaters(), $isTemporary = false); + $this->pluginsArchiver->callAggregateCoreMetrics(); + $this->pluginsArchiver->callAggregateAllPlugins(1, 1, $forceArchivingWithoutVisits = true); + } + }
\ No newline at end of file |