TESTS_ZEND_SERVICE_DEVELOPERGARDEN_ONLINE_LOGIN, 'password' => TESTS_ZEND_SERVICE_DEVELOPERGARDEN_ONLINE_PASSWORD, ); $this->service = new Zend_Service_DeveloperGarden_OfflineSecurityTokenServer_Mock($config); } public function tearDown() { // clear test case Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::removeCache(); Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::clearCache(); } public function testWsdlCache() { if (!extension_loaded('soap')) { $this->markTestSkipped('SOAP extension is not loaded'); } $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_NONE) ); $this->assertEquals( WSDL_CACHE_NONE, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_MEMORY) ); $this->assertEquals( WSDL_CACHE_MEMORY, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_DISK) ); $this->assertEquals( WSDL_CACHE_DISK, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_BOTH) ); $this->assertEquals( WSDL_CACHE_BOTH, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_NONE) ); $this->assertEquals( WSDL_CACHE_NONE, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); } public function testDisableWsdlCache() { if (!extension_loaded('soap')) { $this->markTestSkipped('SOAP extension is not loaded'); } Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(WSDL_CACHE_BOTH); $this->assertEquals( WSDL_CACHE_BOTH, Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache() ); // clear cache property Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(null); $this->assertNull(Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache()); } /** * @expectedException Zend_Service_DeveloperGarden_Exception */ public function testGetTokenFromCacheException() { Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache('NotExisting'); } public function testGetTokenFromCache() { $value = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache('securityToken'); $this->assertNull($value); $value = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache('getTokens'); $this->assertNull($value); } public function testSetTokenToCache1stParamException() { if (version_compare(phpversion(), '7', '>=')) { $this->markTestSkipped('Invalid typehinting is PHP Fatal error in PHP7+'); } try { Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( 'NotExisting', 'Zend-Framework' ); $this->fail('An expected Error has not been raised.'); } catch (Exception $e) { } } public function testSetTokenToCache2ndParamException() { if (version_compare(phpversion(), '7', '>=')) { $this->markTestSkipped('Invalid typehinting is PHP Fatal error in PHP7+'); } try { Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( 'securityToken', 'Zend-Framework' ); $this->fail('An expected Error has not been raised.'); } catch (Exception $e) { } } public function testSetTokenToCacheSecurityTokenResponse() { $token = new Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse(); $token->tokenFormat = 'saml20'; $token->tokenEncoding = 'text/xml'; $token->tokenData = ''; Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( 'securityToken', $token ); $value = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache('securityToken'); $this->assertEquals($token->tokenFormat, $value->tokenFormat); $this->assertEquals($token->tokenEncoding, $value->tokenEncoding); $this->assertEquals($token->tokenData, $value->tokenData); $this->assertTrue($value instanceof Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse); } public function testSetTokenToCacheGetTokensResponse() { $token = new Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse(); $token->securityToken = ''; Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache( 'getTokens', $token ); $value = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache('getTokens'); $this->assertEquals($token->securityToken, $value->securityToken); $this->assertTrue($value instanceof Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse); } /** * @expectedException Zend_Service_DeveloperGarden_Response_SecurityTokenServer_Exception */ public function testGetTokenException() { $resp = new Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse(); $this->assertNotNull($resp->getSecurityToken()); } public function testTokenCacheGetCache() { $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() ); } public function testTokenCacheSetCache() { require_once 'Zend/Cache.php'; $cache = Zend_Cache::factory('Core', 'File', array(), array()); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setCache($cache) ); $this->assertTrue( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() instanceof Zend_Cache_Core ); } public function testTokenCacheRemoveCache() { require_once 'Zend/Cache.php'; $cache = Zend_Cache::factory('Core', 'File', array(), array()); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setCache($cache) ); $this->assertTrue( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() instanceof Zend_Cache_Core ); Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::removeCache(); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() ); } public function testTokenCacheClearCache() { require_once 'Zend/Cache.php'; $cache = Zend_Cache::factory('Core', 'File', array(), array()); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setCache($cache) ); $this->assertTrue( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() instanceof Zend_Cache_Core ); Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::clearCache(); } public function testTokenCacheGetTokenFromCacheWithZendCache() { $tokens = array( 'securityToken', 'getTokens' ); require_once 'Zend/Cache.php'; $cache = Zend_Cache::factory('Core', 'File', array(), array()); $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setCache($cache) ); $this->assertTrue( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getCache() instanceof Zend_Cache_Core ); Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::resetTokenCache(); Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::clearCache(); foreach ($tokens as $v) { $this->assertNull( Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache($v) ); } } } class Zend_Service_DeveloperGarden_OfflineSecurityTokenServer_Mock extends Zend_Service_DeveloperGarden_SecurityTokenServer { } if (PHPUnit_MAIN_METHOD == 'Zend_Service_DeveloperGarden_OfflineSecurityTokenServerTest::main') { Zend_Service_DeveloperGarden_OfflineSecurityTokenServerTest::main(); }