Search in sources :

Example 1 with VaadinServletContext

use of com.vaadin.flow.server.VaadinServletContext in project flow by vaadin.

the class JavaScriptBootstrapHandlerTest method should_respondPushScript_when_annotatedInAppShell.

@Test
public void should_respondPushScript_when_annotatedInAppShell() throws Exception {
    VaadinServletContext context = new VaadinServletContext(mocks.getServletContext());
    AppShellRegistry registry = AppShellRegistry.getInstance(context);
    registry.setShell(PushAppShell.class);
    mocks.setAppShellRegistry(registry);
    VaadinRequest request = mocks.createRequest(mocks, "/", "v-r=init&foo&location");
    jsInitHandler.handleRequest(session, request, response);
    Assert.assertEquals(200, response.getErrorCode());
    Assert.assertEquals("application/json", response.getContentType());
    JsonObject json = Json.parse(response.getPayload());
    // Using regex, because version depends on the build
    Assert.assertTrue(json.getString("pushScript").matches("^\\./VAADIN/static/push/vaadinPush\\.js\\?v=[\\w\\.\\-]+$"));
}
Also used : VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) JsonObject(elemental.json.JsonObject) VaadinRequest(com.vaadin.flow.server.VaadinRequest) AppShellRegistry(com.vaadin.flow.server.AppShellRegistry) Test(org.junit.Test)

Example 2 with VaadinServletContext

use of com.vaadin.flow.server.VaadinServletContext in project flow by vaadin.

the class AbstractDevModeTest method setup.

@Before
public void setup() throws Exception {
    baseDir = temporaryFolder.getRoot().getPath();
    npmFolder = temporaryFolder.getRoot();
    Boolean enablePnpm = Boolean.TRUE;
    appConfig = Mockito.mock(ApplicationConfiguration.class);
    servletContext = Mockito.mock(ServletContext.class);
    Mockito.when(servletContext.getAttribute(ApplicationConfiguration.class.getName())).thenReturn(appConfig);
    Mockito.when(servletContext.getClassLoader()).thenReturn(servletContext.getClass().getClassLoader());
    vaadinContext = new VaadinServletContext(servletContext);
    mockApplicationConfiguration(appConfig, enablePnpm);
    lookup = Mockito.mock(Lookup.class);
    Mockito.when(servletContext.getAttribute(Lookup.class.getName())).thenReturn(lookup);
    ResourceProvider resourceProvider = Mockito.mock(ResourceProvider.class);
    Mockito.when(lookup.lookup(ResourceProvider.class)).thenReturn(resourceProvider);
    devModeHandlerManager = new DevModeHandlerManagerImpl();
    Mockito.when(lookup.lookup(DevModeHandlerManager.class)).thenReturn(devModeHandlerManager);
    configuration = new MockDeploymentConfiguration();
    Mockito.when(lookup.lookup(DeploymentConfiguration.class)).thenReturn(configuration);
    Mockito.when(lookup.lookup(ApplicationConfiguration.class)).thenReturn(appConfig);
    Mockito.when(lookup.lookup(StaticFileHandlerFactory.class)).thenReturn(service -> new StaticFileServer(service));
    vaadinService = Mockito.mock(VaadinService.class);
    Mockito.when(vaadinService.getContext()).thenReturn(vaadinContext);
    Mockito.when(vaadinService.getDeploymentConfiguration()).thenReturn(configuration);
}
Also used : VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) StaticFileServer(com.vaadin.flow.server.StaticFileServer) ResourceProvider(com.vaadin.flow.di.ResourceProvider) DevModeHandlerManagerImpl(com.vaadin.base.devserver.DevModeHandlerManagerImpl) MockDeploymentConfiguration(com.vaadin.base.devserver.MockDeploymentConfiguration) VaadinService(com.vaadin.flow.server.VaadinService) VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) ServletContext(javax.servlet.ServletContext) Lookup(com.vaadin.flow.di.Lookup) ApplicationConfiguration(com.vaadin.flow.server.startup.ApplicationConfiguration) Before(org.junit.Before)

Example 3 with VaadinServletContext

use of com.vaadin.flow.server.VaadinServletContext in project flow by vaadin.

