Skip to content

Commit fcf568b

Browse files
committed
Fix parent/child injector tests #583
1 parent d984d0e commit fcf568b

File tree

2 files changed

+43
-37
lines changed

2 files changed

+43
-37
lines changed
Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,39 @@
11
package org.jooby.issues;
22

3-
import com.google.inject.Guice;
4-
import com.google.inject.Injector;
3+
import java.util.concurrent.atomic.AtomicReference;
4+
55
import org.jooby.test.ServerFeature;
6-
import org.junit.*;
6+
import org.junit.Assert;
7+
import org.junit.Test;
78

8-
import java.util.concurrent.atomic.AtomicReference;
9+
import com.google.inject.Guice;
10+
import com.google.inject.Injector;
911

1012
/**
1113
* @author Johannes Schneider (<a href="mailto:[email protected]">[email protected]</a>)
1214
*/
1315
public class PullRequest583Test extends ServerFeature {
14-
private final AtomicReference<Injector> createdInjector = new AtomicReference<>();
15-
1616
{
17+
18+
AtomicReference<Injector> ref = new AtomicReference<>();
19+
1720
injector((stage, module) -> {
1821
Injector injector = Guice.createInjector(module);
19-
createdInjector.set(injector);
22+
ref.set(injector);
2023
return injector;
2124
});
25+
26+
get("/583", () -> {
27+
Injector injector = require(Injector.class);
28+
Assert.assertSame(injector, ref.get());
29+
return "OK";
30+
});
2231
}
2332

2433
@Test
25-
public void appShouldBeMountedOnApplicationPath() throws Exception {
26-
Assert.assertNull(createdInjector.get());
27-
28-
start();
29-
try {
30-
Injector injector = require(Injector.class);
31-
Assert.assertNotNull(injector);
32-
Assert.assertSame(injector, createdInjector.get());
33-
} finally {
34-
stop();
35-
}
34+
public void customInjector() throws Exception {
35+
request()
36+
.get("/583")
37+
.expect("OK");
3638
}
3739
}

coverage-report/src/test/java/org/jooby/issues/PullRequest583WithChildInjectorTest.java

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,45 @@
11
package org.jooby.issues;
22

3-
import com.google.inject.Guice;
4-
import com.google.inject.Injector;
3+
import java.util.concurrent.atomic.AtomicReference;
4+
55
import org.jooby.test.ServerFeature;
6-
import org.junit.*;
6+
import org.junit.Assert;
7+
import org.junit.Test;
78

8-
import java.util.concurrent.atomic.AtomicReference;
9+
import com.google.inject.Guice;
10+
import com.google.inject.Injector;
911

1012
/**
1113
* @author Johannes Schneider (<a href="mailto:[email protected]">[email protected]</a>)
1214
*/
1315
public class PullRequest583WithChildInjectorTest extends ServerFeature {
14-
private final AtomicReference<Injector> createdInjector = new AtomicReference<>();
15-
16-
private final Injector parentInjector = Guice.createInjector(
17-
binder -> binder.bind(MyInjectedClass.class).toInstance(new MyInjectedClass()));
1816

1917
{
18+
AtomicReference<Injector> ref = new AtomicReference<>();
19+
20+
Injector parentInjector = Guice.createInjector(
21+
binder -> binder.bind(MyInjectedClass.class).toInstance(new MyInjectedClass()));
2022

2123
injector((stage, module) -> {
2224
Injector injector = parentInjector.createChildInjector(module);
23-
createdInjector.set(injector);
25+
ref.set(injector);
2426
return injector;
2527
});
28+
29+
get("/583", () -> {
30+
Injector injector = require(Injector.class);
31+
Assert.assertSame(injector, ref.get());
32+
Assert.assertSame(parentInjector.getInstance(MyInjectedClass.class),
33+
injector.getInstance(MyInjectedClass.class));
34+
return "OK";
35+
});
2636
}
2737

2838
@Test
29-
public void appShouldBeMountedOnApplicationPath() throws Exception {
30-
Assert.assertNull(createdInjector.get());
31-
32-
start();
33-
try {
34-
Injector injector = require(Injector.class);
35-
Assert.assertSame(parentInjector.getInstance(MyInjectedClass.class), injector.getInstance(MyInjectedClass.class));
36-
} finally {
37-
stop();
38-
}
39+
public void childInjector() throws Exception {
40+
request()
41+
.get("/583")
42+
.expect("OK");
3943
}
4044

4145
private static class MyInjectedClass {

0 commit comments

Comments
 (0)