Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ManyVisitorsOneWebsiteTest.php « Integration « PHPUnit « tests - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0ab4ecab477f180c830a458e19529c39432c71d2 (plain)
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
<?php
/**
 * Piwik - Open source web analytics
 *
 * @link	http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/MockLocationProvider.php';

/**
 * Tests w/ 14 visitors w/ 2 visits each.
 * Uses geoip location provider to test city/region reports.
 * 
 * TODO Test ServerBased GeoIP implementation somehow. (Use X-FORWARDED-FOR?)
 * TODO Test PECL implementation somehow. (The PECL module must point to the test dir, not the real one.)
 */
class Test_Piwik_Integration_ManyVisitorsOneWebsiteTest extends IntegrationTestCase
{
	public static $fixture = null; // initialized below class definition
	
	/**
	 * @dataProvider getApiForTesting
	 * @group        Integration
	 * @group        TwoVisitors_TwoWebsites_DifferentDays_ArchivingDisabled
	 */
	public function testApi($api, $params)
	{
		$this->runApiTests($api, $params);
	}

	public function getApiForTesting()
	{
		$idSite = self::$fixture->idSite;
		$dateTime = self::$fixture->dateTime;
		
		// Note: we must set  'UserCountry.getLocationFromIP' since it's "excluded" by default in setApiNotToCall
		$apiToCall = array('UserCountry');

		return array(
			array( $apiToCall,
							array(  'idSite'		=> $idSite,
									'date'		=> $dateTime,
									'periods'	=> array('month'))),

			array($apiToCall, array('idSite'		=> $idSite,
									'date'		=> $dateTime,
									'periods'	=> array('month'),
									'testSuffix' => '_segment_region',
									'segment'    => 'region==P3;country==gb')),

			array($apiToCall, array('idSite'		=> $idSite,
									'date'		=> $dateTime,
									'periods'	=> array('month'),
									'testSuffix' => '_segment_city',
									'segment'    => 'city==Stratford-upon-Avon;region==P3;country==gb')),

			array($apiToCall, array('idSite'		=> $idSite,
									'date'		=> $dateTime,
									'periods'	=> array('month'),
									'testSuffix' => '_segment_lat_long',
									'segment'    => 'lat>45;lat<49.3;long>-125;long<-122')),

			array('UserCountry.getCountry', array('idSite'		=> $idSite,
												  'date'		=> $dateTime,
												  'periods'		=> array('month'),
												  'testSuffix'	=> '_segment_continent',
												  'segment'   	=> 'continent==eur')),

			array(array('UserCountry.getLocationFromIP', 'Live.getLastVisitsDetails'), array(
														'idSite'		=> $idSite,
														 'date'		=> $dateTime,
														 'periods'		=> array('month'),
														 'otherRequestParameters' => array('ip' => '194.57.91.215')
													 	)),
		);
	}
}

Test_Piwik_Integration_ManyVisitorsOneWebsiteTest::$fixture
	= new Test_Piwik_Fixture_ManyVisitsWithGeoIP();