diff options
author | gjoranv <gv@verizonmedia.com> | 2020-07-08 23:53:47 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2020-07-10 00:38:36 +0200 |
commit | 1d92ada09722c4277ac51f35c1a1d5e40c2e6734 (patch) | |
tree | f677bee1c366ff7952f01833bbb360fa970403b8 /container-di | |
parent | 6b1fe50d0c148fb5dde8fe3c9a0cdc0228c90a07 (diff) |
Move test for Guice injector out of the 'demo' package.
Diffstat (limited to 'container-di')
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java (renamed from container-di/src/test/java/demo/FallbackToGuiceInjectorTest.java) | 59 | ||||
-rw-r--r-- | container-di/src/test/java/demo/Base.java | 59 |
2 files changed, 53 insertions, 65 deletions
diff --git a/container-di/src/test/java/demo/FallbackToGuiceInjectorTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java index 4b7d9d54725..7c517d67960 100644 --- a/container-di/src/test/java/demo/FallbackToGuiceInjectorTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java @@ -1,5 +1,5 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package demo; +package com.yahoo.container.di.componentgraph.core; import com.google.inject.AbstractModule; import com.google.inject.Guice; @@ -8,10 +8,19 @@ import com.google.inject.Injector; import com.google.inject.name.Named; import com.google.inject.name.Names; import com.yahoo.component.AbstractComponent; +import com.yahoo.component.ComponentId; +import com.yahoo.config.ConfigInstance; +import com.yahoo.container.di.componentgraph.core.ComponentGraph; +import com.yahoo.container.di.componentgraph.core.ComponentNode; +import com.yahoo.container.di.componentgraph.core.Node; +import com.yahoo.vespa.config.ConfigKey; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.Executors; @@ -24,7 +33,22 @@ import static org.junit.Assert.assertNotNull; * @author gjoranv */ @SuppressWarnings("unused") -public class FallbackToGuiceInjectorTest extends Base { +public class FallbackToGuiceInjectorTest { + + private ComponentGraph componentGraph; + private Injector injector; + private Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configs = + new HashMap<>(); + + @Rule + public final ExpectedException exception = ExpectedException.none(); + + @Before + public void createGraph() { + injector = Guice.createInjector(); + componentGraph = new ComponentGraph(0); + } + public static class MyComponent extends AbstractComponent { private final String url; private final Executor executor; @@ -52,9 +76,6 @@ public class FallbackToGuiceInjectorTest extends Base { public ComponentThatCannotBeConstructed(Integer cannot_be_injected_because_Integer_has_no_default_ctor) { } } - @Rule - public final ExpectedException exception = ExpectedException.none(); - @Test public void guice_injector_is_used_when_no_global_component_exists() { setInjector( @@ -90,10 +111,36 @@ public class FallbackToGuiceInjectorTest extends Base { register(ComponentThatCannotBeConstructed.class); exception.expect(RuntimeException.class); - exception.expectMessage("When resolving dependencies of 'demo.FallbackToGuiceInjectorTest$ComponentThatCannotBeConstructed'"); + exception.expectMessage("When resolving dependencies of 'com.yahoo.container.di.componentgraph.core.FallbackToGuiceInjectorTest$ComponentThatCannotBeConstructed'"); complete(); } + public void register(Class<?> componentClass) { + componentGraph.add(mockComponentNode(componentClass)); + } + + public ComponentId toId(Class<?> componentClass) { + return ComponentId.fromString(componentClass.getName()); + } + + @SuppressWarnings("unchecked") + private Node mockComponentNode(Class<?> componentClass) { + return new ComponentNode(toId(componentClass), toId(componentClass).toString(), (Class<Object>)componentClass, null); + } + + public <T> T getInstance(Class<T> componentClass) { + return componentGraph.getInstance(componentClass); + } + + public void complete() { + componentGraph.complete(injector); + componentGraph.setAvailableConfigs(configs); + } + + public void setInjector(Injector injector) { + this.injector = injector; + } + private Injector emptyGuiceInjector() { return Guice.createInjector(new AbstractModule() { @Override diff --git a/container-di/src/test/java/demo/Base.java b/container-di/src/test/java/demo/Base.java deleted file mode 100644 index e98d85a9193..00000000000 --- a/container-di/src/test/java/demo/Base.java +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package demo; - -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.yahoo.component.ComponentId; -import com.yahoo.config.ConfigInstance; -import com.yahoo.container.di.componentgraph.core.ComponentGraph; -import com.yahoo.container.di.componentgraph.core.ComponentNode; -import com.yahoo.container.di.componentgraph.core.Node; -import com.yahoo.vespa.config.ConfigKey; -import org.junit.Before; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author Tony Vaagenes - * @author gjoranv - */ -public class Base { - private ComponentGraph componentGraph; - private Injector injector; - private Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configs = - new HashMap<>(); - - @Before - public void createGraph() { - injector = Guice.createInjector(); - componentGraph = new ComponentGraph(0); - } - - public void register(Class<?> componentClass) { - componentGraph.add(mockComponentNode(componentClass)); - } - - public ComponentId toId(Class<?> componentClass) { - return ComponentId.fromString(componentClass.getName()); - } - - @SuppressWarnings("unchecked") - private Node mockComponentNode(Class<?> componentClass) { - return new ComponentNode(toId(componentClass), toId(componentClass).toString(), (Class<Object>)componentClass, null); - } - - public <T> T getInstance(Class<T> componentClass) { - return componentGraph.getInstance(componentClass); - } - - public void complete() { - componentGraph.complete(injector); - componentGraph.setAvailableConfigs(configs); - } - - public void setInjector(Injector injector) { - this.injector = injector; - } - -} |