Fix adapters retaining state
[netconf.git] / restconf / restconf-nb-bierman02 / src / test / java / org / opendaylight / netconf / sal / streams / listeners / NotificationListenerTest.java
index 1edfecb32790d22ac45c8dd1b2cacae1af67c6cb..079f14f71f1b87a49f136b1fee900ff5486bb370 100644 (file)
@@ -8,12 +8,13 @@
 package org.opendaylight.netconf.sal.streams.listeners;
 
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
+import java.io.FileNotFoundException;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -22,10 +23,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.md.sal.dom.api.DOMNotification;
+import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils;
 import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
 import org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.NotificationOutputTypeGrouping.NotificationOutputType;
 import org.opendaylight.yangtools.util.SingletonSet;
@@ -48,13 +51,19 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 public class NotificationListenerTest {
     private static final QNameModule MODULE = QNameModule.create(URI.create("notifi:mod"), Revision.of("2016-11-23"));
 
-    private SchemaContext schmeaCtx;
+    private static SchemaContext schemaContext;
+
+    private ControllerContext controllerContext;
+
+    @BeforeClass
+    public static void staticInit() throws FileNotFoundException {
+        schemaContext = TestUtils.loadSchemaContext("/notifications");
+    }
 
     @Before
     public void init() throws Exception {
         MockitoAnnotations.initMocks(this);
-        ControllerContext.getInstance().setGlobalSchema(TestUtils.loadSchemaContext("/notifications"));
-        this.schmeaCtx = ControllerContext.getInstance().getGlobalSchema();
+        controllerContext = TestRestconfUtils.newControllerContext(schemaContext);
     }
 
     @Test
@@ -222,11 +231,10 @@ public class NotificationListenerTest {
         final List<SchemaPath> paths = new ArrayList<>();
         paths.add(schemaPathNotifi);
         final List<NotificationListenerAdapter> listNotifi =
-                Notificator.createNotificationListener(paths, "stream-name", NotificationOutputType.JSON.toString());
+                Notificator.createNotificationListener(paths, "stream-name", NotificationOutputType.JSON.toString(),
+                        controllerContext);
         final NotificationListenerAdapter notifi = listNotifi.get(0);
-        notifi.setNotification(notificationData);
-        notifi.setSchemaContext(this.schmeaCtx);
-        final String result = notifi.prepareJson();
+        final String result = notifi.prepareJson(schemaContext, notificationData);
         return Preconditions.checkNotNull(result);
     }
 }