Does not define any controllers by default, but does add a validator.
Inheritance: extends Zend\ServiceManager\AbstractPluginManager
 public function testCreateService()
 {
     $controllerManager = new ControllerManager();
     $controllerManager->setServiceLocator(Bootstrap::getServiceManager());
     $result = $this->testedObj->createService($controllerManager);
     $this->assertInstanceOf(UpdateController::class, $result);
 }
 public function testCreateService()
 {
     $aclmock = $this->prophesize('LearnZF2Acl\\Model\\Acl');
     $this->serviceLocator->get('aclmodel')->willReturn($aclmock);
     $result = $this->factory->createService($this->controllerManager->reveal());
     $this->assertInstanceOf('LearnZF2Acl\\Controller\\AclController', $result);
 }
 /**
  * @param \Zend\Mvc\Controller\ControllerManager       $controllerManager
  * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
  * @param array                                        $routeParams
  */
 protected function mockConfiguration($controllerManager, $serviceLocator, $routeParams = array('action' => 'list'))
 {
     $prophet = new Prophet();
     $controllerKey = 'Phpro\\SmartCrud\\Controller\\CrudController';
     $serviceKey = 'Phpro\\SmartCrud\\Service\\AbstractSmartService';
     $viewBuilderKey = 'Phpro\\SmartCrud\\View\\Model\\ViewModelBuilder';
     $controllerManager->getServiceLocator()->willReturn($serviceLocator);
     // Mock config
     $serviceLocator->has('Config')->willReturn(true);
     $serviceLocator->get('Config')->willReturn(array(AbstractCrudControllerFactory::FACTORY_NAMESPACE => array('custom-controller' => array(AbstractCrudControllerFactory::CONFIG_CONTROLLER => $controllerKey, AbstractCrudControllerFactory::CONFIG_IDENTIFIER => 'id', AbstractCrudControllerFactory::CONFIG_SMART_SERVICE => $serviceKey), 'fault-controller' => array(AbstractCrudControllerFactory::CONFIG_CONTROLLER => 'invalid-controller'), 'fault-service' => array(AbstractCrudControllerFactory::CONFIG_SMART_SERVICE => 'invalid-service'))));
     // Mock controller
     $controller = $prophet->prophesize('\\Phpro\\SmartCrud\\Controller\\CrudController');
     $controllerManager->has($controllerKey)->willReturn(true);
     $controllerManager->get($controllerKey)->willReturn($controller);
     $controllerManager->has('invalid-controller')->willReturn(false);
     // Mock route
     $this->mockRouteMatch($serviceLocator, $routeParams);
     // Mock service
     $serviceKey = $serviceKey . '::' . $routeParams['action'];
     $service = $prophet->prophesize('\\Phpro\\SmartCrud\\Service\\AbstractSmartService');
     $serviceLocator->has($serviceKey)->willReturn(true);
     $serviceLocator->get($serviceKey)->willReturn($service);
     $serviceLocator->has('invalid-service::' . $routeParams['action'])->willReturn(false);
     $viewBuilder = $prophet->prophesize('\\Phpro\\SmartCrud\\View\\Model\\ViewModelBuilder');
     $serviceLocator->has($viewBuilderKey)->willReturn(true);
     $serviceLocator->get($viewBuilderKey)->willReturn($viewBuilder);
     $this->setServiceLocator($serviceLocator);
 }
 /**
  * Redirect with Handling against url.
  *
  * @param string $url
  *
  * @return Response
  */
 public function toUrl($url)
 {
     $allow_not_routed_url = isset($this->config['allow_not_routed_url']) ? $this->config['allow_not_routed_url'] : false;
     $exclude_urls = isset($this->config['options']['exclude_urls']) ? $this->config['options']['exclude_urls'] : [];
     $exclude_hosts = isset($this->config['options']['exclude_hosts']) ? $this->config['options']['exclude_hosts'] : [];
     $uriTargetHost = (new Uri($url))->getHost();
     if (true === $allow_not_routed_url || in_array($url, $exclude_urls) || in_array($uriTargetHost, $exclude_hosts)) {
         return parent::toUrl($url);
     }
     $controller = $this->getController();
     $request = $controller->getRequest();
     $current_uri = $request->getRequestUri();
     $request->setUri($url);
     $uriTarget = (new Uri($url))->__toString();
     if ($current_uri === $uriTarget) {
         $this->getEventManager()->trigger('redirect-same-url');
         return;
     }
     $mvcEvent = $this->getEvent();
     $routeMatch = $mvcEvent->getRouteMatch();
     $currentRouteMatchName = $routeMatch->getMatchedRouteName();
     $router = $mvcEvent->getRouter();
     $uriCurrentHost = (new Uri($router->getRequestUri()))->getHost();
     if (($routeToBeMatched = $router->match($request)) && ($uriTargetHost === null || $uriCurrentHost === $uriTargetHost) && (($routeToBeMatchedRouteName = $routeToBeMatched->getMatchedRouteName()) !== $currentRouteMatchName && ($this->manager->has($routeToBeMatched->getParam('controller')) || $routeToBeMatched->getParam('middleware') !== false) || $routeToBeMatched->getParam('action') != $routeMatch->getParam('action') || $routeToBeMatchedRouteName === $currentRouteMatchName)) {
         return parent::toUrl($url);
     }
     $default_url = isset($this->config['default_url']) ? $this->config['default_url'] : '/';
     return parent::toUrl($default_url);
 }
 /**
  * @return ServiceLocatorInterface
  *
  * @param array $data
  */
 private function createServiceLocator(array $data = [])
 {
     $controllerManager = new ControllerManager();
     $sm = new ServiceManager();
     $sm->setService('Config', $data);
     $controllerManager->setServiceLocator($sm);
     return $controllerManager;
 }
 /**
  * {@inheritdoc}
  */
 public function __invoke(ControllerManager $controllerManager)
 {
     $serviceLocator = $controllerManager->getServiceLocator();
     /* @var \Zend\Authentication\AuthenticationService */
     $doctrineAuthService = $serviceLocator->get('doctrine.authenticationservice.orm_default');
     $controller = new LoginController($serviceLocator->get('FormElementManager')->get('SD\\Application\\Form\\LoginForm'), $doctrineAuthService);
     return $controller;
 }
 public function __invoke(ControllerManager $container, $name, array $options = null)
 {
     /**
      * @var $synchronizeDbAgainstAmazon SynchronizeDbAgainstAmazonInterface
      */
     $synchronizeDbAgainstAmazon = $container->getServiceLocator()->get(SynchronizeDbAgainstAmazonInterface::class);
     return new CliController($synchronizeDbAgainstAmazon);
 }
 protected function setUp()
 {
     $this->factory = new AuthControllerFactory();
     $this->services = $services = new ServiceManager();
     $this->controllers = $controllers = new ControllerManager();
     $controllers->setServiceLocator(new ServiceManager());
     $controllers->getServiceLocator()->setService('ServiceManager', $services);
 }
 public function test_it_returns_a_controller()
 {
     $controller_manager = new ControllerManager();
     $controller_manager->setServiceLocator($this->service_manager);
     $factory = new MigrateControllerFactory();
     $instance = $factory->createService($controller_manager);
     $this->assertInstanceOf(MigrateController::class, $instance, "factory should return an instance of " . MigrateController::class);
 }
 /**
  * {@inheritdoc}
  */
 public function __invoke(ControllerManager $controllerManager)
 {
     $serviceLocator = $controllerManager->getServiceLocator();
     $themesConfig = $serviceLocator->get('getThemesFromDir');
     $reloadService = $serviceLocator->get('reloadService');
     $controller = new IndexController($themesConfig, $reloadService);
     return $controller;
 }
 public function __invoke(ControllerManager $manager) : EmailTemplateResourceController
 {
     $serviceLocator = $manager->getServiceLocator();
     /* @var $repository TemplateRepository */
     $repository = $serviceLocator->get(TemplateRepository::class);
     /* @var $service TemplateService */
     $service = $serviceLocator->get(TemplateService::class);
     return new EmailTemplateResourceController($repository, $service);
 }
 public function testFactory()
 {
     $serviceManager = new ServiceManager();
     $serviceManager->setService('HtImgModule\\Service\\ImageService', $this->getMock('HtImgModule\\Service\\ImageServiceInterface'));
     $factory = new ImageControllerFactory();
     $controllers = new ControllerManager();
     $controllers->setServiceLocator($serviceManager);
     $this->assertInstanceOf('HtImgModule\\Controller\\ImageController', $factory->createService($controllers));
 }
 public function testCreateService()
 {
     $mockFormElementManager = $this->prophesize('Zend\\Form\\FormElementManager');
     $this->serviceLocator->get('FormElementManager')->willReturn($mockFormElementManager);
     $mockLogForm = $this->prophesize('LearnZF2Log\\Form\\LogForm');
     $mockFormElementManager->get('LearnZF2Log\\Form\\LogForm')->willReturn($mockLogForm);
     $result = $this->factory->createService($this->controllerManager->reveal());
     $this->assertInstanceOf('LearnZF2Log\\Controller\\IndexController', $result);
 }
 public function testCreateService()
 {
     $sm = new ServiceManager();
     $sm->setService('Console', new Posix());
     $sm->setService('Config', []);
     $cm = new ControllerManager();
     $cm->setServiceLocator($sm);
     $controller = $this->factory->createService($cm);
     $this->assertInstanceOf('Application\\Controller\\ConsoleController', $controller);
 }
 public function test_it_returns_a_skeleton_generator()
 {
     $controller_manager = new ControllerManager();
     $controller_manager->setServiceLocator($this->service_manager);
     $factory = new MigrationSkeletonGeneratorAbstractFactory();
     $instance = $factory->createServiceWithName($controller_manager, 'migrations.skeletongenerator.foo', 'asdf');
     $this->assertInstanceOf(MigrationSkeletonGenerator::class, $instance, "factory should return an instance of " . MigrationSkeletonGenerator::class . " when asked by \$name");
     $instance2 = $factory->createServiceWithName($this->service_manager, 'asdf', 'migrations.skeletongenerator.foo');
     $this->assertInstanceOf(MigrationSkeletonGenerator::class, $instance2, "factory should return an instance of " . MigrationSkeletonGenerator::class . " when asked by \$requestedName");
 }
 /**
  * Set up application config
  */
 public function setUp()
 {
     parent::setUp();
     $this->setTraceError(true);
     $this->setApplicationConfig(\Library\Application::getService('ApplicationConfig'));
     $this->_controllerManager = $this->getMock('Zend\\Mvc\\Controller\\ControllerManager');
     $this->_controllerManager->expects($this->any())->method('has')->will($this->returnValue(true));
     $this->_controllerManager->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'createController')));
     $this->getApplicationServiceLocator()->setAllowOverride(true)->setService('ControllerManager', $this->_controllerManager);
 }
 /**
  * createService
  *
  * Create the authentication service.
  *
  * @param ControllerManager  $controllerManager  The controller manager.
  * @param string             $name               The name of the service.
  * @param string             $requestedName      The requested name of the service.
  *
  * @return LoginController
  */
 public function __invoke(ControllerManager $controllerManager, $name, $requestedName)
 {
     /** @var ServiceManager $serviceManager */
     $serviceManager = $controllerManager->getServiceLocator();
     /** @todo We should create an object that holds the options */
     $options = $this->getOptions($serviceManager, $requestedName);
     $className = $options['class_name'];
     $controller = new $className($this->getAuthenticationService($serviceManager, $options['auth_service']), $this->getRouteProvider($serviceManager, $options['route_provider']), $this->getFormProvider($serviceManager, $options['form_element_provider']), $this->getViewTemplateProvider($serviceManager, $options['view_template_provider']), isset($options['options']) && is_array($options['options']) ? $options['options'] : []);
     return $controller;
 }
 protected function setUp()
 {
     $this->factory = new ToggleContextFactory();
     $this->services = $services = new ServiceManager();
     $this->services->setService('Config', ['zf2_featureflags' => ['qandidate_toggle' => ['persistence' => 'ToggleFeature\\InMemory', 'context_factory' => 'ToggleFeature\\UserContextFactory', 'redis_namespace' => null, 'redis_client' => null], 'features' => ['some-feature' => ['name' => 'toggling', 'conditions' => [['name' => 'operator-condition', 'key' => 'user_id', 'operator' => ['name' => 'greater-than', 'value' => 41]]], 'status' => 'conditionally-active']]]]);
     $this->controllers = $controllers = new ControllerManager($this->services);
     $controllers->setServiceLocator(new ServiceManager());
     $controllers->getServiceLocator()->setService('ServiceManager', $services);
     $this->setApplicationConfig(['modules' => ['MehrAlsNix\\FeatureToggle'], 'module_listener_options' => ['module_paths' => [__DIR__ . '/../../../'], 'config_glob_paths' => []], 'service_listener_options' => [], 'service_manager' => []]);
     parent::setUp();
 }
 protected function setUp()
 {
     $this->factory = new AuthControllerFactory();
     $this->services = $services = new ServiceManager();
     $this->services->setService('Config', ['zf-oauth2' => ['api_problem_error_response' => true]]);
     $this->controllers = $controllers = new ControllerManager();
     $controllers->setServiceLocator(new ServiceManager());
     $controllers->getServiceLocator()->setService('ServiceManager', $services);
     $this->setApplicationConfig(['modules' => ['ZF\\OAuth2'], 'module_listener_options' => ['module_paths' => [__DIR__ . '/../../'], 'config_glob_paths' => []], 'service_listener_options' => [], 'service_manager' => []]);
     parent::setUp();
 }
 /**
  * Create the controller loader service
  *
  * Creates and returns an instance of ControllerManager. The
  * only controllers this manager will allow are those defined in the
  * application configuration's "controllers" array. If a controller is
  * matched, the scoped manager will attempt to load the controller.
  * Finally, it will attempt to inject the controller plugin manager
  * if the controller implements a setPluginManager() method.
  *
  * This plugin manager is _not_ peered against DI, and as such, will
  * not load unknown classes.
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return ControllerManager
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $controllerLoader = new ControllerManager();
     $controllerLoader->setServiceLocator($serviceLocator);
     $controllerLoader->addPeeringServiceManager($serviceLocator);
     $config = $serviceLocator->get('Config');
     if (isset($config['di']) && isset($config['di']['allowed_controllers']) && $serviceLocator->has('Di')) {
         $controllerLoader->addAbstractFactory($serviceLocator->get('DiStrictAbstractServiceFactory'));
     }
     return $controllerLoader;
 }
 public function setUp()
 {
     parent::setUp();
     $this->serviceManager = new ServiceManager();
     $controllerLoader = new ControllerManager();
     $controllerLoader->setServiceLocator($this->serviceManager);
     $this->serviceManager->setService('ControllerLoader', $controllerLoader);
     $this->serviceManager->setFactory('AnnotatedRouter\\AnnotationManager', 'AnnotatedRouter\\Service\\AnnotationManagerFactory');
     $this->serviceManager->setFactory('parser', 'AnnotatedRouter\\Service\\ControllerParserFactory');
     $this->serviceManager->setService('Config', array('controllers' => array('invokables' => array('nobase' => 'AnnotatedRouterTest\\TestController\\NoBaseController', 'namespaced' => 'AnnotatedRouterTest\\TestController\\NamespacedController', 'noindexroute' => 'AnnotatedRouterTest\\TestController\\NoIndexRouteController', 'invalidrootroute' => 'AnnotatedRouterTest\\TestController\\InvalidRootRouteController', 'extends' => 'AnnotatedRouterTest\\TestController\\ExtendsController')), 'annotated_router' => array('compile_on_request' => true, 'cache_file' => 'data/cache/router.cache.php', 'use_cache' => true, 'annotations' => array('AnnotatedRouter\\Annotation\\Base', 'AnnotatedRouter\\Annotation\\Index', 'AnnotatedRouter\\Annotation\\Route')), 'router' => array('routes' => array('default' => array('type' => 'literal', 'options' => array('route' => '/'), 'child_routes' => array('help' => array('type' => 'literal', 'options' => array('route' => '/help'))))))));
 }
 public function __invoke(ControllerManager $controllerManager) : NamedConversationRpcResource
 {
     $container = $controllerManager->getServiceLocator();
     /* @var EntityManager $entityManager */
     $entityManager = $container->get('InteractiveSolutions\\Message\\ObjectManager');
     /* @var  NamedConversationRepository $conversationRepository */
     $conversationRepository = $entityManager->getRepository(NamedConversationEntity::class);
     $userRepository = $entityManager->getRepository(MessageUserInterface::class);
     /* @var ConversationService $conversationService */
     $conversationService = $container->get(ConversationService::class);
     return new NamedConversationRpcResource($conversationRepository, $userRepository, $conversationService);
 }
