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); }
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); }