Skip to content

Commit f995dde

Browse files
jansupolsenivam
authored andcommitted
Added a test for a serverless resource testing
Signed-off-by: jansupol <[email protected]>
1 parent 9ad9f62 commit f995dde

File tree

4 files changed

+226
-101
lines changed

4 files changed

+226
-101
lines changed

tests/integration/pom.xml

Lines changed: 84 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,55 @@
3434

3535
<modules>
3636
<module>asm</module>
37+
<module>async-jersey-filter</module>
3738
<module>cdi-integration</module>
3839
<module>client-connector-provider</module>
3940
<module>ejb-multimodule</module>
4041
<module>ejb-multimodule-reload</module>
4142
<module>ejb-test-webapp</module>
43+
<module>externalproperties</module>
44+
<module>jaxrs-component-inject</module>
4245
<module>j-376</module>
4346
<module>j-441</module>
4447
<module>j-59</module>
48+
<module>jersey-780</module>
49+
<module>jersey-1107</module>
50+
<module>jersey-1223</module>
51+
<module>jersey-1604</module>
52+
<module>jersey-1667</module>
53+
<!-- <module>jersey-1829</module> Jakartification-->
54+
<module>jersey-1883</module>
55+
<module>jersey-1928</module>
56+
<module>jersey-1960</module>
57+
<module>jersey-1964</module>
58+
<module>jersey-2031</module>
4559
<module>jersey-2136</module>
4660
<module>jersey-2137</module>
4761
<module>jersey-2154</module>
62+
<module>jersey-2160</module>
63+
<module>jersey-2164</module>
64+
<module>jersey-2167</module>
65+
<module>jersey-2176</module>
66+
<module>jersey-2184</module>
67+
<module>jersey-2255</module>
68+
<module>jersey-2322</module>
69+
<module>jersey-2335</module>
4870
<module>jersey-2421</module>
71+
<module>jersey-2551</module>
72+
<module>jersey-2612</module>
73+
<module>jersey-2637</module>
74+
<module>jersey-2654</module>
75+
<module>jersey-2673</module>
76+
<module>jersey-2689</module>
77+
<module>jersey-2704</module>
4978
<module>jersey-2776</module>
79+
<module>jersey-2794</module>
80+
<module>jersey-2846</module>
81+
<module>jersey-2878</module>
82+
<module>jersey-2892</module>
5083
<module>jersey-3662</module>
5184
<module>jersey-3670</module>
85+
<module>jersey-3796</module>
5286
<module>jersey-3992</module>
5387
<module>jersey-4003</module>
5488
<module>jersey-4099</module>
@@ -59,30 +93,62 @@
5993
<module>jersey-4722</module>
6094
<module>jersey-4949</module>
6195
<module>microprofile</module>
62-
<!-- <module>spring4</module>-->
63-
<!-- <module>spring5</module>-->
96+
<module>property-check</module>
6497
<module>reactive-streams</module>
98+
<module>security-digest</module>
99+
<module>servlet-2.5-autodiscovery-1</module>
100+
<module>servlet-2.5-autodiscovery-2</module>
101+
<module>servlet-2.5-filter</module>
102+
<module>servlet-2.5-inflector-1</module>
103+
<module>servlet-2.5-init-1</module>
104+
<module>servlet-2.5-init-2</module>
105+
<module>servlet-2.5-init-3</module>
106+
<module>servlet-2.5-init-4</module>
107+
<module>servlet-2.5-init-5</module>
108+
<module>servlet-2.5-init-6</module>
109+
<module>servlet-2.5-init-7</module>
110+
<module>servlet-2.5-init-8</module>
111+
<module>servlet-2.5-mvc-1</module>
112+
<module>servlet-2.5-mvc-2</module>
113+
<module>servlet-2.5-mvc-3</module>
114+
<module>servlet-2.5-reload</module>
115+
<module>servlet-3-async</module>
116+
<module>servlet-3-chunked-io</module>
117+
<module>servlet-3-filter</module>
118+
<module>servlet-3-gf-async</module>
119+
<module>servlet-3-inflector-1</module>
120+
<module>servlet-3-init-1</module>
121+
<module>servlet-3-init-2</module>
122+
<module>servlet-3-init-3</module>
123+
<module>servlet-3-init-4</module>
124+
<module>servlet-3-init-5</module>
125+
<module>servlet-3-init-6</module>
126+
<module>servlet-3-init-7</module>
127+
<module>servlet-3-init-8</module>
128+
<module>servlet-3-init-9</module>
129+
<module>servlet-3-init-provider</module>
130+
<module>servlet-3-params</module>
131+
<module>servlet-3-sse-1</module>
132+
<module>servlet-4.0-mvc-1</module>
133+
<module>servlet-tests</module>
134+
<module>servlet-request-wrapper-binding</module>
135+
<module>servlet-request-wrapper-binding-2</module>
136+
<!-- <module>spring4</module>-->
137+
<!-- <module>spring5</module>-->
138+
<module>sonar-test</module>
139+
<module>thin-server</module>
140+
<module>tracing-support</module>
65141
</modules>
66142

