diff --git a/tests/PHPUnit/Fixtures/OmniFixture.php b/tests/PHPUnit/Fixtures/OmniFixture.php index c1a7fec4338e14650d388b91161ca10bffc2e405..f2b5aa9c448aaae0673ce7e3ad15f462f79078c0 100644 --- a/tests/PHPUnit/Fixtures/OmniFixture.php +++ b/tests/PHPUnit/Fixtures/OmniFixture.php @@ -8,12 +8,10 @@ namespace Piwik\Tests\Fixtures; 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 @@ -120,10 +118,15 @@ 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()); @@ -137,4 +140,36 @@ 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) { + SitesManagerAPI::getInstance()->updateSite( + $idSite, + $siteName = $properties['name'], + $urls = $properties[''], + $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'], + $settings = null, + $excludeUnknownUrls = $properties['exclude_unknown_urls'] + ); + } + } } \ No newline at end of file diff --git a/tests/resources/OmniFixture-dump.sql.gz b/tests/resources/OmniFixture-dump.sql.gz index 75ca5eacba0348966108bc41c9ca3b85cd66e315..ca5c1a72675f37616a367168a2f07f8f33a34ed4 100644 Binary files a/tests/resources/OmniFixture-dump.sql.gz and b/tests/resources/OmniFixture-dump.sql.gz differ