From 375dd9f6933dcf7eeb37df9d2d9f44d16f35a277 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Tue, 3 Nov 2020 23:19:48 -0800 Subject: several changes to emphasize setup and use of auto-archiving rather than real-time processing (#16603) * several changes to emphasize setup and use of auto-archiving rather than real-time processing * apply some pr feedback * Applying more pr feedback. * apply review fixes * ignore ability to archive segments in real time * another tweak * update tests * fix another test * fix ui tests * update test * fix evolution icon bug * Update TreemapVisualization and update expected screenshots * update screenshots --- .../SegmentEditor/tests/Integration/ApiTest.php | 3 +++ .../tests/Integration/SegmentEditorTest.php | 24 +++++++++++--------- .../Integration/SegmentQueryDecoratorTest.php | 5 +++++ .../tests/System/UnprocessedSegmentsTest.php | 26 ++++++++++++---------- 4 files changed, 36 insertions(+), 22 deletions(-) (limited to 'plugins/SegmentEditor/tests') diff --git a/plugins/SegmentEditor/tests/Integration/ApiTest.php b/plugins/SegmentEditor/tests/Integration/ApiTest.php index 88bef59bad..13e0fd3357 100644 --- a/plugins/SegmentEditor/tests/Integration/ApiTest.php +++ b/plugins/SegmentEditor/tests/Integration/ApiTest.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\SegmentEditor\tests\Integration; +use Piwik\ArchiveProcessor\Rules; use Piwik\Plugins\SegmentEditor\API; use Piwik\Tests\Framework\Fixture; use Piwik\Tests\Framework\Mock\FakeAccess; @@ -152,6 +153,7 @@ class ApiTest extends IntegrationTestCase */ protected function createSegments() { + Rules::setBrowserTriggerArchiving(false); $this->setAdminUser(); $this->api->add('segment 1', 'visitCount<2', $idSite = 1, $autoArchive = true, $enableAllUsers = false); $this->api->add('segment 2', 'countryCode==fr', $idSite = 2, $autoArchive = false, $enableAllUsers = false); @@ -170,6 +172,7 @@ class ApiTest extends IntegrationTestCase $this->setAnotherSuperUser(); $this->api->add('segment 9', 'countryCode!=fr', $idSite = false, $autoArchive = false, $enableAllUsers = true); + Rules::setBrowserTriggerArchiving(true); } diff --git a/plugins/SegmentEditor/tests/Integration/SegmentEditorTest.php b/plugins/SegmentEditor/tests/Integration/SegmentEditorTest.php index 07e2152739..95ed3c12bb 100644 --- a/plugins/SegmentEditor/tests/Integration/SegmentEditorTest.php +++ b/plugins/SegmentEditor/tests/Integration/SegmentEditorTest.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\SegmentEditor\tests\Integration; +use Piwik\ArchiveProcessor\Rules; use Piwik\Date; use Piwik\Piwik; use Piwik\Plugins\SegmentEditor\API; @@ -47,16 +48,13 @@ class SegmentEditorTest extends IntegrationTestCase */ public function testAddInvalidSegment_ShouldThrow() { - try { - API::getInstance()->add('name', 'test==test2'); - $this->fail("Exception not raised."); - } catch (Exception $expected) { - } - try { - API::getInstance()->add('name', 'test'); - $this->fail("Exception not raised."); - } catch (Exception $expected) { - } + $this->expectException(\Exception::class); + + API::getInstance()->add('name', 'test==test2'); + $this->fail("Exception not raised."); + + API::getInstance()->add('name', 'test'); + $this->fail("Exception not raised."); } /** @@ -90,6 +88,8 @@ class SegmentEditorTest extends IntegrationTestCase */ public function test_AddAndGet_AnotherSegment() { + Rules::setBrowserTriggerArchiving(false); + $name = 'name'; $definition = 'searches>1,visitIp!=127.0.0.1'; $idSegment = API::getInstance()->add($name, $definition, $idSite = 1, $autoArchive = 1, $enabledAllUsers = 1); @@ -135,6 +135,8 @@ class SegmentEditorTest extends IntegrationTestCase */ public function test_UpdateSegment() { + Rules::setBrowserTriggerArchiving(false); + $name = 'name"'; $definition = 'searches>1,visitIp!=127.0.0.1'; $nameSegment1 = 'hello'; @@ -179,6 +181,8 @@ class SegmentEditorTest extends IntegrationTestCase */ public function test_deleteSegment() { + Rules::setBrowserTriggerArchiving(false); + $idSegment1 = API::getInstance()->add('name 1', 'searches==0', $idSite = 1, $autoArchive = 1, $enabledAllUsers = 1); $idSegment2 = API::getInstance()->add('name 2', 'searches>1,visitIp!=127.0.0.1', $idSite = 1, $autoArchive = 1, $enabledAllUsers = 1); diff --git a/plugins/SegmentEditor/tests/Integration/SegmentQueryDecoratorTest.php b/plugins/SegmentEditor/tests/Integration/SegmentQueryDecoratorTest.php index e9d18a63fd..7cf0c46de3 100644 --- a/plugins/SegmentEditor/tests/Integration/SegmentQueryDecoratorTest.php +++ b/plugins/SegmentEditor/tests/Integration/SegmentQueryDecoratorTest.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\SegmentEditor\tests\Integration; +use Piwik\ArchiveProcessor\Rules; use Piwik\Plugins\SegmentEditor\API; use Piwik\Plugins\SegmentEditor\SegmentQueryDecorator; use Piwik\Segment; @@ -36,6 +37,8 @@ class SegmentQueryDecoratorTest extends IntegrationTestCase $this->segmentQueryDecorator = self::$fixture->piwikEnvironment->getContainer()->get( 'Piwik\Plugins\SegmentEditor\SegmentQueryDecorator'); + Rules::setBrowserTriggerArchiving(false); + /** @var API $segmentEditorApi */ $segmentEditorApi = self::$fixture->piwikEnvironment->getContainer()->get( 'Piwik\Plugins\SegmentEditor\API'); @@ -47,6 +50,8 @@ class SegmentQueryDecoratorTest extends IntegrationTestCase // test that segments w/ auto archive == false are included $segmentEditorApi->add('segment 5', 'visitCount<2', 3, $autoArchive = false); $segmentEditorApi->add('segment 6', 'countryCode!=fr', 3, $autoArchive = false); + + Rules::setBrowserTriggerArchiving(true); } /** diff --git a/plugins/SegmentEditor/tests/System/UnprocessedSegmentsTest.php b/plugins/SegmentEditor/tests/System/UnprocessedSegmentsTest.php index ebb5656e5f..0d0f78c3c4 100644 --- a/plugins/SegmentEditor/tests/System/UnprocessedSegmentsTest.php +++ b/plugins/SegmentEditor/tests/System/UnprocessedSegmentsTest.php @@ -69,13 +69,13 @@ class UnprocessedSegmentsTest extends IntegrationTestCase public function test_apiOutput_whenUnprocessedAutoArchiveSegmentUsed_WithBrowserArchivingDisabled() { + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, self::$fixture->idSite, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); $this->assertNotEmpty($storedSegment); - Rules::setBrowserTriggerArchiving(false); - $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); self::assertTrue(in_array(self::TEST_SEGMENT, $segments)); @@ -89,13 +89,13 @@ class UnprocessedSegmentsTest extends IntegrationTestCase public function test_apiOutput_whenUnprocessedAutoArchiveSegmentUsed_WithBrowserArchivingDisabled_AndEncodedSegment() { + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, self::$fixture->idSite, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); $this->assertNotEmpty($storedSegment); - Rules::setBrowserTriggerArchiving(false); - $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); self::assertTrue(in_array(self::TEST_SEGMENT, $segments)); @@ -109,14 +109,16 @@ class UnprocessedSegmentsTest extends IntegrationTestCase public function test_apiOutput_whenPreprocessedSegmentUsed_WithBrowserArchivingDisabled() { + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, self::$fixture->idSite, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); $this->assertNotEmpty($storedSegment); + Rules::setBrowserTriggerArchiving(true); VisitsSummary\API::getInstance()->get(self::$fixture->idSite, 'week', - Date::factory(self::$fixture->dateTime)->toString(), self::TEST_SEGMENT); // archive - + Date::factory(self::$fixture->dateTime)->toString(), self::TEST_SEGMENT); // archive (make sure there's data for actual test) Rules::setBrowserTriggerArchiving(false); $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); @@ -152,6 +154,8 @@ class UnprocessedSegmentsTest extends IntegrationTestCase { $this->clearLogData(); + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, self::$fixture->idSite, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); @@ -160,8 +164,6 @@ class UnprocessedSegmentsTest extends IntegrationTestCase VisitsSummary\API::getInstance()->get(self::$fixture->idSite, 'week', Date::factory(self::$fixture->dateTime)->toString(), self::TEST_SEGMENT); // archive - Rules::setBrowserTriggerArchiving(false); - $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); self::assertTrue(in_array(self::TEST_SEGMENT, $segments)); @@ -177,13 +179,13 @@ class UnprocessedSegmentsTest extends IntegrationTestCase { $this->clearLogData(); + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, self::$fixture->idSite, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); $this->assertNotEmpty($storedSegment); - Rules::setBrowserTriggerArchiving(false); - $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); self::assertTrue(in_array(self::TEST_SEGMENT, $segments)); @@ -197,13 +199,13 @@ class UnprocessedSegmentsTest extends IntegrationTestCase public function test_apiOutput_whenMultipleSitesRequested_OneWithDataOneNot_AndBrowserArchivingDisabled() { + Rules::setBrowserTriggerArchiving(false); + $idSegment = API::getInstance()->add('testsegment', self::TEST_SEGMENT, $idSite = false, $autoArchive = true); $storedSegment = API::getInstance()->get($idSegment); $this->assertNotEmpty($storedSegment); - Rules::setBrowserTriggerArchiving(false); - $segments = Rules::getSegmentsToProcess([self::$fixture->idSite]); self::assertTrue(in_array(self::TEST_SEGMENT, $segments)); -- cgit v1.2.3