the class SpringLookupInitializer method getApplicationContext.

/**
 * Gets a {@link WebApplicationContext} instance for the {@code context}.
 *
 * @param context
 *            a Vaadin context
 * @return a {@link WebApplicationContext} instance for the {@code context}
 */
static WebApplicationContext getApplicationContext(VaadinContext context) {
    VaadinServletContext servletContext = (VaadinServletContext) context;
    WebApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext.getContext());
    if (appContext == null) {
        // Spring behavior is always unbelievably surprising: under some
        // circumstances {@code appContext} may be null even though the app
        // context has been set via ApplicationContextAware: no idea WHY
        ApplicationContextWrapper wrapper = context.getAttribute(ApplicationContextWrapper.class);
        appContext = wrapper == null ? null : wrapper.appContext;
    }
    return appContext;
}
Also used : VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) WebApplicationContext(org.springframework.web.context.WebApplicationContext)

Example 4 with VaadinServletContext

use of com.vaadin.flow.server.VaadinServletContext in project flow by vaadin.

the class EndpointInvoker method getAccessChecker.

EndpointAccessChecker getAccessChecker(ServletContext servletContext) {
    VaadinServletContext vaadinServletContext = new VaadinServletContext(servletContext);
    VaadinConnectAccessCheckerWrapper wrapper = vaadinServletContext.getAttribute(VaadinConnectAccessCheckerWrapper.class, () -> {
        EndpointAccessChecker accessChecker = applicationContext.getBean(EndpointAccessChecker.class);
        return new VaadinConnectAccessCheckerWrapper(accessChecker);
    });
    return wrapper.accessChecker;
}
Also used : VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) EndpointAccessChecker(dev.hilla.auth.EndpointAccessChecker)

Example 5 with VaadinServletContext

use of com.vaadin.flow.server.VaadinServletContext in project flow by vaadin.

the class SpringInstantiatorTest method getService.

