From 4f780a6b1b698de15c1c68e2a72bed8ce0cb613b Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Thu, 14 Apr 2022 14:14:47 +0200 Subject: Disable VisitorID segment site dependent (#19083) * Disable VisitorID segment site dependent * Adds tests * fix test --- plugins/CoreHome/Columns/VisitorId.php | 9 ++-- plugins/Live/tests/System/ApiTest.php | 49 ++++++++++++++++++++-- ...dProfile2__API.getSuggestedValuesForSegment.xml | 4 ++ ...edProfile__API.getSuggestedValuesForSegment.xml | 6 +++ 4 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 plugins/Live/tests/System/expected/test_disabledProfile2__API.getSuggestedValuesForSegment.xml create mode 100644 plugins/Live/tests/System/expected/test_disabledProfile__API.getSuggestedValuesForSegment.xml (limited to 'plugins') diff --git a/plugins/CoreHome/Columns/VisitorId.php b/plugins/CoreHome/Columns/VisitorId.php index 108c41b921..ff1596837b 100644 --- a/plugins/CoreHome/Columns/VisitorId.php +++ b/plugins/CoreHome/Columns/VisitorId.php @@ -1,4 +1,5 @@ disableVisitorProfile->getValue() === false - && $systemSettings->disableVisitorLog->getValue() === false; + $visitorProfileEnabled = Live::isVisitorProfileEnabled(); } catch (\Zend_Db_Exception $e) { // when running tests the db might not yet be set up when fetching available segments if (!defined('PIWIK_TEST_MODE') || !PIWIK_TEST_MODE) { diff --git a/plugins/Live/tests/System/ApiTest.php b/plugins/Live/tests/System/ApiTest.php index 9236600a75..c8b26b7888 100644 --- a/plugins/Live/tests/System/ApiTest.php +++ b/plugins/Live/tests/System/ApiTest.php @@ -1,4 +1,5 @@ 'xml', 'otherRequestParameters' => [ 'urls' => [ - urlencode("idSite=1&date=".self::$fixture->dateTime."&period=day&method=Live.getLastVisitsDetails"), - urlencode("idSite=1&date=".self::$fixture->dateTime."&period=day&method=API.getSuggestedValuesForSegment&segmentName=pageTitle"), - urlencode("idSite=1&date=".self::$fixture->dateTime."&period=day&method=Live.getVisitorProfile"), + urlencode("idSite=1&date=" . self::$fixture->dateTime . "&period=day&method=Live.getLastVisitsDetails"), + urlencode("idSite=1&date=" . self::$fixture->dateTime . "&period=day&method=API.getSuggestedValuesForSegment&segmentName=pageTitle"), + urlencode("idSite=1&date=" . self::$fixture->dateTime . "&period=day&method=Live.getVisitorProfile"), ] ], ] @@ -236,6 +239,45 @@ class ApiTest extends SystemTestCase return $apiToTest; } + public function testVisitorIdSegmentWithDisabledProfileForSite() + { + $settings = new SystemSettings(); + $settings->disableVisitorLog->setValue(false); + $settings->disableVisitorProfile->setValue(false); + $settings->save(); + + $settings = new MeasurableSettings(1); + $settings->disableVisitorLog->setValue(false); + $settings->disableVisitorProfile->setValue(true); + $settings->save(); + + $date = mktime(0, 0, 0, 1, 1, 2010); + $lookBack = ceil((time() - $date) / 86400); + API::$_autoSuggestLookBack = $lookBack; + + Fixture::clearInMemoryCaches(); + + $this->runApiTests('API.getSuggestedValuesForSegment', [ + 'idSite' => 1, + 'date' => self::$fixture->dateTime, + 'periods' => ['day'], + 'otherRequestParameters' => [ + 'segmentName' => 'visitorId', + ], + 'testSuffix' => 'disabledProfile' + ]); + + $this->runApiTests('API.getSuggestedValuesForSegment', [ + 'idSite' => 2, + 'date' => self::$fixture->dateTime, + 'periods' => ['day'], + 'otherRequestParameters' => [ + 'segmentName' => 'visitorId', + ], + 'testSuffix' => 'disabledProfile2' + ]); + } + public static function getOutputPrefix() { return ''; @@ -245,7 +287,6 @@ class ApiTest extends SystemTestCase { return dirname(__FILE__); } - } ApiTest::$fixture = new ManyVisitsOfSameVisitor(); diff --git a/plugins/Live/tests/System/expected/test_disabledProfile2__API.getSuggestedValuesForSegment.xml b/plugins/Live/tests/System/expected/test_disabledProfile2__API.getSuggestedValuesForSegment.xml new file mode 100644 index 0000000000..073719ec4c --- /dev/null +++ b/plugins/Live/tests/System/expected/test_disabledProfile2__API.getSuggestedValuesForSegment.xml @@ -0,0 +1,4 @@ + + + dbc0f004854457f5 + \ No newline at end of file diff --git a/plugins/Live/tests/System/expected/test_disabledProfile__API.getSuggestedValuesForSegment.xml b/plugins/Live/tests/System/expected/test_disabledProfile__API.getSuggestedValuesForSegment.xml new file mode 100644 index 0000000000..ef5ac8ed46 --- /dev/null +++ b/plugins/Live/tests/System/expected/test_disabledProfile__API.getSuggestedValuesForSegment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file -- cgit v1.2.3