From ace232c2b74b9fd8431867e38978f18a50745add Mon Sep 17 00:00:00 2001 From: Martin Vysny Date: Thu, 16 Jan 2025 19:14:33 +0200 Subject: [PATCH] #182 README: demo MockVaadin.setMockRequestFactory() in Java --- karibu-testing-v10-spring/README.md | 9 +++++++++ .../com/github/mvysny/kaributesting/v10/MockVaadin.kt | 1 + .../mvysny/kaributesting/v10/MockVaadinJApiTest.java | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/karibu-testing-v10-spring/README.md b/karibu-testing-v10-spring/README.md index e72a5259..61c62c9b 100644 --- a/karibu-testing-v10-spring/README.md +++ b/karibu-testing-v10-spring/README.md @@ -51,3 +51,12 @@ MockVaadin.mockRequestFactory = { } } ``` +Java: +```java +MockVaadin.INSTANCE.setMockRequestFactory(session -> new FakeRequest(session) { + @Override + public @Nullable Principal getUserPrincipal() { + return null; // SecurityContextHolder.getContext().getAuthentication() + } +}); +``` diff --git a/karibu-testing-v10/src/main/kotlin/com/github/mvysny/kaributesting/v10/MockVaadin.kt b/karibu-testing-v10/src/main/kotlin/com/github/mvysny/kaributesting/v10/MockVaadin.kt index 0d76966d..bcc75294 100644 --- a/karibu-testing-v10/src/main/kotlin/com/github/mvysny/kaributesting/v10/MockVaadin.kt +++ b/karibu-testing-v10/src/main/kotlin/com/github/mvysny/kaributesting/v10/MockVaadin.kt @@ -198,6 +198,7 @@ public object MockVaadin { * Creates [MockRequest]; override if you need to return a class that extends [MockRequest] * and modifies its behavior. */ + @JvmStatic public var mockRequestFactory: (FakeHttpSession) -> FakeRequest = { FakeRequest(it) } private fun createSession(ctx: ServletContext, uiFactory: () -> UI) { diff --git a/karibu-testing-v10/src/test/java/com/github/mvysny/kaributesting/v10/MockVaadinJApiTest.java b/karibu-testing-v10/src/test/java/com/github/mvysny/kaributesting/v10/MockVaadinJApiTest.java index 6a346442..72adae37 100644 --- a/karibu-testing-v10/src/test/java/com/github/mvysny/kaributesting/v10/MockVaadinJApiTest.java +++ b/karibu-testing-v10/src/test/java/com/github/mvysny/kaributesting/v10/MockVaadinJApiTest.java @@ -1,9 +1,13 @@ package com.github.mvysny.kaributesting.v10; +import com.github.mvysny.fakeservlet.FakeRequest; import com.vaadin.flow.server.VaadinRequest; import com.vaadin.flow.server.VaadinResponse; import jakarta.servlet.http.Cookie; +import org.jetbrains.annotations.Nullable; + +import java.security.Principal; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -22,5 +26,11 @@ public MockVaadinJApiTest() { UtilsKt.getFake(VaadinRequest.getCurrent()).addCookie(new Cookie("foo", "bar")); return new LocatorJApiTest.MyUI(); }); + MockVaadin.INSTANCE.setMockRequestFactory(session -> new FakeRequest(session) { + @Override + public @Nullable Principal getUserPrincipal() { + return null; // SecurityContextHolder.getContext().getAuthentication() + } + }); } }