public function setUp()
 {
     $client = new Zend_Http_Client();
     Zend_Feed_Pubsubhubbub::setHttpClient($client);
     $this->_subscriber = new Zend_Feed_Pubsubhubbub_Subscriber();
     $this->_adapter = $this->_getCleanMock('Zend_Db_Adapter_Abstract');
     $this->_tableGateway = $this->_getCleanMock('Zend_Db_Table_Abstract');
     $this->_tableGateway->expects($this->any())->method('getAdapter')->will($this->returnValue($this->_adapter));
 }
Ejemplo n.º 2
0
 public function setUp()
 {
     $this->_adapter = new Zend_Http_Client_Adapter_Test();
     $this->_storage = new Zend_Feed_Pubsubhubbub_Storage_Filesystem();
     $this->_skey = sha1('http://www.example.com/callback' . 'http://www.example.com/topic' . 'subscription');
     $this->_tkey = sha1('http://www.example.com/callback' . 'http://www.example.com/topic' . 'challenge');
     $client = new Zend_Http_Client();
     $client->setAdapter($this->_adapter);
     Zend_Feed_Pubsubhubbub::setHttpClient($client);
     $this->_callback = new Zend_Feed_Pubsubhubbub_HubServer_Callback();
     $this->_callback->setStorage($this->_storage);
     $this->_originalServer = $_SERVER;
     $_SERVER['REQUEST_METHOD'] = 'POST';
 }
Ejemplo n.º 3
0
 public function setUp()
 {
     if (defined('TESTS_Zend_Feed_Pubsubhubbub_BASEURI') && Zend_Uri_Http::check(TESTS_Zend_Feed_Pubsubhubbub_BASEURI)) {
         $this->_baseuri = TESTS_Zend_Feed_Pubsubhubbub_BASEURI;
         if (substr($this->_baseuri, -1) != '/') {
             $this->_baseuri .= '/';
         }
         $name = $this->getName();
         if (($pos = strpos($name, ' ')) !== false) {
             $name = substr($name, 0, $pos);
         }
         $uri = $this->_baseuri . $name . '.php';
         $this->_adapter = new $this->_config['adapter']();
         $this->_client = new Zend_Http_Client($uri, $this->_config);
         $this->_client->setAdapter($this->_adapter);
         Zend_Feed_Pubsubhubbub::setHttpClient($this->_client);
         $this->_subscriber = new Zend_Feed_Pubsubhubbub_Subscriber();
         $this->_subscriber->setStorage(new Zend_Feed_Pubsubhubbub_Storage_Filesystem());
     } else {
         // Skip tests
         $this->markTestSkipped("Zend_Feed_Pubsubhubbub_Subscriber dynamic tests'\n            . ' are not enabled in TestConfiguration.php");
     }
 }
Ejemplo n.º 4
0
 /**
  * URL Encode an array of parameters
  *
  * @param  array $params
  * @return array
  */
 protected function _urlEncode(array $params)
 {
     $encoded = array();
     foreach ($params as $key => $value) {
         if (is_array($value)) {
             $ekey = Zend_Feed_Pubsubhubbub::urlencode($key);
             $encoded[$ekey] = array();
             foreach ($value as $duplicateKey) {
                 $encoded[$ekey][] = Zend_Feed_Pubsubhubbub::urlencode($duplicateKey);
             }
         } else {
             $encoded[Zend_Feed_Pubsubhubbub::urlencode($key)] = Zend_Feed_Pubsubhubbub::urlencode($value);
         }
     }
     return $encoded;
 }
Ejemplo n.º 5
0
 public function testCanDetectHubs()
 {
     $feed = Zend_Feed_Reader::importFile(dirname(__FILE__) . '/_files/rss20.xml');
     $this->assertEquals(array('http://www.example.com/hub', 'http://www.example.com/hub2'), Zend_Feed_Pubsubhubbub::detectHubs($feed));
 }
Ejemplo n.º 6
0
 /**
  * Get a basic prepared HTTP client for use
  *
  * @return Zend_Http_Client
  */
 protected function _getHttpClient()
 {
     $client = Zend_Feed_Pubsubhubbub::getHttpClient();
     $client->setMethod(Zend_Http_Client::POST);
     $client->setConfig(array('useragent' => 'Zend_Feed_Pubsubhubbub_Publisher/' . Zend_Version::VERSION));
     $params = array();
     $params[] = 'hub.mode=publish';
     $topics = $this->getUpdatedTopicUrls();
     if (empty($topics)) {
         require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
         throw new Zend_Feed_Pubsubhubbub_Exception('No updated topic URLs' . ' have been set');
     }
     foreach ($topics as $topicUrl) {
         $params[] = 'hub.url=' . urlencode($topicUrl);
     }
     $optParams = $this->getParameters();
     foreach ($optParams as $name => $value) {
         $params[] = urlencode($name) . '=' . urlencode($value);
     }
     $paramString = implode('&', $params);
     $client->setRawData($paramString, 'application/x-www-form-urlencoded');
     return $client;
 }
Ejemplo n.º 7
0
 public function testNotifiesHubAndReportsFail()
 {
     Zend_Feed_Pubsubhubbub::setHttpClient(new Zend_Feed_Pubsubhubbub_PublisherTest_ClientFail());
     $client = Zend_Feed_Pubsubhubbub::getHttpClient();
     $this->_publisher->addHubUrl('http://www.example.com/hub');
     $this->_publisher->addUpdatedTopicUrl('http://www.example.com/topic');
     $this->_publisher->setParameter('foo', 'bar');
     $this->_publisher->notifyAll();
     $this->assertFalse($this->_publisher->isSuccess());
 }
Ejemplo n.º 8
0
 public function setUp()
 {
     $client = new Zend_Http_Client();
     Zend_Feed_Pubsubhubbub::setHttpClient($client);
     $this->_hub = new Zend_Feed_Pubsubhubbub_HubServer();
 }
Ejemplo n.º 9
0
 /**
  * Simple mechanism to delete the entire singleton HTTP Client instance
  * which forces an new instantiation for subsequent requests.
  *
  * @return void
  */
 public static function clearHttpClient()
 {
     self::$httpClient = null;
 }
Ejemplo n.º 10
0
 /**
  * Get a basic prepared HTTP client for use
  *
  * @param string $mode Must be "subscribe" or "unsubscribe"
  * @return Zend_Http_Client
  */
 protected function _getHttpClient()
 {
     $client = Zend_Feed_Pubsubhubbub::getHttpClient();
     $client->setMethod(Zend_Http_Client::GET);
     $client->setConfig(array('useragent' => 'Zend_Feed_Pubsubhubbub_HubServer/' . Zend_Version::VERSION));
     return $client;
 }
Ejemplo n.º 11
0
 public function setUp()
 {
     $client = new Zend_Http_Client();
     Zend_Feed_Pubsubhubbub::setHttpClient($client);
     $this->_subscriber = new Zend_Feed_Pubsubhubbub_Subscriber();
 }