public static VaadinService getService(ApplicationContext context, Properties configProperties, boolean rootMapping) throws ServletException {
    SpringServlet servlet = new SpringServlet(context, rootMapping) {

        @Override
        protected DeploymentConfiguration createDeploymentConfiguration(Properties initParameters) {
            if (configProperties != null) {
                configProperties.putAll(initParameters);
                return super.createDeploymentConfiguration(configProperties);
            }
            return super.createDeploymentConfiguration(initParameters);
        }
    };
    ServletConfig config = Mockito.mock(ServletConfig.class);
    ServletContext servletContext = Mockito.mock(ServletContext.class);
    Mockito.when(servletContext.getClassLoader()).thenReturn(servlet.getClass().getClassLoader());
    ApplicationConfiguration appConfig = Mockito.mock(ApplicationConfiguration.class);
    Mockito.when(appConfig.getPropertyNames()).thenReturn(Collections.emptyEnumeration());
    Mockito.when(appConfig.getContext()).thenReturn(new VaadinServletContext(servletContext));
    Mockito.when(servletContext.getAttribute(ApplicationConfiguration.class.getName())).thenReturn(appConfig);
    Lookup lookup = Mockito.mock(Lookup.class);
    ResourceProvider provider = Mockito.mock(ResourceProvider.class);
    Mockito.when(lookup.lookup(ResourceProvider.class)).thenReturn(provider);
    StaticFileHandlerFactory staticFileHandlerFactory = vaadinService -> new StaticFileServer((VaadinServletService) vaadinService);
    Mockito.when(lookup.lookup(StaticFileHandlerFactory.class)).thenReturn(staticFileHandlerFactory);
    Mockito.when(servletContext.getAttribute(Lookup.class.getName())).thenReturn(lookup);
    Mockito.when(config.getServletContext()).thenReturn(servletContext);
    Mockito.when(config.getInitParameterNames()).thenReturn(Collections.emptyEnumeration());
    Mockito.when(servletContext.getInitParameterNames()).thenReturn(Collections.emptyEnumeration());
    servlet.init(config);
    return servlet.getService();
}
Also used : VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) BeanInstantiationException(org.springframework.beans.BeanInstantiationException) ServletException(javax.servlet.ServletException) RunWith(org.junit.runner.RunWith) Autowired(org.springframework.beans.factory.annotation.Autowired) Div(com.vaadin.flow.component.html.Div) StaticFileServer(com.vaadin.flow.server.StaticFileServer) DeploymentConfiguration(com.vaadin.flow.function.DeploymentConfiguration) Scope(org.springframework.context.annotation.Scope) Locale(java.util.Locale) Lookup(com.vaadin.flow.di.Lookup) SpringServlet(com.vaadin.flow.spring.SpringServlet) SpringRunner(org.springframework.test.context.junit4.SpringRunner) I18NProvider(com.vaadin.flow.i18n.I18NProvider) ServiceInitEvent(com.vaadin.flow.server.ServiceInitEvent) Instantiator(com.vaadin.flow.di.Instantiator) ServletConfig(javax.servlet.ServletConfig) Properties(java.util.Properties) SpringInstantiator(com.vaadin.flow.spring.SpringInstantiator) Set(java.util.Set) Import(org.springframework.context.annotation.Import) Test(org.junit.Test) ResourceProvider(com.vaadin.flow.di.ResourceProvider) Collectors(java.util.stream.Collectors) ApplicationContext(org.springframework.context.ApplicationContext) ComponentScan(org.springframework.context.annotation.ComponentScan) VaadinServiceInitListener(com.vaadin.flow.server.VaadinServiceInitListener) Configuration(org.springframework.context.annotation.Configuration) Mockito(org.mockito.Mockito) List(java.util.List) Component(org.springframework.stereotype.Component) ApplicationConfiguration(com.vaadin.flow.server.startup.ApplicationConfiguration) StaticFileHandlerFactory(com.vaadin.flow.server.StaticFileHandlerFactory) VaadinService(com.vaadin.flow.server.VaadinService) ServletContext(javax.servlet.ServletContext) Assert(org.junit.Assert) ConfigurableBeanFactory(org.springframework.beans.factory.config.ConfigurableBeanFactory) Collections(java.util.Collections) VaadinServletService(com.vaadin.flow.server.VaadinServletService) StaticFileHandlerFactory(com.vaadin.flow.server.StaticFileHandlerFactory) StaticFileServer(com.vaadin.flow.server.StaticFileServer) ResourceProvider(com.vaadin.flow.di.ResourceProvider) ServletConfig(javax.servlet.ServletConfig) VaadinServletContext(com.vaadin.flow.server.VaadinServletContext) ServletContext(javax.servlet.ServletContext) Lookup(com.vaadin.flow.di.Lookup) Properties(java.util.Properties) ApplicationConfiguration(com.vaadin.flow.server.startup.ApplicationConfiguration) SpringServlet(com.vaadin.flow.spring.SpringServlet)

Aggregations

VaadinServletContext (com.vaadin.flow.server.VaadinServletContext)20 Lookup (com.vaadin.flow.di.Lookup)8 ServletContext (javax.servlet.ServletContext)8 VaadinService (com.vaadin.flow.server.VaadinService)4 ApplicationConfiguration (com.vaadin.flow.server.startup.ApplicationConfiguration)4 HashMap (java.util.HashMap)4 Test (org.junit.Test)4 ResourceProvider (com.vaadin.flow.di.ResourceProvider)3 ServletException (javax.servlet.ServletException)3 Before (org.junit.Before)3 WebApplicationContext (org.springframework.web.context.WebApplicationContext)3 DeploymentConfiguration (com.vaadin.flow.function.DeploymentConfiguration)2 HasErrorParameter (com.vaadin.flow.router.HasErrorParameter)2 NotFoundException (com.vaadin.flow.router.NotFoundException)2 MockServletServiceSessionSetup (com.vaadin.flow.server.MockServletServiceSessionSetup)2 StaticFileServer (com.vaadin.flow.server.StaticFileServer)2 VaadinSession (com.vaadin.flow.server.VaadinSession)2 ApplicationRouteRegistry (com.vaadin.flow.server.startup.ApplicationRouteRegistry)2 Properties (java.util.Properties)2 Set (java.util.Set)2