diff options
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.java | 21 |
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; |