Bump MRI upstreams
[netconf.git] / restconf / restconf-nb-bierman02 / src / test / java / org / opendaylight / controller / sal / restconf / impl / test / RestPostOperationTest.java
index 0701636fff48ca5c4ebb516bf76879e27f3e4dd1..3aa6a9c8cbff7276aae39c69579f091110a37cc1 100644 (file)
@@ -8,7 +8,9 @@
 package org.opendaylight.controller.sal.restconf.impl.test;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.isNull;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -16,12 +18,12 @@ import static org.mockito.Mockito.when;
 import static org.opendaylight.controller.sal.restconf.impl.test.RestOperationUtils.XML;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.FluentFuture;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URISyntaxException;
 import java.text.ParseException;
+import java.util.Optional;
 import javax.ws.rs.client.Entity;
 import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
@@ -31,9 +33,11 @@ import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
-import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
 import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils;
+import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.dom.api.DOMMountPoint;
+import org.opendaylight.mdsal.dom.api.DOMSchemaService;
+import org.opendaylight.mdsal.dom.spi.FixedDOMSchemaService;
 import org.opendaylight.netconf.sal.rest.api.Draft02;
 import org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader;
 import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeJsonBodyWriter;
@@ -45,8 +49,7 @@ import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
 import org.opendaylight.netconf.sal.restconf.impl.RestconfImpl;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public class RestPostOperationTest extends JerseyTest {
 
@@ -54,9 +57,9 @@ public class RestPostOperationTest extends JerseyTest {
     private static String xmlData3;
     private static String xmlData4;
 
-    private static SchemaContext schemaContextYangsIetf;
-    private static SchemaContext schemaContextTestModule;
-    private static SchemaContext schemaContext;
+    private static EffectiveModelContext schemaContextYangsIetf;
+    private static EffectiveModelContext schemaContextTestModule;
+    private static EffectiveModelContext schemaContext;
 
     private BrokerFacade brokerFacade;
     private RestconfImpl restconfImpl;
@@ -64,7 +67,7 @@ public class RestPostOperationTest extends JerseyTest {
     private DOMMountPoint mountInstance;
 
     @BeforeClass
-    public static void init() throws URISyntaxException, IOException, ReactorException {
+    public static void init() throws URISyntaxException, IOException {
         schemaContextYangsIetf = TestUtils.loadSchemaContext("/full-versions/yangs");
         schemaContextTestModule = TestUtils.loadSchemaContext("/full-versions/test-module");
         schemaContext = TestUtils.loadSchemaContext("/test-config-data/yang1");
@@ -92,7 +95,7 @@ public class RestPostOperationTest extends JerseyTest {
         return resourceConfig;
     }
 
-    private void setSchemaControllerContext(final SchemaContext schema) {
+    private void setSchemaControllerContext(final EffectiveModelContext schema) {
         controllerContext.setSchemas(schema);
     }
 
@@ -102,9 +105,10 @@ public class RestPostOperationTest extends JerseyTest {
     public void postDataViaUrlMountPoint() throws UnsupportedEncodingException {
         setSchemaControllerContext(schemaContextYangsIetf);
         when(brokerFacade.commitConfigurationDataPost(any(DOMMountPoint.class), any(YangInstanceIdentifier.class),
-                any(NormalizedNode.class), null, null)).thenReturn(mock(CheckedFuture.class));
+                any(NormalizedNode.class), null, null)).thenReturn(mock(FluentFuture.class));
 
-        when(mountInstance.getSchemaContext()).thenReturn(schemaContextTestModule);
+        when(mountInstance.getService(DOMSchemaService.class))
+            .thenReturn(Optional.of(FixedDOMSchemaService.of(schemaContextTestModule)));
 
         String uri = "/config/ietf-interfaces:interfaces/interface/0/";
         assertEquals(204, post(uri, Draft02.MediaTypes.DATA + XML, xmlData4));
@@ -119,13 +123,12 @@ public class RestPostOperationTest extends JerseyTest {
     @Ignore //jenkins has problem with JerseyTest
     // - we expecting problems with singletons ControllerContext as schemaContext holder
     public void createConfigurationDataTest() throws UnsupportedEncodingException, ParseException {
-        when(brokerFacade.commitConfigurationDataPost((SchemaContext) null, any(YangInstanceIdentifier.class),
+        when(brokerFacade.commitConfigurationDataPost((EffectiveModelContext) null, any(YangInstanceIdentifier.class),
                 any(NormalizedNode.class), null, null))
-                .thenReturn(mock(CheckedFuture.class));
+                .thenReturn(mock(FluentFuture.class));
 
         final ArgumentCaptor<YangInstanceIdentifier> instanceIdCaptor =
                 ArgumentCaptor.forClass(YangInstanceIdentifier.class);
-        @SuppressWarnings("rawtypes")
         final ArgumentCaptor<NormalizedNode> compNodeCaptor = ArgumentCaptor.forClass(NormalizedNode.class);
 
 
@@ -141,8 +144,8 @@ public class RestPostOperationTest extends JerseyTest {
         // FIXME : NEVER test a nr. of call some service in complex test suite
 //        verify(brokerFacade, times(2))
         verify(brokerFacade, times(1))
-                .commitConfigurationDataPost((SchemaContext) null, instanceIdCaptor.capture(), compNodeCaptor.capture(),
-                        null, null);
+                .commitConfigurationDataPost((EffectiveModelContext) null, instanceIdCaptor.capture(),
+                        compNodeCaptor.capture(), null, null);
 //        identifier = "[(urn:ietf:params:xml:ns:yang:test-interface?revision=2014-07-01)interfaces," +
 //                "(urn:ietf:params:xml:ns:yang:test-interface?revision=2014-07-01)block]";
         assertEquals(identifier, ImmutableList.copyOf(instanceIdCaptor.getValue().getPathArguments()).toString());
@@ -150,9 +153,9 @@ public class RestPostOperationTest extends JerseyTest {
 
     @Test
     public void createConfigurationDataNullTest() throws UnsupportedEncodingException {
-        when(brokerFacade.commitConfigurationDataPost(any(SchemaContext.class), any(YangInstanceIdentifier.class),
-                any(NormalizedNode.class), Mockito.anyString(), Mockito.anyString()))
-                .thenReturn(Futures.immediateCheckedFuture(null));
+        doReturn(CommitInfo.emptyFluentFuture()).when(brokerFacade).commitConfigurationDataPost(
+            any(EffectiveModelContext.class), any(YangInstanceIdentifier.class), any(NormalizedNode.class), isNull(),
+            isNull());
 
         //FIXME : find who is set schemaContext
 //        final String URI_1 = "/config";