public function setUp() { $this->standaloneView = $this->getAccessibleMock(\Neos\FluidAdaptor\View\StandaloneView::class, array('dummy')); $this->mockRequest = $this->getMockBuilder(\Neos\Flow\Mvc\ActionRequest::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext = $this->getMockBuilder(\Neos\Flow\Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockRequest)); $this->inject($this->standaloneView, 'controllerContext', $this->mockControllerContext); }
/** * Sets up this test case * @return void */ public function setUp() { $this->view = $this->getMockBuilder(Mvc\View\JsonView::class)->setMethods(['loadConfigurationFromYamlFile'])->getMock(); $this->controllerContext = $this->getMockBuilder(Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock(); $this->response = $this->createMock(Http\Response::class); $this->controllerContext->expects($this->any())->method('getResponse')->will($this->returnValue($this->response)); $this->view->setControllerContext($this->controllerContext); }
/** * @test * @param string $requestUri * @param string $sectionArgument * @param string $expectedResult * @dataProvider getFormActionUriDataProvider */ public function getFormActionUriTests($requestUri, $sectionArgument, $expectedResult) { $mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($mockActionRequest)); $mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock(); $mockActionRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($mockHttpRequest)); $mockUri = $this->getMockBuilder(Uri::class)->disableOriginalConstructor()->getMock(); $mockUri->expects($this->any())->method('__toString')->will($this->returnValue($requestUri)); $mockHttpRequest->expects($this->any())->method('getUri')->will($this->returnValue($mockUri)); $this->formViewHelper->expects($this->any())->method('hasArgument')->with('section')->will($this->returnValue($sectionArgument !== null)); $this->formViewHelper->_set('arguments', ['section' => $sectionArgument]); $this->assertSame($expectedResult, $this->formViewHelper->_call('getFormActionUri')); }
public function setUp() { $this->mockTsRuntime = $this->getMockBuilder(Runtime::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext = $this->getMockBuilder(ControllerContext::class)->disableOriginalConstructor()->getMock(); $this->mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockActionRequest)); $this->mockTsRuntime->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext)); $this->resourceUriImplementation = new ResourceUriImplementation($this->mockTsRuntime, 'resourceUri/test', 'Neos.Fusion:ResourceUri'); $this->mockResourceManager = $this->getMockBuilder(ResourceManager::class)->disableOriginalConstructor()->getMock(); $this->inject($this->resourceUriImplementation, 'resourceManager', $this->mockResourceManager); $this->mockI18nService = $this->getMockBuilder(Service::class)->disableOriginalConstructor()->getMock(); $this->inject($this->resourceUriImplementation, 'i18nService', $this->mockI18nService); }
/** * Test if the response headers of the plugin - set within the plugin action / dispatch - were set into the parent response. * * @dataProvider responseHeadersDataprovider * @test */ public function evaluateSetHeaderIntoParent($message, $input, $expected) { $this->pluginImplementation->expects($this->any())->method('buildPluginRequest')->will($this->returnValue($this->mockActionRequest)); $parentResponse = new Response(); $this->_setHeadersIntoResponse($parentResponse, $input['parent']); $this->mockControllerContext->expects($this->any())->method('getResponse')->will($this->returnValue($parentResponse)); $this->mockDispatcher->expects($this->any())->method('dispatch')->will($this->returnCallback(function ($request, $response) use($input) { $this->_setHeadersIntoResponse($response, $input['plugin']); })); $this->pluginImplementation->evaluate(); foreach ($expected as $expectedKey => $expectedValue) { $this->assertEquals($expectedValue, (string) $parentResponse->getHeaders()->get($expectedKey), $message); } }
/** * @return void */ public function setUp() { $this->viewHelperVariableContainer = $this->createMock(\TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperVariableContainer::class); $this->viewHelperVariableContainer->expects($this->any())->method('exists')->will($this->returnCallback(array($this, 'viewHelperVariableContainerExistsCallback'))); $this->viewHelperVariableContainer->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'viewHelperVariableContainerGetCallback'))); $this->templateVariableContainer = $this->createMock(TemplateVariableContainer::class); $this->uriBuilder = $this->createMock(\Neos\Flow\Mvc\Routing\UriBuilder::class); $this->uriBuilder->expects($this->any())->method('reset')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setArguments')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setSection')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setFormat')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setCreateAbsoluteUri')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setAddQueryString')->will($this->returnValue($this->uriBuilder)); $this->uriBuilder->expects($this->any())->method('setArgumentsToBeExcludedFromQueryString')->will($this->returnValue($this->uriBuilder)); // BACKPORTER TOKEN #1 $httpRequest = \Neos\Flow\Http\Request::create(new \Neos\Flow\Http\Uri('http://localhost/foo')); $this->request = $this->getMockBuilder(\Neos\Flow\Mvc\ActionRequest::class)->setConstructorArgs(array($httpRequest))->getMock(); $this->request->expects($this->any())->method('isMainRequest')->will($this->returnValue(true)); $this->controllerContext = $this->getMockBuilder(\Neos\Flow\Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock(); $this->controllerContext->expects($this->any())->method('getUriBuilder')->will($this->returnValue($this->uriBuilder)); $this->controllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->request)); $this->tagBuilder = $this->createMock(TagBuilder::class); $this->arguments = array(); $this->renderingContext = new \Neos\FluidAdaptor\Core\Rendering\RenderingContext(new StandaloneView(), []); $this->renderingContext->setVariableProvider($this->templateVariableContainer); $this->renderingContext->setViewHelperVariableContainer($this->viewHelperVariableContainer); $this->renderingContext->setControllerContext($this->controllerContext); }
/** * Transforms the value view variable to a serializable * array represantion using a YAML view configuration and JSON encodes * the result. * * @return string The JSON encoded variables * @api */ public function render() { $this->controllerContext->getResponse()->setHeader('Content-Type', 'application/json'); $propertiesToRender = $this->renderArray(); $options = $this->getOption('jsonEncodingOptions'); return json_encode($propertiesToRender, $options); }
/** * Prepare a TypoScriptView for testing that Mocks a request with the given controller and action names. * * @param string $controllerObjectName * @param string $controllerActionName * @return FusionView */ protected function buildView($controllerObjectName, $controllerActionName) { $request = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock(); $request->expects($this->any())->method('getControllerObjectName')->will($this->returnValue($controllerObjectName)); $request->expects($this->any())->method('getControllerActionName')->will($this->returnValue($controllerActionName)); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $view = new FusionView(); $view->setControllerContext($this->mockControllerContext); $this->inject($view, 'fallbackView', $this->mockFallbackView); $view->setTypoScriptPathPattern(__DIR__ . '/Fixtures/Fusion'); return $view; }
public function setUp() { $this->convertUrisImplementation = $this->getAccessibleMock(ConvertUrisImplementation::class, array('tsValue'), array(), '', false); $this->mockWorkspace = $this->getMockBuilder(Workspace::class)->disableOriginalConstructor()->getMock(); $this->mockContext = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock(); $this->mockContext->expects($this->any())->method('getWorkspace')->will($this->returnValue($this->mockWorkspace)); $this->mockNode = $this->getMockBuilder(NodeInterface::class)->getMock(); $this->mockNode->expects($this->any())->method('getContext')->will($this->returnValue($this->mockContext)); $this->mockHttpUri = $this->getMockBuilder(Uri::class)->disableOriginalConstructor()->getMock(); $this->mockHttpUri->expects($this->any())->method('getHost')->will($this->returnValue('localhost')); $this->mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock(); $this->mockHttpRequest->expects($this->any())->method('getUri')->will($this->returnValue($this->mockHttpUri)); $this->mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock(); $this->mockActionRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest)); $this->mockControllerContext = $this->getMockBuilder(ControllerContext::class)->disableOriginalConstructor()->getMock(); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockActionRequest)); $this->mockLinkingService = $this->createMock(LinkingService::class); $this->convertUrisImplementation->_set('linkingService', $this->mockLinkingService); $this->mockTsRuntime = $this->getMockBuilder(Runtime::class)->disableOriginalConstructor()->getMock(); $this->mockTsRuntime->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext)); $this->convertUrisImplementation->_set('tsRuntime', $this->mockTsRuntime); }
/** * @param ControllerContext $controllerContext * @param string $module * @param array $moduleConfiguration * @param string $modulePath * @return array */ protected function collectModuleData(ControllerContext $controllerContext, $module, $moduleConfiguration, $modulePath) { $moduleUri = $controllerContext->getUriBuilder()->reset()->setCreateAbsoluteUri(true)->uriFor('index', array('module' => $modulePath), 'Backend\\Module', 'Neos.Neos'); return array('module' => $module, 'modulePath' => $modulePath, 'uri' => $moduleUri, 'label' => isset($moduleConfiguration['label']) ? $moduleConfiguration['label'] : '', 'description' => isset($moduleConfiguration['description']) ? $moduleConfiguration['description'] : '', 'icon' => isset($moduleConfiguration['icon']) ? $moduleConfiguration['icon'] : '', 'hideInMenu' => isset($moduleConfiguration['hideInMenu']) ? (bool) $moduleConfiguration['hideInMenu'] : false); }
/** * @param ControllerContext $controllerContext */ public function setControllerContext($controllerContext) { $this->controllerContext = $controllerContext; $request = $controllerContext->getRequest(); if (!$this->templatePaths instanceof TemplatePaths || !$request instanceof ActionRequest) { return; } $this->templatePaths->setPatternReplacementVariables(['packageKey' => $request->getControllerPackageKey(), 'subPackageKey' => $request->getControllerSubpackageKey(), 'controllerName' => $request->getControllerName(), 'action' => $request->getControllerActionName(), 'format' => $request->getFormat() ?: 'html']); }
/** * Get variables from configuration that should be set in the context by default. * For example Eel helpers are made available by this. * * @return array Array with default context variable objects. */ protected function getDefaultContextVariables() { if ($this->defaultContextVariables === null) { $this->defaultContextVariables = array(); if (isset($this->settings['defaultContext']) && is_array($this->settings['defaultContext'])) { $this->defaultContextVariables = EelUtility::getDefaultContextVariables($this->settings['defaultContext']); } $this->defaultContextVariables['request'] = $this->controllerContext->getRequest(); } return $this->defaultContextVariables; }
/** * @param ControllerContext $controllerContext * @param Site $site * @return string * @throws NeosException */ public function createSiteUri(ControllerContext $controllerContext, Site $site) { $primaryDomain = $site->getPrimaryDomain(); if ($primaryDomain === null) { throw new NeosException(sprintf('Cannot link to a site "%s" since it has no active domains.', $site->getName()), 1460443524); } $requestUri = $controllerContext->getRequest()->getHttpRequest()->getUri(); $baseUri = $controllerContext->getRequest()->getHttpRequest()->getBaseUri(); $port = $primaryDomain->getPort() ?: $requestUri->getPort(); return sprintf('%s://%s%s%s', $primaryDomain->getScheme() ?: $requestUri->getScheme(), $primaryDomain->getHostPattern(), $port && !in_array($port, [80, 443], true) ? ':' . $port : '', rtrim($baseUri->getPath(), '/')); }