Exemple #23
0
 public function testCreation()
 {
     $moduleManagerMock = $this->getMockBuilder('Zend\\ModuleManager\\ModuleManager')->disableOriginalConstructor()->getMock();
     $this->serviceManager->setService('ModuleManager', $moduleManagerMock);
     $this->assertTrue($this->controllerManager->has('Modules\\Controller\\Console\\List'));
     $controller = $this->controllerManager->get('Modules\\Controller\\Console\\List');
     $this->assertInstanceOf('Modules\\Controller\\Console\\ListController', $controller);
     $this->assertAttributeInstanceOf('ComposerLockParser\\ComposerInfo', 'composerInfo', $controller);
     $this->assertAttributeEquals($moduleManagerMock, 'moduleManager', $controller);
     $this->assertAttributeInstanceOf('Zend\\View\\Renderer\\PhpRenderer', 'renderer', $controller);
     $this->assertAttributeInstanceOf('Modules\\ViewModel\\Console\\ListViewModel', 'viewModel', $controller);
 }
 /**
  *
  */
 public function testCreateService()
 {
     $sm = clone Bootstrap::getServiceManager();
     $sm->setAllowOverride(true);
     $jobRepositoryMock = $this->getMockBuilder('Jobs\\Repository\\Job')->disableOriginalConstructor()->getMock();
     $repositoriesMock = $this->getMockBuilder('Core\\Repository\\RepositoryService')->disableOriginalConstructor()->getMock();
     $repositoriesMock->expects($this->once())->method('get')->with('Jobs/Job')->willReturn($jobRepositoryMock);
     $sm->setService('repositories', $repositoriesMock);
     $controllerManager = new ControllerManager();
     $controllerManager->setServiceLocator($sm);
     $result = $this->testedObj->createService($controllerManager);
     $this->assertInstanceOf('Jobs\\Controller\\JobboardController', $result);
 }
 public function testCanCreateService()
 {
     $factory = new LogoutControllerFactory();
     $authenticationServiceMock = $this->getMock('Zend\\Authentication\\AuthenticationServiceInterface');
     $moduleOptions = new ModuleOptions(array('login_route' => 'home'));
     $serviceManager = new ServiceManager();
     $serviceManager->setService('UghAuthentication\\Authentication\\AuthenticationService', $authenticationServiceMock);
     $serviceManager->setService('UghAuthentication\\Options\\ModuleOptions', $moduleOptions);
     $controllerServiceManager = new ControllerManager();
     $controllerServiceManager->setServiceLocator($serviceManager);
     $logoutController = $factory->createService($controllerServiceManager);
     $this->assertInstanceOf('UghAuthentication\\Controller\\LogoutController', $logoutController);
 }
 public function testCreateService()
 {
     $sm = clone Bootstrap::getServiceManager();
     $sm->setAllowOverride(true);
     $authenticationServiceMock = $this->getMockBuilder('Auth\\AuthenticationService')->disableOriginalConstructor()->getMock();
     $repositoriesMock = $this->getMockBuilder('Core\\Repository\\RepositoryService')->disableOriginalConstructor()->getMock();
     $sm->setService('AuthenticationService', $authenticationServiceMock);
     $sm->setService('repositories', $repositoriesMock);
     $controllerManager = new ControllerManager();
     $controllerManager->setServiceLocator($sm);
     $result = $this->testedObj->createService($controllerManager);
     $this->assertInstanceOf('Auth\\Controller\\PasswordController', $result);
 }
 public function testCreateService()
 {
     $sm = clone Bootstrap::getServiceManager();
     $sm->setAllowOverride(true);
     $gotoResetPasswordMock = $this->getMockBuilder('Auth\\Service\\GotoResetPassword')->disableOriginalConstructor()->getMock();
     $loggerMock = $this->getMock('Zend\\Log\\LoggerInterface');
     $sm->setService('Auth\\Service\\GotoResetPassword', $gotoResetPasswordMock);
     $sm->setService('Core/Log', $loggerMock);
     $controllerManager = new ControllerManager();
     $controllerManager->setServiceLocator($sm);
     $result = $this->testedObj->createService($controllerManager);
     $this->assertInstanceOf('Auth\\Controller\\GotoResetPasswordController', $result);
 }
 public function __invoke(ControllerManager $controllerManager) : MessageCollectionController
 {
     $container = $controllerManager->getServiceLocator();
     /* @var MessageService $messageService */
     $messageService = $container->get(MessageService::class);
     /* @var NamedConversationRepository $conversationRepository */
     $conversationRepository = $container->get('InteractiveSolutions\\Message\\ObjectManager')->getRepository(NamedConversationEntity::class);
     /* @var MessageRepository $messageRepository */
     $messageRepository = $container->get('InteractiveSolutions\\Message\\ObjectManager')->getRepository(MessageEntity::class);
     /* @var EntityRepository $userRepository */
     $userRepository = $container->get('InteractiveSolutions\\Message\\ObjectManager')->getRepository(MessageUserInterface::class);
     return new MessageCollectionController($messageService, $conversationRepository, $messageRepository, $userRepository);
 }
 public function testCreateService()
 {
     $sm = new ServiceManager();
     $sm->setService('HumusPHPUnitRunner', $this->getMockForAbstractClass('HumusPHPUnitModule\\RunnerInterface'));
     $cm = new ControllerManager();
     $cm->setServiceLocator($sm);
     $factory = new ControllerFactory();
     $controller = $factory->createService($cm);
     $this->assertInstanceOf('HumusPHPUnitModule\\Controller\\IndexController', $controller);
     $prop = new \ReflectionProperty(get_class($controller), 'runner');
     $prop->setAccessible(true);
     $runner = $prop->getValue($controller);
     $this->assertInstanceOf('HumusPHPUnitModule\\RunnerInterface', $runner);
 }
 public function setUp()
 {
     $this->services = $services = new ServiceManager();
     $this->controllers = $controllers = new ControllerManager();
     $this->factory = $factory = new ResourceControllerFactory();
     $controllers->addAbstractFactory($factory);
     $controllers->setServiceLocator($services);
     $services->setService('Zend\\ServiceManager\\ServiceLocatorInterface', $services);
     $services->setService('Config', $this->getConfig());
     $services->setService('ControllerLoader', $controllers);
     $services->setFactory('ControllerPluginManager', 'Zend\\Mvc\\Service\\ControllerPluginManagerFactory');
     $services->setInvokableClass('EventManager', 'Zend\\EventManager\\EventManager');
     $services->setInvokableClass('SharedEventManager', 'Zend\\EventManager\\SharedEventManager');
     $services->setShared('EventManager', false);
 }