Test RestconfWrapperProviders 66/54966/13
authorJakub Toth <jatoth@cisco.com>
Thu, 13 Apr 2017 09:50:44 +0000 (11:50 +0200)
committerIvan Hrasko <ivan.hrasko@pantheon.tech>
Wed, 24 May 2017 06:30:36 +0000 (08:30 +0200)
Change-Id: Id95c607bba19c56c6924938ba5ef107f8937a76b
Signed-off-by: Jakub Toth <jatoth@cisco.com>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
restconf/sal-rest-connector/src/test/java/org/opendaylight/RestconfWrapperProvidersTest.java [new file with mode: 0644]

diff --git a/restconf/sal-rest-connector/src/test/java/org/opendaylight/RestconfWrapperProvidersTest.java b/restconf/sal-rest-connector/src/test/java/org/opendaylight/RestconfWrapperProvidersTest.java
new file mode 100644 (file)
index 0000000..c342195
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2017 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Field;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.opendaylight.controller.config.yang.md.sal.rest.connector.RestConnectorRuntimeRegistration;
+import org.opendaylight.controller.config.yang.md.sal.rest.connector.RestConnectorRuntimeRegistrator;
+import org.opendaylight.controller.sal.core.api.Broker;
+import org.opendaylight.controller.sal.core.api.Provider;
+import org.opendaylight.netconf.sal.restconf.impl.RestconfProviderImpl;
+import org.opendaylight.restconf.RestConnectorProvider;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
+
+public class RestconfWrapperProvidersTest {
+
+    private static final PortNumber PORT = new PortNumber(8181);
+
+    private RestconfWrapperProviders rwp;
+
+    @Before
+    public void setUp() throws Exception {
+        rwp = new RestconfWrapperProviders(PORT);
+        assertNotNull(rwp);
+    }
+
+    @Test
+    public void registerTest() {
+        final Broker broker = mock(Broker.class);
+        rwp.registerProviders(broker);
+
+        Mockito.verify(broker, times(2)).registerProvider(Mockito.any(Provider.class));
+    }
+
+    @Test
+    public void runtimeRegistrationTest() {
+        final RestConnectorRuntimeRegistrator runtimeRegistrator = mock(RestConnectorRuntimeRegistrator.class);
+        final RestConnectorRuntimeRegistration value = mock(RestConnectorRuntimeRegistration.class);
+        when(runtimeRegistrator.register(any())).thenReturn(value);
+        final RestConnectorRuntimeRegistration runtimeRegistration = rwp.runtimeRegistration(runtimeRegistrator);
+
+        assertEquals(value, runtimeRegistration);
+    }
+
+    @Test
+    public void closeTest() throws Exception {
+        final RestconfProviderImpl draft2 = mock(RestconfProviderImpl.class);
+        final RestConnectorProvider draft18 = mock(RestConnectorProvider.class);
+
+        setDeclaredField(rwp, "providerDraft02", draft2);
+        setDeclaredField(rwp, "providerDraft18", draft18);
+
+        rwp.close();
+
+        verify(draft2, times(1)).close();
+        verify(draft18, times(1)).close();
+    }
+
+    private static void setDeclaredField(final Object rwp, final String name, final Object value) throws Exception {
+        final Field declaredField = rwp.getClass().getDeclaredField(name);
+        declaredField.setAccessible(true);
+        declaredField.set(rwp, value);
+    }
+}