예제 #1
0
파일: AuthTest.php 프로젝트: stunti/zf2
 /**
  * Acts like a client sending the given Authenticate header value.
  *
  * @param  string $clientHeader Authenticate header value
  * @param  string $scheme       Which authentication scheme to use
  * @return array Containing the result, response headers, and the status
  */
 protected function _doAuth($clientHeader, $scheme)
 {
     // Set up stub request and response objects
     $request = $this->getMock('Zend_Controller_Request_Http');
     $response = new \Zend_Controller_Response_Http();
     $response->setHttpResponseCode(200);
     $response->headersSentThrowsException = false;
     // Set stub method return values
     $request->expects($this->any())->method('getRequestUri')->will($this->returnValue('/'));
     $request->expects($this->any())->method('getMethod')->will($this->returnValue('GET'));
     $request->expects($this->any())->method('getServer')->will($this->returnValue('PHPUnit'));
     $request->expects($this->any())->method('getHeader')->will($this->returnValue($clientHeader));
     // Select an Authentication scheme
     switch ($scheme) {
         case 'basic':
             $use = $this->_basicConfig;
             break;
         case 'digest':
             $use = $this->_digestConfig;
             break;
         case 'both':
         default:
             $use = $this->_bothConfig;
     }
     // Create the HTTP Auth adapter
     $a = new HTTP($use);
     $a->setBasicResolver($this->_basicResolver);
     $a->setDigestResolver($this->_digestResolver);
     // Send the authentication request
     $a->setRequest($request);
     $a->setResponse($response);
     $result = $a->authenticate();
     $return = array('result' => $result, 'status' => $response->getHttpResponseCode(), 'headers' => $response->getHeaders());
     return $return;
 }
예제 #2
0
파일: ObjectTest.php 프로젝트: stunti/zf2
 public function testNoResolvers()
 {
     $request = $this->getMock('Zend_Controller_Request_Http');
     $response = $this->getMock('Zend_Controller_Response_Http');
     // Stub request for Basic auth
     $request->expects($this->any())->method('getHeader')->will($this->returnValue('Basic <followed by a space caracter'));
     // Once for Basic
     try {
         $a = new Adapter\HTTP($this->_basicConfig);
         $a->setRequest($request)->setResponse($response);
         $result = $a->authenticate();
         $this->fail("Tried Basic authentication without a resolver.\n" . \Zend\Debug::dump($result->getMessages(), null, false));
     } catch (Adapter\Exception $e) {
         // Good, it threw an exception
         unset($a);
     }
     // Stub request for Digest auth, must be reseted (recreated)
     $request = $this->getMock('Zend_Controller_Request_Http');
     $request->expects($this->any())->method('getHeader')->will($this->returnValue('Digest <followed by a space caracter'));
     // Once for Digest
     try {
         $a = new Adapter\HTTP($this->_digestConfig);
         $a->setRequest($request)->setResponse($response);
         $result = $a->authenticate();
         $this->fail("Tried Digest authentication without a resolver.\n" . \Zend\Debug::dump($result->getMessages(), null, false));
     } catch (Adapter\Exception $e) {
         // Good, it threw an exception
         unset($a);
     }
 }