Changeset 1441
- Timestamp:
- 03/19/08 18:18:13 (2 months ago)
- Files:
-
- trunk/src/main/php/net/stubbles/websites/processors/stubAbstractProcessor.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/websites/processors/stubProcessor.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/websites/stubFrontController.php (modified) (1 diff)
- trunk/src/test/php/net/stubbles/websites/processors/stubAbstractProcessorTestCase.php (modified) (1 diff)
- trunk/src/test/php/net/stubbles/websites/stubFrontControllerTestCase.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/websites/processors/stubAbstractProcessor.php
r1439 r1441 97 97 * @return bool 98 98 */ 99 public function force sSSL()99 public function forceSSL() 100 100 { 101 101 return false; trunk/src/main/php/net/stubbles/websites/processors/stubProcessor.php
r1439 r1441 49 49 * @return bool 50 50 */ 51 public function force sSSL();51 public function forceSSL(); 52 52 53 53 /** trunk/src/main/php/net/stubbles/websites/stubFrontController.php
r1435 r1441 120 120 $processorResolverFactory->init(); 121 121 $processor = $processorResolverFactory->getResolver()->resolve($this->request, $this->session, $this->response); 122 if ($processor->forceSSL() === true && $processor->isSSL() === false) { 123 $this->response->addHeader('Location', 'https://' . $this->request->getURI()); 124 $this->request->cancel(); 125 $this->response->send(); 126 return; 127 } 128 122 129 $interceptorInitializer = $this->websiteInitializer->getInterceptorInitializer(); 123 130 $interceptorInitializer->setDescriptor($processor->getInterceptorDescriptor()); trunk/src/test/php/net/stubbles/websites/processors/stubAbstractProcessorTestCase.php
r1439 r1441 97 97 public function neverForcesSSLByDefault() 98 98 { 99 $this->assertFalse($this->abstractProcessor->force sSSL());99 $this->assertFalse($this->abstractProcessor->forceSSL()); 100 100 } 101 101 trunk/src/test/php/net/stubbles/websites/stubFrontControllerTestCase.php
r1435 r1441 126 126 ->will($this->returnValue($this->mockProcessor)); 127 127 $this->mockInterceptorInitializer = $this->getMock('stubInterceptorInitializer'); 128 $mockWebsiteInitializer->expects($this-> once())->method('getInterceptorInitializer')->will($this->returnValue($this->mockInterceptorInitializer));128 $mockWebsiteInitializer->expects($this->any())->method('getInterceptorInitializer')->will($this->returnValue($this->mockInterceptorInitializer)); 129 129 stubRegistry::setConfig(stubRequest::CLASS_REGISTRY_KEY, get_class($this->getMock('stubRequest'))); 130 130 stubRegistry::setConfig(stubSession::CLASS_REGISTRY_KEY, get_class($this->getMock('stubSession'))); … … 151 151 public function processWithPreInterceptorCancellingRequest() 152 152 { 153 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(false)); 153 154 $preInterceptor1 = $this->getMock('stubPreInterceptor'); 154 155 $preInterceptor1->expects($this->once())->method('preProcess'); … … 177 178 public function processWithProcessorCancellingRequest() 178 179 { 180 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(false)); 179 181 $postInterceptor1 = $this->getMock('stubPostInterceptor'); 180 182 $postInterceptor1->expects($this->never())->method('postProcess'); … … 199 201 public function processWithPostInterceptorCancellingRequest() 200 202 { 203 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(false)); 201 204 $postInterceptor1 = $this->getMock('stubPostInterceptor'); 202 205 $postInterceptor1->expects($this->once())->method('postProcess'); … … 224 227 public function processWithoutCancellingRequest() 225 228 { 229 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(false)); 226 230 $preInterceptor1 = $this->getMock('stubPreInterceptor'); 227 231 $preInterceptor1->expects($this->once())->method('preProcess'); … … 245 249 $this->frontController->process(); 246 250 } 251 252 /** 253 * assure that processing ends when request is cancelled 254 * 255 * @test 256 */ 257 public function forcesSSLAndIsSSL() 258 { 259 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(true)); 260 $this->mockProcessor->expects($this->any())->method('isSSL')->will($this->returnValue(true)); 261 $preInterceptor1 = $this->getMock('stubPreInterceptor'); 262 $preInterceptor1->expects($this->once())->method('preProcess'); 263 $preInterceptor2 = $this->getMock('stubPreInterceptor'); 264 $preInterceptor2->expects($this->once())->method('preProcess'); 265 $this->mockInterceptorInitializer->expects($this->once()) 266 ->method('getPreInterceptors') 267 ->will($this->returnValue(array($preInterceptor1, $preInterceptor2))); 268 $postInterceptor1 = $this->getMock('stubPostInterceptor'); 269 $postInterceptor1->expects($this->once())->method('postProcess'); 270 $postInterceptor2 = $this->getMock('stubPostInterceptor'); 271 $postInterceptor2->expects($this->once())->method('postProcess'); 272 $this->mockInterceptorInitializer->expects($this->once()) 273 ->method('getPostInterceptors') 274 ->will($this->returnValue(array($postInterceptor1, $postInterceptor2))); 275 $this->mockRequest->expects($this->any())->method('isCancelled')->will($this->returnValue(false)); 276 $this->mockProcessor->expects($this->any())->method('process'); 277 $this->mockResponse->expects($this->once())->method('send'); 278 $this->mockWebsiteCacheFactory->expects($this->once())->method('configure'); 279 $this->frontController->setWebsiteCacheFactory($this->mockWebsiteCacheFactory); 280 $this->frontController->process(); 281 } 282 283 /** 284 * redirect to ssl if required 285 * 286 * @test 287 */ 288 public function forcesSSLButIsNotSSL() 289 { 290 $this->mockProcessor->expects($this->any())->method('forceSSL')->will($this->returnValue(true)); 291 $this->mockProcessor->expects($this->any())->method('isSSL')->will($this->returnValue(false)); 292 $this->mockInterceptorInitializer->expects($this->never()) 293 ->method('getPreInterceptors'); 294 $this->mockInterceptorInitializer->expects($this->never()) 295 ->method('getPostInterceptors'); 296 $this->mockProcessor->expects($this->never())->method('process'); 297 $this->mockResponse->expects($this->once())->method('addHeader'); 298 $this->mockResponse->expects($this->once())->method('send'); 299 $this->frontController->process(); 300 } 247 301 } 248 302 ?>
