sitesmanager.test.php

来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 692 行 · 第 1/2 页

PHP
692
字号
<?phpif(!defined("PATH_TEST_TO_ROOT")) {	define('PATH_TEST_TO_ROOT', getcwd().'/../../');}if(!defined('CONFIG_TEST_INCLUDED')){	require_once PATH_TEST_TO_ROOT."tests/config_test.php";}require_once "Database.test.php";require_once 'SitesManager/API.php';class Test_Piwik_SitesManager extends Test_Database{    public function setUp()    {    	parent::setUp();		// setup the access layer    	$pseudoMockAccess = new FakeAccess;		FakeAccess::$superUser = true;		Zend_Registry::set('access', $pseudoMockAccess);    }        /**     * empty name -> exception     */	public function test_addSite_emptyName()    {    	try {    		Piwik_SitesManager_API::addSite("",array("http://piwik.net"));    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * no urls -> exception     */    public function test_addSite_noUrls()    {    	try {    		Piwik_SitesManager_API::addSite("name",array());    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * wrong urls -> exception     */    public function test_addSite_wrongUrls1()    {    	try {    		Piwik_SitesManager_API::addSite("name",array(""));    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }    /**     * wrong urls -> exception     */    public function test_addSite_wrongUrls2()    {    	try {    		Piwik_SitesManager_API::addSite("name","");    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * wrong urls -> exception     */    public function test_addSite_wrongUrls3()    {    	try {    		Piwik_SitesManager_API::addSite("name","httpww://piwik.net");    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * wrong urls -> exception     */    public function test_addSite_wrongUrls4()    {    	try {    		Piwik_SitesManager_API::addSite("name","httpww://piwik.net/gqg~#");    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * one url -> one main_url and nothing inserted as alias urls     */    public function test_addSite_oneUrl()    {    	$url = "http://piwik.net/";    	$urlOK = "http://piwik.net";    	$idsite = Piwik_SitesManager_API::addSite("name",$url);    	$this->assertIsA( $idsite,'int');    	    	$siteInfo = Piwik_SitesManager_API::getSiteFromId($idsite);    	$this->assertEqual($siteInfo['main_url'], $urlOK);    	    	$siteUrls = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	$this->assertTrue(count($siteUrls)===1);    }        /**     * several urls -> one main_url and others as alias urls     */    public function test_addSite_severalUrls()    {    	$urls = array("http://piwik.net/","http://piwik.com","https://piwik.net/test/");    	$urlsOK = array("http://piwik.net","http://piwik.com","https://piwik.net/test");    	$idsite = Piwik_SitesManager_API::addSite("super website",$urls);    	$this->assertIsA( $idsite,'int');    	    	$siteInfo = Piwik_SitesManager_API::getSiteFromId($idsite);    	$this->assertEqual($siteInfo['main_url'], $urlsOK[0]);    	    	$siteUrls = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	$this->assertEqual($siteUrls, $urlsOK);    }        /**     * strange name     */    public function test_addSite_strangeName()    {    	$name = "supertest(); ~@@()''!拢\$'%%^'!拢";    	$idsite = Piwik_SitesManager_API::addSite($name,"http://piwik.net");    	$this->assertIsA( $idsite,'int');    	    	$siteInfo = Piwik_SitesManager_API::getSiteFromId($idsite);    	$this->assertEqual($siteInfo['name'], $name);    	    }    /**     * normal case     */    public function test_addSite()    {    	$name = "website ";    	$idsite = Piwik_SitesManager_API::addSite($name,array("http://piwik.net","http://piwik.com/test/"));    	$this->assertIsA( $idsite,'int');    	    	$siteInfo = Piwik_SitesManager_API::getSiteFromId($idsite);    	$this->assertEqual($siteInfo['name'], $name);    	$this->assertEqual($siteInfo['main_url'], "http://piwik.net");    	    	$siteUrls = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	$this->assertEqual($siteUrls, array("http://piwik.net","http://piwik.com/test"));    	   	    	return $idsite;    }        /**     * no duplicate -> all the urls are saved     */    public function test_addSiteUrls_noDuplicate()    {    	$idsite = $this->test_addSite();    	    	$siteUrlsBefore = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$toAdd = array(	"http://piwik1.net",						"http://piwik2.net", 						"http://piwik3.net/test/", 						"http://localhost/test", 						"http://localho5.st/test", 						"http://l42578gqege.f4", 						"http://super.com/test/test/atqata675675/te"						);    	$toAddValid = array("http://piwik1.net",							"http://piwik2.net", 							"http://piwik3.net/test",							"http://localhost/test", 							"http://localho5.st/test", 							"http://l42578gqege.f4", 							"http://super.com/test/test/atqata675675/te");    	    	$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	$this->assertEqual($insertedUrls, count($toAdd));    	    	$siteUrlsAfter = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$shouldHave = array_merge($siteUrlsBefore, $toAddValid);    	sort($shouldHave);    	    	sort($siteUrlsAfter);    	    	$this->assertEqual($shouldHave, $siteUrlsAfter);    }        /**     * duplicate -> don't save the already existing URLs     */    public function test_addSiteUrls_duplicate()    {    	    	$idsite = $this->test_addSite();    	    	$siteUrlsBefore = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$toAdd = array_merge($siteUrlsBefore, array("http://piwik1.net","http://piwik2.net"));    	    	$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	$this->assertEqual($insertedUrls, count($toAdd) - count($siteUrlsBefore));    	    	$siteUrlsAfter = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$shouldHave = $toAdd;    	sort($shouldHave);    	    	sort($siteUrlsAfter);    	    	$this->assertEqual($shouldHave, $siteUrlsAfter);    }        /**     * case empty array => nothing happens     */    public function test_addSiteUrls_noUrlsToAdd1()    {    	$idsite = $this->test_addSite();    	    	$siteUrlsBefore = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$toAdd = array();    	    	$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	$this->assertEqual($insertedUrls, count($toAdd));    	    	$siteUrlsAfter = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$shouldHave = $siteUrlsBefore;    	sort($shouldHave);    	    	sort($siteUrlsAfter);    	    	$this->assertEqual($shouldHave, $siteUrlsAfter);    }        /**     * case array only duplicate => nothing happens     */    public function test_addSiteUrls_noUrlsToAdd2()    {    	$idsite = $this->test_addSite();    	    	$siteUrlsBefore = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$toAdd = $siteUrlsBefore;    	    	$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	$this->assertEqual($insertedUrls, 0);    	    	$siteUrlsAfter = Piwik_SitesManager_API::getSiteUrlsFromId($idsite);    	    	$shouldHave = $siteUrlsBefore;    	sort($shouldHave);    	    	sort($siteUrlsAfter);    	    	$this->assertEqual($shouldHave, $siteUrlsAfter);    }        /**     * wrong format urls => exception     */    public function test_addSiteUrls_wrongUrlsFormat1()    {    	    	$idsite = $this->test_addSite();    	    	$toAdd = array("http://pi''.com");    	    	try {    		$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }        /**     * wrong format urls => exception     */    public function test_addSiteUrls_wrongUrlsFormat2()    {    	    	$idsite = $this->test_addSite();    	    	$toAdd = array("http://pi^.com");    	    	try {    		$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }    /**     * wrong format urls => exception     */    public function test_addSiteUrls_wrongUrlsFormat3()    {    	    	$idsite = $this->test_addSite();    	    	$toAdd = array("http://pigeq.com/test{}");    	    	try {    		$insertedUrls = Piwik_SitesManager_API::addSiteAliasUrls($idsite, $toAdd);    	}    	catch (Exception $expected) {            return;        }        $this->fail("Exception not raised.");    }            /**     * wrong idsite => no exception because simply no access to this resource     */    public function test_addSiteUrls_wrongIdSite1()    {    	$toAdd = array("http://pigeq.com/test");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?