From ae6a285e3e2c3f6ac3e7f61afea517a2412eb90c Mon Sep 17 00:00:00 2001 From: gjoranv Date: Mon, 12 Jul 2021 12:15:11 +0200 Subject: Remove JerseyTest --- application/pom.xml | 25 --- .../application/container/jersey/JerseyTest.java | 195 --------------------- .../container/jersey/resources/TestResource.java | 14 -- .../nestedpackage1/NestedTestResource1.java | 14 -- .../nestedpackage2/NestedTestResource2.java | 14 -- 5 files changed, 262 deletions(-) delete mode 100644 application/src/test/java/com/yahoo/application/container/jersey/JerseyTest.java delete mode 100644 application/src/test/java/com/yahoo/application/container/jersey/resources/TestResource.java delete mode 100644 application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage1/NestedTestResource1.java delete mode 100644 application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage2/NestedTestResource2.java diff --git a/application/pom.xml b/application/pom.xml index c0bef61f57d..4d82367c560 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -181,31 +181,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - copy - process-test-resources - - copy - - - - - com.yahoo.vespa.container-test-jars - jersey-resources - ${project.version} - jar - target/test-jars - jersey-resources.jar - - - - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/application/src/test/java/com/yahoo/application/container/jersey/JerseyTest.java b/application/src/test/java/com/yahoo/application/container/jersey/JerseyTest.java deleted file mode 100644 index 18e206c7add..00000000000 --- a/application/src/test/java/com/yahoo/application/container/jersey/JerseyTest.java +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.application.container.jersey; - -import com.yahoo.application.Networking; -import com.yahoo.application.container.JDisc; -import com.yahoo.application.container.ContainerTest; -import com.yahoo.application.container.jersey.resources.TestResource; -import com.yahoo.application.container.jersey.resources.nestedpackage1.NestedTestResource1; -import com.yahoo.application.container.jersey.resources.nestedpackage2.NestedTestResource2; -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; -import com.yahoo.osgi.maven.ProjectBundleClassPaths; -import com.yahoo.osgi.maven.ProjectBundleClassPaths.BundleClasspathMapping; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; -import org.junit.Ignore; -import org.junit.Test; - -import javax.ws.rs.core.UriBuilder; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import static java.util.Collections.emptyList; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -@Ignore // TODO: remove test -public class JerseyTest { - private final Path testJar = Paths.get("target/test-jars/jersey-resources.jar"); - private final String testClassesDirectory = "target/test-classes"; - private final String bundleSymbolicName = "myBundle"; - - private final Set> classPathResources; - private final Set> jarFileResources; - - public JerseyTest() { - classPathResources = new HashSet<>(); - classPathResources.add(TestResource.class); - classPathResources.add(NestedTestResource1.class); - classPathResources.add(NestedTestResource2.class); - - jarFileResources = new HashSet<>(); - jarFileResources.add(com.yahoo.container.test.jars.jersey.resources.TestResource.class); - jarFileResources.add(com.yahoo.container.test.jars.jersey.resources.nestedpackage1.NestedTestResource1.class); - jarFileResources.add(com.yahoo.container.test.jars.jersey.resources.nestedpackage2.NestedTestResource2.class); - } - - @Test - public void jersey_resources_on_classpath_can_be_invoked_from_application() throws Exception { - saveMainBundleClassPathMappings(testClassesDirectory); - - with_jersey_resources(emptyList(), httpGetter -> assertResourcesResponds(classPathResources, httpGetter)); - } - - @Test - public void jersey_resources_in_provided_dependencies_can_be_invoked_from_application() throws Exception { - BundleClasspathMapping providedDependency = - new BundleClasspathMapping(bundleSymbolicName, List.of(testClassesDirectory)); - - save(new ProjectBundleClassPaths(new BundleClasspathMapping("main", emptyList()), List.of(providedDependency))); - with_jersey_resources(emptyList(), httpGetter -> assertResourcesResponds(classPathResources, httpGetter)); - } - - @Test - public void jersey_resource_on_classpath_can_be_filtered_using_packages() throws Exception { - saveMainBundleClassPathMappings(testClassesDirectory); - - with_jersey_resources(Arrays.asList("com.yahoo.application.container.jersey.resources", - "com.yahoo.application.container.jersey.resources.nestedpackage1"), httpGetter -> { - Class nestedResource2 = NestedTestResource2.class; - assertDoesNotRespond(nestedResource2, httpGetter); - assertResourcesResponds(copySetExcept(classPathResources, nestedResource2), httpGetter); - }); - } - - @Test - public void jersey_resource_in_jar_can_be_invoked_from_application() throws Exception { - saveMainBundleJarClassPathMappings(testJar); - - with_jersey_resources(emptyList(), httpGetter -> assertResourcesResponds(jarFileResources, httpGetter)); - } - - @Test - public void jersey_resource_in_jar_can_be_filtered_using_packages() throws Exception { - saveMainBundleJarClassPathMappings(testJar); - - with_jersey_resources(Arrays.asList("com.yahoo.container.test.jars.jersey.resources", - "com.yahoo.container.test.jars.jersey.resources.nestedpackage1"), httpGetter -> { - Class nestedResource2 = com.yahoo.container.test.jars.jersey.resources.nestedpackage2.NestedTestResource2.class; - - assertDoesNotRespond(nestedResource2, httpGetter); - assertResourcesResponds(copySetExcept(jarFileResources, nestedResource2), httpGetter); - }); - } - - private static Set copySetExcept(Set in, T except) { - Set ret = new HashSet<>(in); - ret.remove(except); - return ret; - } - - private interface ThrowingConsumer { - void accept(T arg) throws Exception; - } - - private interface HttpGetter { - HttpResponse get(String path) throws Exception; - } - - @SuppressWarnings("try") // jdisc unreferenced inside try - private void with_jersey_resources(List packagesToScan, ThrowingConsumer f) throws Exception { - StringBuilder packageElements = new StringBuilder(); - for (String p : packagesToScan) { - packageElements.append(""); - packageElements.append(p); - packageElements.append(""); - } - - try (JDisc jdisc = JDisc.fromServicesXml( - "" + // - "" + // - "" + // - "" + // - packageElements + // - "" + // - "" + // - "" + // - "" + // - "" + // - "" + - "" + // - "", // - Networking.enable)) { - final int port = ContainerTest.getListenPort(); - f.accept(path -> { - String p = path.startsWith("/") ? path.substring(1) : path; - CloseableHttpClient client = HttpClientBuilder.create().build(); - return client.execute(new HttpGet("http://localhost:" + port + "/rest-api/" + p)); - }); - } - } - - public void assertResourcesResponds(Collection> resourceClasses, - HttpGetter httpGetter) throws Exception { - for (Class resource : resourceClasses) { - HttpResponse response = httpGetter.get(path(resource)); - assertThat("Failed sending response to " + resource, response.getStatusLine().getStatusCode(), is(200)); - - String content = new String(response.getEntity().getContent().readAllBytes(), StandardCharsets.UTF_8); - assertThat(content, is(TestResourceBase.content(resource))); - } - } - - public void assertDoesNotRespond(Class resourceClass, HttpGetter httpGetter) - throws Exception { - HttpResponse response = httpGetter.get(path(resourceClass)); - assertThat(response.getStatusLine().getStatusCode(), is(404)); - EntityUtils.consume(response.getEntity()); - } - - public void saveMainBundleJarClassPathMappings(Path jarFile) throws Exception { - assertTrue("Couldn't find file " + jarFile + ", please remember to run mvn process-test-resources first.", - Files.isRegularFile(jarFile)); - saveMainBundleClassPathMappings(jarFile.toAbsolutePath().toString()); - } - - public void saveMainBundleClassPathMappings(String classPathElement) throws Exception { - BundleClasspathMapping mainBundleClassPathMappings = - new BundleClasspathMapping(bundleSymbolicName, List.of(classPathElement)); - save(new ProjectBundleClassPaths(mainBundleClassPathMappings, emptyList())); - } - - public void save(ProjectBundleClassPaths projectBundleClassPaths) throws Exception { - Path path = Paths.get(testClassesDirectory).resolve(ProjectBundleClassPaths.CLASSPATH_MAPPINGS_FILENAME); - ProjectBundleClassPaths.save(path, projectBundleClassPaths); - } - - public String path(Class resourceClass) { - return UriBuilder.fromResource(resourceClass).build().toString(); - } -} diff --git a/application/src/test/java/com/yahoo/application/container/jersey/resources/TestResource.java b/application/src/test/java/com/yahoo/application/container/jersey/resources/TestResource.java deleted file mode 100644 index 5b6f1fa9c35..00000000000 --- a/application/src/test/java/com/yahoo/application/container/jersey/resources/TestResource.java +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.application.container.jersey.resources; - -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -@Path("/test-resource") -public class TestResource extends TestResourceBase { -} diff --git a/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage1/NestedTestResource1.java b/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage1/NestedTestResource1.java deleted file mode 100644 index d4901995152..00000000000 --- a/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage1/NestedTestResource1.java +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.application.container.jersey.resources.nestedpackage1; - -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -@Path("/nested-test-resource1") -public class NestedTestResource1 extends TestResourceBase { -} diff --git a/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage2/NestedTestResource2.java b/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage2/NestedTestResource2.java deleted file mode 100644 index 1763023a533..00000000000 --- a/application/src/test/java/com/yahoo/application/container/jersey/resources/nestedpackage2/NestedTestResource2.java +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.application.container.jersey.resources.nestedpackage2; - -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -@Path("/nested-test-resource2") -public class NestedTestResource2 extends TestResourceBase { -} -- cgit v1.2.3 From c4e128face62df816d4f04f0a76e232a5cf775f3 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Mon, 12 Jul 2021 12:17:14 +0200 Subject: Remove container-test-jars - Only tested Jersey + an obscure bundle-plugin error. --- application/pom.xml | 6 --- container-test-jars/OWNERS | 1 - container-test-jars/README.md | 4 -- .../bundle-with-provided-bundle/pom.xml | 49 ---------------------- container-test-jars/jersey-resources/pom.xml | 41 ------------------ .../test/jars/jersey/resources/TestResource.java | 12 ------ .../jars/jersey/resources/TestResourceBase.java | 22 ---------- .../nestedpackage1/NestedTestResource1.java | 13 ------ .../nestedpackage2/NestedTestResource2.java | 13 ------ container-test-jars/pom.xml | 28 ------------- pom.xml | 1 - 11 files changed, 190 deletions(-) delete mode 100644 container-test-jars/OWNERS delete mode 100644 container-test-jars/README.md delete mode 100644 container-test-jars/bundle-with-provided-bundle/pom.xml delete mode 100644 container-test-jars/jersey-resources/pom.xml delete mode 100644 container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResource.java delete mode 100644 container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResourceBase.java delete mode 100644 container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage1/NestedTestResource1.java delete mode 100644 container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage2/NestedTestResource2.java delete mode 100644 container-test-jars/pom.xml diff --git a/application/pom.xml b/application/pom.xml index 4d82367c560..f671c16c5a6 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -83,12 +83,6 @@ junit test - - com.yahoo.vespa.container-test-jars - jersey-resources - ${project.version} - test - -# Container test bundles - -Used by the 'application' module. diff --git a/container-test-jars/bundle-with-provided-bundle/pom.xml b/container-test-jars/bundle-with-provided-bundle/pom.xml deleted file mode 100644 index d9d97ddd2b0..00000000000 --- a/container-test-jars/bundle-with-provided-bundle/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 4.0.0 - - com.yahoo.vespa.container-test-jars - container-test-jars - 7-SNAPSHOT - - - bundle-with-provided-bundle - container-plugin - - This will trigger bugs in our bundle plugins that assumes that artifact.getFile is a jar file. - Normally, artifact.getFile points to a jar file, - but in multi-module projects when running phases not including package, - this will be a directory. - - - - - com.yahoo.vespa.container-test-jars - jersey-resources - ${project.version} - provided - - - - com.yahoo.vespa - vespa_jersey2 - ${project.version} - provided - pom - - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - true - - - - diff --git a/container-test-jars/jersey-resources/pom.xml b/container-test-jars/jersey-resources/pom.xml deleted file mode 100644 index cb35be91cfd..00000000000 --- a/container-test-jars/jersey-resources/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - 4.0.0 - - com.yahoo.vespa.container-test-jars - container-test-jars - 7-SNAPSHOT - - - jersey-resources - container-plugin - - - - com.yahoo.vespa - vespa_jersey2 - ${project.version} - provided - pom - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - com.yahoo.vespa - bundle-plugin - ${project.version} - true - - - - diff --git a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResource.java b/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResource.java deleted file mode 100644 index 59095d05567..00000000000 --- a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResource.java +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.test.jars.jersey.resources; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -@Path("bundle-plugin-test/test-resource") -public class TestResource extends TestResourceBase { -} diff --git a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResourceBase.java b/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResourceBase.java deleted file mode 100644 index c3724723252..00000000000 --- a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/TestResourceBase.java +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.test.jars.jersey.resources; - -import javax.ws.rs.core.MediaType; -import javax.ws.rs.Produces; -import javax.ws.rs.GET; - -/** - * @author Tony Vaagenes - * @author ollivir - */ -public class TestResourceBase { - @GET - @Produces({MediaType.TEXT_PLAIN}) - public String get() { - return content(getClass()); - } - - public static String content(Class clazz) { - return "Response from " + clazz.getName(); - } -} diff --git a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage1/NestedTestResource1.java b/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage1/NestedTestResource1.java deleted file mode 100644 index ab1c1f8f229..00000000000 --- a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage1/NestedTestResource1.java +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.test.jars.jersey.resources.nestedpackage1; - -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - */ -@Path("bundle-plugin-test/nested-test-resource1") -public class NestedTestResource1 extends TestResourceBase { -} diff --git a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage2/NestedTestResource2.java b/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage2/NestedTestResource2.java deleted file mode 100644 index 0dfc9e1938b..00000000000 --- a/container-test-jars/jersey-resources/src/main/java/com/yahoo/container/test/jars/jersey/resources/nestedpackage2/NestedTestResource2.java +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.container.test.jars.jersey.resources.nestedpackage2; - -import com.yahoo.container.test.jars.jersey.resources.TestResourceBase; - -import javax.ws.rs.Path; - -/** - * @author Tony Vaagenes - */ -@Path("bundle-plugin-test/nested-test-resource2") -public class NestedTestResource2 extends TestResourceBase { -} diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml deleted file mode 100644 index 7176af3791c..00000000000 --- a/container-test-jars/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - 4.0.0 - - com.yahoo.vespa - parent - 7-SNAPSHOT - ../parent/pom.xml - - com.yahoo.vespa.container-test-jars - container-test-jars - 7-SNAPSHOT - pom - - jersey-resources - bundle-with-provided-bundle - - - - - true - - - diff --git a/pom.xml b/pom.xml index d4569f2039f..2774b8af00c 100644 --- a/pom.xml +++ b/pom.xml @@ -66,7 +66,6 @@ container-search container-search-gui container-test - container-test-jars controller-api controller-server defaults -- cgit v1.2.3