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

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2016-02-14 23:10:26 +0300
committerThomas Steur <thomas.steur@gmail.com>2016-02-14 23:10:26 +0300
commit2bae9d90f860f3ccc5598420eb978cafd598451e (patch)
treeb742afddcfc882de15b9c075522cee4eae680db6 /tests/PHPUnit/Fixtures
parent41b579a9d94a05f7c0cb2e42bf7c03c2d374ed95 (diff)
merge master => 3.0
Diffstat (limited to 'tests/PHPUnit/Fixtures')
-rw-r--r--tests/PHPUnit/Fixtures/InvalidVisits.php6
-rw-r--r--tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php13
-rw-r--r--tests/PHPUnit/Fixtures/OmniFixture.php60
-rw-r--r--tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php3
-rw-r--r--tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php1
-rw-r--r--tests/PHPUnit/Fixtures/SqlDump.php6
-rw-r--r--tests/PHPUnit/Fixtures/UITestFixture.php14
7 files changed, 86 insertions, 17 deletions
diff --git a/tests/PHPUnit/Fixtures/InvalidVisits.php b/tests/PHPUnit/Fixtures/InvalidVisits.php
index 5518a7a163..da1038eba2 100644
--- a/tests/PHPUnit/Fixtures/InvalidVisits.php
+++ b/tests/PHPUnit/Fixtures/InvalidVisits.php
@@ -112,6 +112,12 @@ class InvalidVisits extends Fixture
$t->setUrl("http://their.stuff.com/back/to/the/future");
$t->doTrackPageView("ignored, not from my.stuff.com");
+ // undo exclude unknown urls change (important when multiple fixtures are setup together, as is done in OmniFixture)
+ API::getInstance()->updateSite($idSite, $siteName = null, $urls, $ecommerce = null, $siteSearch = null,
+ $searchKeywordParameters = null, $searchCategoryParameters = null, $excludedIps = null, $excludedQueryParams = null,
+ $timezone = null, $currency = null, $group = null, $startDate = null, $excludedUserAgents = null,
+ $keepUrlFragments = null, $type = null, $settings = null, $excludeUnknownUrls = 0);
+
try {
@$t->setAttributionInfo(array());
self::fail();
diff --git a/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php b/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php
index ce454b38d2..8fb67f261a 100644
--- a/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php
+++ b/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php
@@ -41,6 +41,17 @@ class ManyVisitsWithGeoIP extends Fixture
'103.29.196.229', // in Indonesia (Bali), (only Indonesia will show up)
);
+ public $userAgents = array(
+ 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.136 Mobile Safari/537.36',
+ 'Mozilla/5.0 (Linux; U; Android 2.3.7; fr-fr; HTC Desire Build/GRI40; MildWild CM-8.0 JG Stable) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
+ 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36',
+ 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.3; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)',
+ 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; MDDSJS; rv:11.0) like Gecko',
+ 'Mozilla/5.0 (Linux; Android 4.1.1; SGPT13 Build/TJDS0170) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Safari/537.36',
+ 'Mozilla/5.0 (Linux; U; Android 4.3; zh-cn; SM-N9006 Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 Mobile Safari/537.36',
+ 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.14) Gecko/2009090216 Ubuntu/9.04 (jaunty) Firefox/3.0.14'
+ );
+
protected $idGoal;
protected $idGoal2;
@@ -107,6 +118,8 @@ class ManyVisitsWithGeoIP extends Fixture
$t->setVisitorId( substr(md5($i + $calledCounter * 1000), 0, $t::LENGTH_VISITOR_ID));
if ($setIp) {
$t->setIp(current($this->ips));
+ $t->setUserAgent(current($this->userAgents));
+ next($this->userAgents);
next($this->ips);
} else {
$t->setIp("1.2.4.$i");
diff --git a/tests/PHPUnit/Fixtures/OmniFixture.php b/tests/PHPUnit/Fixtures/OmniFixture.php
index cd6fc0fb34..e37afea8db 100644
--- a/tests/PHPUnit/Fixtures/OmniFixture.php
+++ b/tests/PHPUnit/Fixtures/OmniFixture.php
@@ -7,13 +7,12 @@
*/
namespace Piwik\Tests\Fixtures;
+use Piwik\API\Request;
use Piwik\Date;
-use Piwik\Access;
use Piwik\Option;
use ReflectionClass;
-use Piwik\Plugins\VisitsSummary\API as VisitsSummaryAPI;
+use Piwik\Plugins\SitesManager\API as SitesManagerAPI;
use Piwik\Tests\Framework\Fixture;
-use Piwik\Tests\Framework\OverrideLogin;
/**
* This fixture is the combination of every other fixture defined by Piwik. Should be used
@@ -21,15 +20,24 @@ use Piwik\Tests\Framework\OverrideLogin;
*/
class OmniFixture extends Fixture
{
+ const DEFAULT_SEGMENT = "browserCode==FF";
+
public $month = '2012-01';
public $idSite = 'all';
public $dateTime = '2012-02-01';
+
+ /**
+ * @var Date
+ */
public $now = null;
- public $segment = "browserCode==FF";
+ public $segment = self::DEFAULT_SEGMENT;
// Visitor profile screenshot test needs visitor id
public $visitorIdDeterministic = null;
+ /**
+ * @var Fixture[]
+ */
public $fixtures = array();
private function requireAllFixtures()
@@ -114,18 +122,18 @@ class OmniFixture extends Fixture
public function setUp()
{
+ $firstFixture = array_shift($this->fixtures);
+ $this->setUpFixture($firstFixture);
+
+ $initialSitesProperties = SitesManagerAPI::getInstance()->getAllSites();
+
foreach ($this->fixtures as $fixture) {
- echo "Setting up " . get_class($fixture) . "...\n";
+ $this->restoreSitesProperties($initialSitesProperties);
- $fixture->setUp();
+ $this->setUpFixture($fixture);
}
Option::set("Tests.forcedNowTimestamp", $this->now->getTimestamp());
-
- // launch archiving so tests don't run out of time
- $date = Date::factory($this->dateTime)->toString();
- VisitsSummaryAPI::getInstance()->get($this->idSite, 'year', $date);
- VisitsSummaryAPI::getInstance()->get($this->idSite, 'year', $date, urlencode($this->segment));
}
public function tearDown()
@@ -136,4 +144,34 @@ class OmniFixture extends Fixture
$fixture->tearDown();
}
}
+
+ private function setUpFixture(Fixture $fixture)
+ {
+ echo "Setting up " . get_class($fixture) . "...\n";
+ $fixture->setUp();
+ }
+
+ private function restoreSitesProperties($initialSitesProperties)
+ {
+ foreach ($initialSitesProperties as $idSite => $properties) {
+ Request::processRequest('SitesManager.updateSite', array(
+ 'idSite' => $idSite,
+ 'siteName' => $properties['name'],
+ 'ecommerce' => $properties['ecommerce'],
+ 'siteSearch' => $properties['sitesearch'],
+ 'searchKeywordParameters' => $properties['sitesearch_keyword_parameters'],
+ 'searchCategoryParameters' => $properties['sitesearch_category_parameters'],
+ 'excludedIps' => $properties['excluded_ips'],
+ 'excludedQueryParameters' => $properties['excluded_parameters'],
+ 'timezone' => $properties['timezone'],
+ 'currency' => $properties['currency'],
+ 'group' => $properties['group'],
+ 'startDate' => $properties['ts_created'],
+ 'excludedUserAgents' => $properties['excluded_user_agents'],
+ 'keepURLFragments' => $properties['keep_url_fragment'],
+ 'type' => $properties['type'],
+ 'excludeUnknownUrls' => $properties['exclude_unknown_urls']
+ ));
+ }
+ }
} \ No newline at end of file
diff --git a/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php b/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php
index a32129c93b..03cb78f9da 100644
--- a/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php
+++ b/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php
@@ -10,6 +10,7 @@ namespace Piwik\Tests\Fixtures;
use Piwik\Date;
use Piwik\Plugins\Goals\API;
use Piwik\Tests\Framework\Fixture;
+use Piwik\Tests\Framework\TestingEnvironmentVariables;
use PiwikTracker;
/**
@@ -36,7 +37,7 @@ class SomeVisitsCustomVariablesCampaignsNotHeuristics extends Fixture
private function setPiwikEnvironmentOverrides()
{
- $env = $this->getTestEnvironment();
+ $env = new TestingEnvironmentVariables();
$env->overrideConfig('Tracker', 'create_new_visit_when_website_referrer_changes', 1);
$env->save();
}
diff --git a/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php b/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php
index ed0647f64c..3a91bf6a91 100644
--- a/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php
+++ b/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php
@@ -9,6 +9,7 @@ namespace Piwik\Tests\Fixtures;
use Piwik\Date;
use Piwik\Tests\Framework\Fixture;
+use PiwikTracker;
/**
* Adds one site and tracks a couple visits with many pageviews. The
diff --git a/tests/PHPUnit/Fixtures/SqlDump.php b/tests/PHPUnit/Fixtures/SqlDump.php
index b360d162b3..f5ebc7b364 100644
--- a/tests/PHPUnit/Fixtures/SqlDump.php
+++ b/tests/PHPUnit/Fixtures/SqlDump.php
@@ -13,6 +13,7 @@ use Piwik\Config;
use Piwik\Db;
use Piwik\Tests\Framework\Fixture;
use Exception;
+use Piwik\Tests\Framework\TestingEnvironmentVariables;
/**
* Reusable fixture. Loads a SQL dump into the DB.
@@ -74,12 +75,13 @@ class SqlDump extends Fixture
// reload access
Access::getInstance()->reloadAccess();
- $this->getTestEnvironment()->configOverride = array(
+ $testVars = new TestingEnvironmentVariables();
+ $testVars->configOverride = array(
'database' => array(
'tables_prefix' => $this->tablesPrefix
)
);
- $this->getTestEnvironment()->save();
+ $testVars->save();
}
/**
diff --git a/tests/PHPUnit/Fixtures/UITestFixture.php b/tests/PHPUnit/Fixtures/UITestFixture.php
index 623e7e388d..0792a4e448 100644
--- a/tests/PHPUnit/Fixtures/UITestFixture.php
+++ b/tests/PHPUnit/Fixtures/UITestFixture.php
@@ -69,13 +69,14 @@ class UITestFixture extends SqlDump
// create non super user
UsersManagerAPI::getInstance()->addUser('oliverqueen', 'smartypants', 'oli@queenindustries.com');
UsersManagerAPI::getInstance()->setUserAccess('oliverqueen', 'view', array(1));
-
- // launch archiving so UI test requests don't launch it
- VisitsSummaryAPI::getInstance()->get('all', 'year', '2012-08-09');
}
public function performSetUp($setupEnvironmentOnly = false)
{
+ $this->extraTestEnvVars = array(
+ 'loadRealTranslations' => 1,
+ );
+
parent::performSetUp($setupEnvironmentOnly);
$this->createSegments();
@@ -96,6 +97,12 @@ class UITestFixture extends SqlDump
$this->testEnvironment->forcedNowTimestamp = $forcedNowTimestamp;
$this->testEnvironment->save();
+
+ // launch archiving so tests don't run out of time
+ print("Archiving in fixture set up...");
+ VisitsSummaryAPI::getInstance()->get('all', 'year', '2012-08-09');
+ VisitsSummaryAPI::getInstance()->get('all', 'year', '2012-08-09', urlencode(OmniFixture::DEFAULT_SEGMENT));
+ print("Done.");
}
private function addOverlayVisits()
@@ -245,6 +252,7 @@ class UITestFixture extends SqlDump
|| $widget['uniqueId'] == 'widgetReferrersgetKeywordsForPage'
|| $widget['uniqueId'] == 'widgetLivegetVisitorProfilePopup'
|| $widget['uniqueId'] == 'widgetActionsgetPageTitles'
+ || $widget['uniqueId'] == 'widgetPiwikProrssPiwikPro'
|| strpos($widget['uniqueId'], 'widgetExample') === 0
) {
continue;