Newer
Older
benakamoorthi
a validé
<?php
/**
* Piwik - Open source web analytics
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
benakamoorthi
a validé
require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/MockLocationProvider.php';
benakamoorthi
a validé
/**
* Test Piwik's report limiting code. Make sure the datatable_archiving_maximum_rows_...
* config options limit the size of certain reports when archiving.
*/
class Test_Piwik_Integration_BlobReportLimitingTest extends IntegrationTestCase
{
public static $fixture = null; // initialized below class definition
benakamoorthi
a validé
public static function setUpBeforeClass()
{
self::setUpConfigOptions();
parent::_setUpBeforeClass($dbName = false, $createEmptyDatabase = true, $createConfig = false);
parent::setUpFixture(self::$fixture);
}
benakamoorthi
a validé
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
public function getApiForTesting()
{
// TODO: test Provider plugin? Not sure if it's possible.
$apiToCall = array(
'Actions.getPageUrls', 'Actions.getPageTitles', 'Actions.getDownloads', 'Actions.getOutlinks',
'CustomVariables.getCustomVariables',
'Referers.getRefererType', 'Referers.getKeywords', 'Referers.getSearchEngines',
'Referers.getWebsites', 'Referers.getAll', /* TODO 'Referers.getCampaigns', */
'UserSettings.getResolution', 'UserSettings.getConfiguration', 'UserSettings.getOS',
'UserSettings.getBrowserVersion',
'UserCountry.getRegion', 'UserCountry.getCity',
);
return array(
array($apiToCall, array('idSite' => self::$fixture->idSite,
'date' => self::$fixture->dateTime,
'periods' => array('day')))
);
}
/**
* @dataProvider getApiForTesting
* @group Integration
* @group BlobReportLimiting
*/
public function testApi($api, $params)
{
$this->runApiTests($api, $params);
}
/**
* @group Integration
* @group BlobReportLimiting
*/
public function testApiWithRankingQuery()
{
// custom setup
self::deleteArchiveTables();
$generalConfig['datatable_archiving_maximum_rows_referers'] = 4;
$generalConfig['datatable_archiving_maximum_rows_subtable_referers'] = 4;
$generalConfig['datatable_archiving_maximum_rows_actions'] = 4;
$generalConfig['datatable_archiving_maximum_rows_subtable_actions'] = 4;
$generalConfig['datatable_archiving_maximum_rows_standard'] = 4;
Piwik_Config::getInstance()->General['archiving_ranking_query_row_limit'] = 3;
Piwik_Actions_ArchivingHelper::reloadConfig();
foreach ($this->getApiForTesting() as $pair) {
list($apiToCall, $params) = $pair;
$params['testSuffix'] = '_rankingQuery';
$this->runApiTests($apiToCall, $params);
}
}
public function getOutputPrefix()
{
return 'reportLimiting';
}
protected static function setUpConfigOptions()
{
self::createTestConfig();
$generalConfig =& Piwik_Config::getInstance()->General;
$generalConfig['datatable_archiving_maximum_rows_referers'] = 3;
$generalConfig['datatable_archiving_maximum_rows_subtable_referers'] = 2;
$generalConfig['datatable_archiving_maximum_rows_actions'] = 3;
$generalConfig['datatable_archiving_maximum_rows_subtable_actions'] = 2;
$generalConfig['datatable_archiving_maximum_rows_standard'] = 3;
$generalConfig['archiving_ranking_query_row_limit'] = 50000;
}
diosmosis
a validé
}
benakamoorthi
a validé
diosmosis
a validé
Test_Piwik_Integration_BlobReportLimitingTest::$fixture = new Test_Piwik_Fixture_ManyVisitsWithMockLocationProvider();