summaryrefslogtreecommitdiffstats
path: root/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-di/src/test/java/com/yahoo/container/di/ContainerTest.java')
-rw-r--r--container-di/src/test/java/com/yahoo/container/di/ContainerTest.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java b/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java
index 7e01505dc03..3996dff2811 100644
--- a/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java
+++ b/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java
@@ -306,6 +306,15 @@ public class ContainerTest extends ContainerTestBase {
assertTrue(destructableEntity.deconstructed);
}
+ @Test
+ public void providers_are_invoked_only_when_needed() {
+ writeBootstrapConfigs("id1", FailOnGetProvider.class);
+
+ Container container = newContainer(dirConfigSource);
+
+ ComponentGraph oldGraph = container.getNewComponentGraph();
+ }
+
static class DestructableEntity {
private boolean deconstructed = false;
}
@@ -323,6 +332,18 @@ public class ContainerTest extends ContainerTestBase {
}
}
+ public static class FailOnGetProvider implements Provider<Integer> {
+
+ public Integer get() {
+ fail("Should never be called.");
+ return null;
+ }
+
+ public void deconstruct() {
+ }
+
+ }
+
public static class ComponentTakingConfig extends AbstractComponent {
private final TestConfig config;