This is an automated email from the ASF dual-hosted git repository. jlmonteiro pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee.git
The following commit(s) were added to refs/heads/master by this push: new 32953ed Fix tomee-security tests 32953ed is described below commit 32953ed0b7f9a3654e354b3e5339ed97bddb1a14 Author: Jean-Louis Monteiro <jeano...@gmail.com> AuthorDate: Wed Jul 15 15:27:57 2020 +0200 Fix tomee-security tests --- tomee/pom.xml | 2 +- .../tomee/security/cdi/TomEESecurityExtension.java | 21 +++++++++++++++++++++ .../security/TomEEELInvocationHandlerTest.java | 4 +++- .../security/servlet/BasicAuthServletTest.java | 10 +++++----- .../tomee/security/servlet/SimpleServletTest.java | 2 +- tomee/tomee-webapp/pom.xml | 4 ++-- 6 files changed, 33 insertions(+), 10 deletions(-) diff --git a/tomee/pom.xml b/tomee/pom.xml index 2016ce2..a8aa721 100644 --- a/tomee/pom.xml +++ b/tomee/pom.xml @@ -53,7 +53,7 @@ <module>tomee-juli</module> <module>tomee-overlay-runner</module> <!--<module>tomee-deb</module>--> - <!--<module>tomee-security</module>--> + <module>tomee-security</module> </modules> diff --git a/tomee/tomee-security/src/main/java/org/apache/tomee/security/cdi/TomEESecurityExtension.java b/tomee/tomee-security/src/main/java/org/apache/tomee/security/cdi/TomEESecurityExtension.java index 2abd093..82683c8 100644 --- a/tomee/tomee-security/src/main/java/org/apache/tomee/security/cdi/TomEESecurityExtension.java +++ b/tomee/tomee-security/src/main/java/org/apache/tomee/security/cdi/TomEESecurityExtension.java @@ -21,6 +21,7 @@ import org.apache.tomee.security.TomEEPbkdf2PasswordHash; import org.apache.tomee.security.TomEEPlaintextPasswordHash; import org.apache.tomee.security.TomEESecurityContext; import org.apache.tomee.security.identitystore.TomEEDatabaseIdentityStore; +import org.apache.tomee.security.identitystore.TomEEDefaultIdentityStore; import org.apache.tomee.security.identitystore.TomEEIdentityStoreHandler; import org.apache.tomee.security.identitystore.TomEELDAPIdentityStore; @@ -124,6 +125,26 @@ public class TomEESecurityExtension implements Extension { @Observes final AfterBeanDiscovery afterBeanDiscovery, final BeanManager beanManager) { + if (databaseIdentityStore.isEmpty() && ldapIdentityStore.isEmpty()) { // add out identity store + afterBeanDiscovery + .addBean() + .id(TomEEDefaultIdentityStore.class.getName()) + .beanClass(TomEEDefaultIdentityStore.class) + .types(Object.class, IdentityStore.class, TomEEDefaultIdentityStore.class) + .qualifiers(Default.Literal.INSTANCE, Any.Literal.INSTANCE) + .scope(ApplicationScoped.class) + .createWith((CreationalContext<TomEEDefaultIdentityStore> creationalContext) -> { + final AnnotatedType<TomEEDefaultIdentityStore> annotatedType = + beanManager.createAnnotatedType(TomEEDefaultIdentityStore.class); + final BeanAttributes<TomEEDefaultIdentityStore> beanAttributes = + beanManager.createBeanAttributes(annotatedType); + return beanManager.createBean(beanAttributes, TomEEDefaultIdentityStore.class, + beanManager.getInjectionTargetFactory(annotatedType)) + .create(creationalContext); + }); + + } + if (!databaseIdentityStore.isEmpty()) { afterBeanDiscovery .addBean() diff --git a/tomee/tomee-security/src/test/java/org/apache/tomee/security/TomEEELInvocationHandlerTest.java b/tomee/tomee-security/src/test/java/org/apache/tomee/security/TomEEELInvocationHandlerTest.java index 2d581aa..3516527 100644 --- a/tomee/tomee-security/src/test/java/org/apache/tomee/security/TomEEELInvocationHandlerTest.java +++ b/tomee/tomee-security/src/test/java/org/apache/tomee/security/TomEEELInvocationHandlerTest.java @@ -20,6 +20,8 @@ import org.junit.Assert; import org.junit.Test; import javax.el.ELProcessor; +import javax.enterprise.inject.Alternative; +import javax.enterprise.inject.Vetoed; import javax.enterprise.inject.spi.BeanManager; import javax.enterprise.inject.spi.CDI; import javax.security.enterprise.identitystore.DatabaseIdentityStoreDefinition; @@ -51,13 +53,13 @@ public class TomEEELInvocationHandlerTest extends AbstractTomEESecurityTest { return CDI.current().getBeanManager(); } + @Vetoed // so we don't break the other tests with this @DatabaseIdentityStoreDefinition(dataSourceLookup = "jdbc/securityAPIDB", callerQuery = "select password from caller where name = ?", groupsQuery = "select group_name from caller_groups where caller_name = ?", hashAlgorithm = CleartextPasswordHash.class, priority = 30, priorityExpression = "90") public static class Color { - } public static class CleartextPasswordHash implements PasswordHash { diff --git a/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/BasicAuthServletTest.java b/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/BasicAuthServletTest.java index 03f0a38..93c06c3 100644 --- a/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/BasicAuthServletTest.java +++ b/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/BasicAuthServletTest.java @@ -36,7 +36,7 @@ import static org.junit.Assert.assertEquals; public class BasicAuthServletTest extends AbstractTomEESecurityTest { @Test public void authenticate() throws Exception { - final String servlet = "http://localhost:" + container.getConfiguration().getHttpPort() + "/basic"; + final String servlet = getAppUrl() + "/basic"; assertEquals(200, ClientBuilder.newBuilder().register(new BasicAuthFilter("tomcat", "tomcat")).build() .target(servlet) .request() @@ -45,7 +45,7 @@ public class BasicAuthServletTest extends AbstractTomEESecurityTest { @Test public void missingAuthorizationHeader() throws Exception { - final String servlet = "http://localhost:" + container.getConfiguration().getHttpPort() + "/basic"; + final String servlet = getAppUrl() + "/basic"; assertEquals(401, ClientBuilder.newBuilder().build() .target(servlet) .request() @@ -54,7 +54,7 @@ public class BasicAuthServletTest extends AbstractTomEESecurityTest { @Test public void noUser() throws Exception { - final String servlet = "http://localhost:" + container.getConfiguration().getHttpPort() + "/basic"; + final String servlet = getAppUrl() + "/basic"; assertEquals(401, ClientBuilder.newBuilder().register(new BasicAuthFilter("unknown", "tomcat")).build() .target(servlet) .request() @@ -63,7 +63,7 @@ public class BasicAuthServletTest extends AbstractTomEESecurityTest { @Test public void wrongPassword() throws Exception { - final String servlet = "http://localhost:" + container.getConfiguration().getHttpPort() + "/basic"; + final String servlet = getAppUrl() + "/basic"; assertEquals(401, ClientBuilder.newBuilder().register(new BasicAuthFilter("tomcat", "wrong")).build() .target(servlet) .request() @@ -72,7 +72,7 @@ public class BasicAuthServletTest extends AbstractTomEESecurityTest { @Test public void missingRole() throws Exception { - final String servlet = "http://localhost:" + container.getConfiguration().getHttpPort() + "/basic"; + final String servlet = getAppUrl() + "/basic"; assertEquals(403, ClientBuilder.newBuilder().register(new BasicAuthFilter("user", "user")).build() .target(servlet) .request() diff --git a/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/SimpleServletTest.java b/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/SimpleServletTest.java index 60c45d2..7b37d51 100644 --- a/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/SimpleServletTest.java +++ b/tomee/tomee-security/src/test/java/org/apache/tomee/security/servlet/SimpleServletTest.java @@ -36,7 +36,7 @@ public class SimpleServletTest extends AbstractTomEESecurityTest { public void testWebApp() throws Exception { final Client client = ClientBuilder.newBuilder().build(); final Response response = - client.target("http://localhost:" + container.getConfiguration().getHttpPort() + "/servlet") + client.target(getAppUrl() + "/servlet") .request() .get(); assertEquals(200, response.getStatus()); diff --git a/tomee/tomee-webapp/pom.xml b/tomee/tomee-webapp/pom.xml index c1a912c..cd30e74 100644 --- a/tomee/tomee-webapp/pom.xml +++ b/tomee/tomee-webapp/pom.xml @@ -384,7 +384,7 @@ </exclusion> </exclusions> </dependency> - <!--<dependency> + <dependency> <groupId>${project.groupId}</groupId> <artifactId>tomee-security</artifactId> <version>${project.version}</version> @@ -395,6 +395,6 @@ <artifactId>javaee-api</artifactId> </exclusion> </exclusions> - </dependency>--> + </dependency> </dependencies> </project>