1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\Overlay\tests\Unit;
use Piwik\Plugins\Overlay\Overlay;
class OverlayTest extends \PHPUnit\Framework\TestCase
{
/**
* @dataProvider getOverlayRequestTestData
*/
public function testIsOverlayRequestWithValidReferredRequests($module, $action, $method)
{
$this->assertSame(true, Overlay::isOverlayRequest($module, $action, $method, 'https://demo.matomo.cloud/index.php?module=Overlay&period=month&date=today&idSite=1'));
$this->assertSame(false, Overlay::isOverlayRequest($module, $action, $method, 'https://demo.matomo.cloud'));
}
public function getOverlayRequestTestData()
{
return [
[ // CSS
'Proxy',
'getCss',
'',
],
[ // JS
'Proxy',
'getCoreJs',
'',
],
[ // API request
'API',
'index',
'Overlay.getTranslations',
],
[ // API request
'API',
'index',
'Transitions.get',
],
[ // Row evolution
'CoreHome',
'getRowEvolutionPopover',
'',
],
[ // Row evolution
'CoreHome',
'getRowEvolutionGraph',
'',
],
[
'CoreHome',
'saveViewDataTableParameters',
'',
],
[
'Transitions',
'renderPopover',
'',
],
[
'Live',
'indexVisitorLog',
'',
],
[
'Live',
'getLastVisitsDetails',
'',
],
[
'Live',
'getVisitorProfilePopup',
'',
],
[
'Live',
'getVisitList',
'',
],
[
'UserCountryMap',
'realtimeMap',
'',
],
];
}
/**
* @dataProvider getInvalidOverlayRequestTestData
*/
public function testIsOverlayRequestWithiNValidReferredRequests($module, $action, $method, $referer)
{
$this->assertSame(false, Overlay::isOverlayRequest($module, $action, $method, $referer));
}
public function getInvalidOverlayRequestTestData()
{
return [
[ // invalid module / action
'Referer',
'get',
'',
'https://demo.matomo.cloud/index.php?module=Overlay&period=month&date=today&idSite=1',
],
[ // invalid api method
'API',
'index',
'VisitsSummary.get',
'https://demo.matomo.cloud/index.php?module=Overlay&period=month&date=today&idSite=1',
],
[ // invalid referer
'API',
'index',
'Transitions.get',
'https://demo.matomo.cloud/index.php?module=Overlay&module=CoreHome&action=index&period=month&date=today&idSite=1',
],
];
}
}
|