protected function buildLogStrategy()
 {
     $this->logger = new LoggerSpy();
     $logStrategy = new LogProxyStrategy();
     $logStrategy->setLogger($this->logger);
     $this->proxyStrategyBagFactory->setLogStrategy($logStrategy);
     $this->proxyStrategyRequestFactory->setLogProxyStrategyRequestBuilder(new LogProxyStrategyRequestBuilderImpl());
 }
 /**
  * @test
  * @expectedException \OpenClassrooms\UseCase\Application\Services\Proxy\Strategies\Exceptions\UnSupportedAnnotationException
  */
 public function UnsupportedAnnotation_CreateOnExceptionRequest_ThrowException()
 {
     $factory = new ProxyStrategyRequestFactoryImpl();
     $factory->createOnExceptionRequest('unsupported annotation', new UseCaseStub(), new UseCaseRequestStub(), new UseCaseException());
 }
 /**
  * @return ProxyStrategyRequestFactoryImpl
  */
 protected function buildProxyStrategyRequestFactory()
 {
     $proxyStrategyRequestFactory = new ProxyStrategyRequestFactoryImpl();
     $proxyStrategyRequestFactory->setCacheProxyStrategyRequestBuilder(new CacheProxyStrategyRequestBuilderImpl());
     $proxyStrategyRequestFactory->setEventProxyStrategyRequestBuilder(new EventProxyStrategyRequestBuilderImpl());
     $proxyStrategyRequestFactory->setLogProxyStrategyRequestBuilder(new LogProxyStrategyRequestBuilderImpl());
     $proxyStrategyRequestFactory->setSecurityProxyStrategyRequestBuilder(new SecurityProxyStrategyRequestBuilderImpl());
     return $proxyStrategyRequestFactory;
 }