summaryrefslogtreecommitdiffstats
path: root/vpp-common/minimal-distribution
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-09-17 23:48:48 +0200
committerMarek Gradzki <mgradzki@cisco.com>2016-09-19 08:46:12 +0200
commit406fb164438ed6a456fcb19928a185dc31457a12 (patch)
treebaa1749cc77dc53f3612e16a02680577e8543861 /vpp-common/minimal-distribution
parenta00c72fe1dfe3ee9cd649b7f7b9e8a91e54e6463 (diff)
Unit test for VppCommonModule
Change-Id: I76ffd960b67f4d1e8240f0d73f5eea2e84d143e9 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-common/minimal-distribution')
-rw-r--r--vpp-common/minimal-distribution/pom.xml24
-rw-r--r--vpp-common/minimal-distribution/src/test/io/fd/honeycomb/vpp/distro/VppCommonModuleTest.java53
-rw-r--r--vpp-common/minimal-distribution/src/test/resources/jvpp.json3
3 files changed, 80 insertions, 0 deletions
diff --git a/vpp-common/minimal-distribution/pom.xml b/vpp-common/minimal-distribution/pom.xml
index c6bd0d2ff..17d8a22a7 100644
--- a/vpp-common/minimal-distribution/pom.xml
+++ b/vpp-common/minimal-distribution/pom.xml
@@ -31,6 +31,7 @@
<main.class>io.fd.honeycomb.vpp.distro.Main</main.class>
<honeycomb.min.distro.version>1.16.12-SNAPSHOT</honeycomb.min.distro.version>
<jvpp.version>16.12-SNAPSHOT</jvpp.version>
+ <hamcrest.version>1.3</hamcrest.version>
</properties>
<build>
@@ -88,5 +89,28 @@
<version>${project.version}</version>
</dependency>
+ <!-- Testing Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-testlib</artifactId>
+ <version>${guice.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-all</artifactId>
+ <version>${hamcrest.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/vpp-common/minimal-distribution/src/test/io/fd/honeycomb/vpp/distro/VppCommonModuleTest.java b/vpp-common/minimal-distribution/src/test/io/fd/honeycomb/vpp/distro/VppCommonModuleTest.java
new file mode 100644
index 000000000..f59134812
--- /dev/null
+++ b/vpp-common/minimal-distribution/src/test/io/fd/honeycomb/vpp/distro/VppCommonModuleTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.honeycomb.vpp.distro;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.Matchers.empty;
+import static org.junit.Assert.assertThat;
+import static org.mockito.MockitoAnnotations.initMocks;
+
+import com.google.inject.Guice;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+import com.google.inject.testing.fieldbinder.Bind;
+import com.google.inject.testing.fieldbinder.BoundFieldModule;
+import io.fd.honeycomb.translate.read.ReaderFactory;
+import java.util.HashSet;
+import java.util.Set;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+
+public class VppCommonModuleTest {
+
+ @Named("honeycomb-context")
+ @Bind
+ @Mock
+ private DataBroker honeycombContext;
+
+ @Inject
+ private Set<ReaderFactory> readerFactories = new HashSet<>();
+
+ @Test
+ public void testConfigure() throws Exception {
+ initMocks(this);
+ Guice.createInjector(new VppCommonModule(), BoundFieldModule.of(this)).injectMembers(this);
+ assertThat(readerFactories, is(not(empty())));
+ }
+} \ No newline at end of file
diff --git a/vpp-common/minimal-distribution/src/test/resources/jvpp.json b/vpp-common/minimal-distribution/src/test/resources/jvpp.json
new file mode 100644
index 000000000..1d411872e
--- /dev/null
+++ b/vpp-common/minimal-distribution/src/test/resources/jvpp.json
@@ -0,0 +1,3 @@
+{
+ "jvpp-connection-name": "honeycomb"
+} \ No newline at end of file