Skip to content

Commit 369a520

Browse files
committed
added test for injection with annotation "@nAmed"
1 parent af0f61a commit 369a520

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

bootique-jersey/src/test/java/io/bootique/jersey/ResourceInjectionIT.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.junit.jupiter.api.Test;
2929

3030
import javax.inject.Inject;
31+
import javax.inject.Named;
3132
import javax.ws.rs.GET;
3233
import javax.ws.rs.Path;
3334
import javax.ws.rs.Produces;
@@ -52,13 +53,15 @@ public class ResourceInjectionIT {
5253
static final BQRuntime app = Bootique.app("-s")
5354
.autoLoadModules()
5455
.module(b -> b.bind(InjectedService.class).toInstance(service))
56+
.module(b -> b.bind(InjectedService.class, "namedService").toInstance(service))
5557
.module(b -> b.bind(UnInjectedResource.class).toProviderInstance(() -> new UnInjectedResource(service)))
5658
.module(b -> JerseyModule.extend(b)
5759
.addFeature(ctx -> {
5860
ctx.property(TEST_PROPERTY, "x");
5961
return false;
6062
})
6163
.addResource(FieldInjectedResource.class)
64+
.addResource(NamedFieldInjectedResource.class)
6265
.addResource(ConstructorInjectedResource.class)
6366
.addResource(UnInjectedResource.class))
6467
.module(jetty.moduleReplacingConnectors())
@@ -83,6 +86,20 @@ public void testFieldInjected() {
8386
r2.close();
8487
}
8588

89+
@Test
90+
public void testNamedFieldInjected() {
91+
92+
Response r1 = jetty.getTarget().path("nf").request().get();
93+
assertEquals(Status.OK.getStatusCode(), r1.getStatus());
94+
assertEquals("nf_1_x", r1.readEntity(String.class));
95+
r1.close();
96+
97+
Response r2 = jetty.getTarget().path("nf").request().get();
98+
assertEquals(Status.OK.getStatusCode(), r2.getStatus());
99+
assertEquals("nf_2_x", r2.readEntity(String.class));
100+
r2.close();
101+
}
102+
86103
@Test
87104
public void testConstructorInjected() {
88105

@@ -127,6 +144,23 @@ public String get() {
127144
}
128145
}
129146

147+
@Path("/nf")
148+
@Produces(MediaType.TEXT_PLAIN)
149+
public static class NamedFieldInjectedResource {
150+
151+
@Inject
152+
@Named("namedService")
153+
private InjectedService service;
154+
155+
@Context
156+
private Configuration config;
157+
158+
@GET
159+
public String get() {
160+
return "nf_" + service.getNext() + "_" + config.getProperty(TEST_PROPERTY);
161+
}
162+
}
163+
130164
@Path("/c")
131165
@Produces(MediaType.TEXT_PLAIN)
132166
public static class ConstructorInjectedResource {

0 commit comments

Comments
 (0)