function test_setDefaultTimezoneAndCurrencyAndExcludedQueryParametersAndExcludedIps() { // test that they return default values $defaultTimezone = Piwik_SitesManager_API::getInstance()->getDefaultTimezone(); $this->assertEqual($defaultTimezone, 'UTC'); $defaultCurrency = Piwik_SitesManager_API::getInstance()->getDefaultCurrency(); $this->assertEqual($defaultCurrency, 'USD'); $excludedIps = Piwik_SitesManager_API::getInstance()->getExcludedIpsGlobal(); $this->assertEqual($excludedIps, ''); $excludedQueryParameters = Piwik_SitesManager_API::getInstance()->getExcludedQueryParametersGlobal(); $this->assertEqual($excludedQueryParameters, ''); // test that when not specified, defaults are set as expected $idsite = Piwik_SitesManager_API::getInstance()->addSite("site1", array('http://example.org')); $site = new Piwik_Site($idsite); $this->assertEqual($site->getTimezone(), 'UTC'); $this->assertEqual($site->getCurrency(), 'USD'); $this->assertEqual($site->getExcludedQueryParameters(), ''); $this->assertEqual($site->getExcludedIps(), ''); $this->assertEqual($site->isEcommerceEnabled(), false); // set the global timezone and get it $newDefaultTimezone = 'UTC+5.5'; Piwik_SitesManager_API::getInstance()->setDefaultTimezone($newDefaultTimezone); $defaultTimezone = Piwik_SitesManager_API::getInstance()->getDefaultTimezone(); $this->assertEqual($defaultTimezone, $newDefaultTimezone); // set the default currency and get it $newDefaultCurrency = 'EUR'; Piwik_SitesManager_API::getInstance()->setDefaultCurrency($newDefaultCurrency); $defaultCurrency = Piwik_SitesManager_API::getInstance()->getDefaultCurrency(); $this->assertEqual($defaultCurrency, $newDefaultCurrency); // set the global IPs to exclude and get it $newGlobalExcludedIps = '1.1.1.*,1.1.*.*,150.1.1.1'; Piwik_SitesManager_API::getInstance()->setGlobalExcludedIps($newGlobalExcludedIps); $globalExcludedIps = Piwik_SitesManager_API::getInstance()->getExcludedIpsGlobal(); $this->assertEqual($globalExcludedIps, $newGlobalExcludedIps); // set the global URL query params to exclude and get it $newGlobalExcludedQueryParameters = 'PHPSESSID,blabla, TesT'; // removed the space $expectedGlobalExcludedQueryParameters = 'PHPSESSID,blabla,TesT'; Piwik_SitesManager_API::getInstance()->setGlobalExcludedQueryParameters($newGlobalExcludedQueryParameters); $globalExcludedQueryParameters = Piwik_SitesManager_API::getInstance()->getExcludedQueryParametersGlobal(); $this->assertEqual($globalExcludedQueryParameters, $expectedGlobalExcludedQueryParameters); // create a website and check that default currency and default timezone are set // however, excluded IPs and excluded query Params are not returned $idsite = Piwik_SitesManager_API::getInstance()->addSite("site1", array('http://example.org'), $ecommerce = 1, '', '', $newDefaultTimezone); $site = new Piwik_Site($idsite); $this->assertEqual($site->getTimezone(), $newDefaultTimezone); $this->assertEqual($site->getCreationDate()->toString(), date('Y-m-d')); $this->assertEqual($site->getCurrency(), $newDefaultCurrency); $this->assertEqual($site->getExcludedIps(), ''); $this->assertEqual($site->getExcludedQueryParameters(), ''); $this->assertEqual($site->isEcommerceEnabled(), true); }