143+
<properties>
144+
<env>default</env>
145+
<jersey.config.test.container.port>9998</jersey.config.test.container.port>
146+
<jetty.log.file>${project.build.directory}/jetty-out.log</jetty.log.file>
147+
</properties>
148+
67149
<profiles>
68-
<profile>
69-
<id>default</id>
70-
<properties>
71-
<env>default</env>
72-
<jersey.config.test.container.port>9998</jersey.config.test.container.port>
73-
</properties>
74-
<activation>
75-
<jdk>[1.8,)</jdk>
76-
<!-- <activeByDefault>true</activeByDefault> does not work ?!-->
77-
</activation>
78-
</profile>
79150
<profile>
80151
<id>sonar</id>
81-
<properties>
82-
<env>default</env>
83-
<jersey.config.test.container.port>9998</jersey.config.test.container.port>
84-
<jetty.log.file>${project.build.directory}/jetty-out.log</jetty.log.file>
85-
</properties>
86152
<build>
87153
<pluginManagement>
88154
<plugins>
@@ -123,89 +189,6 @@
123189
</pluginManagement>
124190
</build>
125191
</profile>
126-
<profile>
127-
<id>Jetty11</id>
128-
<activation>
129-
<jdk>[11,)</jdk>
130-
</activation>
131-
<modules>
132-
<module>async-jersey-filter</module>
133-
<module>externalproperties</module>
134-
<module>jaxrs-component-inject</module>
135-
<module>jersey-780</module>
136-
<module>jersey-1107</module>
137-
<module>jersey-1223</module>
138-
<module>jersey-1604</module>
139-
<module>jersey-1667</module>
140-
<!-- <module>jersey-1829</module> Jakartification-->
141-
<module>jersey-1883</module>
142-
<module>jersey-1928</module>
143-
<module>jersey-1960</module>
144-
<module>jersey-1964</module>
145-
<module>jersey-2031</module>
146-
<module>jersey-2160</module>
147-
<module>jersey-2164</module>
148-
<module>jersey-2167</module>
149-
<module>jersey-2176</module>
150-
<module>jersey-2184</module>
151-
<module>jersey-2255</module>
152-
<module>jersey-2322</module>
153-
<module>jersey-2335</module>
154-
<module>jersey-2551</module>
155-
<module>jersey-2612</module>
156-
<module>jersey-2637</module>
157-
<module>jersey-2654</module>
158-
<module>jersey-2673</module>
159-
<module>jersey-2689</module>
160-
<module>jersey-2704</module>
161-
<module>jersey-2794</module>
162-
<module>jersey-2846</module>
163-
<module>jersey-2878</module>
164-
<module>jersey-2892</module>
165-
<module>jersey-3796</module>
166-
<module>property-check</module>
167-
<module>security-digest</module>
168-
<module>servlet-2.5-autodiscovery-1</module>
169-
<module>servlet-2.5-autodiscovery-2</module>
170-
<module>servlet-2.5-filter</module>
171-
<module>servlet-2.5-inflector-1</module>
172-
<module>servlet-2.5-init-1</module>
173-
<module>servlet-2.5-init-2</module>
174-
<module>servlet-2.5-init-3</module>
175-
<module>servlet-2.5-init-4</module>
176-
<module>servlet-2.5-init-5</module>
177-
<module>servlet-2.5-init-6</module>
178-
<module>servlet-2.5-init-7</module>
179-
<module>servlet-2.5-init-8</module>
180-
<module>servlet-2.5-mvc-1</module>
181-
<module>servlet-2.5-mvc-2</module>
182-
<module>servlet-2.5-mvc-3</module>
183-
<module>servlet-2.5-reload</module>
184-
<module>servlet-3-async</module>
185-
<module>servlet-3-chunked-io</module>
186-
<module>servlet-3-filter</module>
187-
<module>servlet-3-gf-async</module>
188-
<module>servlet-3-inflector-1</module>
189-
<module>servlet-3-init-1</module>
190-
<module>servlet-3-init-2</module>
191-
<module>servlet-3-init-3</module>
192-
<module>servlet-3-init-4</module>
193-
<module>servlet-3-init-5</module>
194-
<module>servlet-3-init-6</module>
195-
<module>servlet-3-init-7</module>
196-
<module>servlet-3-init-8</module>
197-
<module>servlet-3-init-9</module>
198-
<module>servlet-3-init-provider</module>
199-
<module>servlet-3-params</module>
200-
<module>servlet-3-sse-1</module>
201-
<module>servlet-4.0-mvc-1</module>
202-
<module>servlet-tests</module>
203-
<module>servlet-request-wrapper-binding</module>
204-
<module>servlet-request-wrapper-binding-2</module>
205-
<module>sonar-test</module>
206-
<module>tracing-support</module>
207-
</modules>
208-
</profile>
209192
</profiles>
210193

