diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2016-02-14 23:10:26 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2016-02-14 23:10:26 +0300 |
commit | 2bae9d90f860f3ccc5598420eb978cafd598451e (patch) | |
tree | b742afddcfc882de15b9c075522cee4eae680db6 /tests/PHPUnit/Fixtures | |
parent | 41b579a9d94a05f7c0cb2e42bf7c03c2d374ed95 (diff) |
merge master => 3.0
Diffstat (limited to 'tests/PHPUnit/Fixtures')
-rw-r--r-- | tests/PHPUnit/Fixtures/InvalidVisits.php | 6 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php | 13 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/OmniFixture.php | 60 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php | 3 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php | 1 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/SqlDump.php | 6 | ||||
-rw-r--r-- | tests/PHPUnit/Fixtures/UITestFixture.php | 14 |
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; |