211194
<build>
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
4+
Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
5+
6+
This program and the accompanying materials are made available under the
7+
terms of the Eclipse Public License v. 2.0, which is available at
8+
http://www.eclipse.org/legal/epl-2.0.
9+
10+
This Source Code may also be made available under the following Secondary
11+
Licenses when the conditions for such availability set forth in the
12+
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
13+
version 2 with the GNU Classpath Exception, which is available at
14+
https://www.gnu.org/software/classpath/license.html.
15+
16+
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17+
18+
-->
19+
20+
<project xmlns="http://maven.apache.org/POM/4.0.0"
21+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23+
<parent>
24+
<artifactId>project</artifactId>
25+
<groupId>org.glassfish.jersey.tests.integration</groupId>
26+
<version>3.1.0-SNAPSHOT</version>
27+
</parent>
28+
<modelVersion>4.0.0</modelVersion>
29+
30+
<artifactId>thin-server</artifactId>
31+
<name>jersey-thin-server</name>
32+
<description>
33+
Run server without HTTP stack in tests.
34+
</description>
35+
36+
<dependencies>
37+
<dependency>
38+
<groupId>org.glassfish.jersey.core</groupId>
39+
<artifactId>jersey-common</artifactId>
40+
</dependency>
41+
<dependency>
42+
<groupId>org.glassfish.jersey.core</groupId>
43+
<artifactId>jersey-server</artifactId>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.glassfish.jersey.core</groupId>
47+
<artifactId>jersey-client</artifactId>
48+
</dependency>
49+
<dependency>
50+
<groupId>org.glassfish.jersey.test-framework</groupId>
51+
<artifactId>jersey-test-framework-util</artifactId>
52+
<scope>test</scope>
53+
</dependency>
54+
<dependency>
55+
<groupId>junit</groupId>
56+
<artifactId>junit</artifactId>
57+
<scope>test</scope>
58+
</dependency>
59+
<dependency>
60+
<groupId>org.hamcrest</groupId>
61+
<artifactId>hamcrest-library</artifactId>
62+
<scope>test</scope>
63+
</dependency>
64+
</dependencies>
65+
66+
</project>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
* Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Eclipse Public License v. 2.0, which is available at
6+
* http://www.eclipse.org/legal/epl-2.0.
7+
*
8+
* This Source Code may also be made available under the following Secondary
9+
* Licenses when the conditions for such availability set forth in the
10+
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11+
* version 2 with the GNU Classpath Exception, which is available at
12+
* https://www.gnu.org/software/classpath/license.html.
13+
*
14+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15+
*/
16+
17+
package org.glassfish.jersey.integration.thinserver;
18+
19+
import jakarta.ws.rs.GET;
20+
import jakarta.ws.rs.Path;
21+
22+
@Path("/")
23+
public class ThinServerResource {
24+
@GET
25+
@Path("someget")
26+
public String get() {
27+
return ThinServerResource.class.getName();
28+
}
29+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Eclipse Public License v. 2.0, which is available at
6+
* http://www.eclipse.org/legal/epl-2.0.
7+
*
8+
* This Source Code may also be made available under the following Secondary
9+
* Licenses when the conditions for such availability set forth in the
10+
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11+
* version 2 with the GNU Classpath Exception, which is available at
12+
* https://www.gnu.org/software/classpath/license.html.
13+
*
14+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15+
*/
16+
17+
package org.glassfish.jersey.integration.thinserver;
18+
19+
import jakarta.ws.rs.HttpMethod;
20+
import jakarta.ws.rs.core.Response;
21+
import org.glassfish.jersey.client.ClientConfig;
22+
import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
23+
import org.glassfish.jersey.message.internal.OutboundMessageContext;
24+
import org.glassfish.jersey.server.ApplicationHandler;
25+
import org.glassfish.jersey.server.ContainerRequest;
26+
import org.glassfish.jersey.server.ContainerResponse;
27+
import org.glassfish.jersey.server.ResourceConfig;
28+
import org.glassfish.jersey.test.util.server.ContainerRequestBuilder;
29+
import org.junit.Assert;
30+
import org.junit.Test;
31+
32+
import java.net.URI;
33+
import java.util.concurrent.ExecutionException;
34+
35+
public class ThinServerTest {
36+
@Test
37+
public void testGet() throws ExecutionException, InterruptedException {
38+
ContainerRequest request =
39+
ContainerRequestBuilder.from(URI.create("/someget"), HttpMethod.GET, new ClientConfig()).build();
40+
41+
ApplicationHandler applicationHandler = new ApplicationHandler(new ResourceConfig(ThinServerResource.class));
42+
ContainerResponse containerResponse = applicationHandler.apply(request).get();
43+
OutboundMessageContext outboundMessageContext = containerResponse.getWrappedMessageContext();
44+
Response response = new OutboundJaxrsResponse(containerResponse.getStatusInfo(), outboundMessageContext);
45+
Assert.assertEquals(ThinServerResource.class.getName(), response.getEntity());
46+
}
47+
}

0 commit comments

Comments
 (0)