Migrate OSGI compendium reference
[controller.git] / opendaylight / md-sal / mdsal-trace / dom-impl / src / test / java / org / opendaylight / controller / md / sal / trace / tests / TracingBrokerTest.java
index d0731da03838d1952a602b239a7f2d418a25dcde..0a0d7b3a64612c13d9cd7ea0d8888f78f4e2ca0d 100644 (file)
@@ -9,12 +9,14 @@ package org.opendaylight.controller.md.sal.trace.tests;
 
 import static com.google.common.truth.Truth.assertThat;
 import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Collections.singletonList;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import org.junit.Test;
+import org.opendaylight.controller.md.sal.binding.test.DataBrokerTestModule;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
 import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain;
@@ -28,15 +30,31 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsaltra
  *
  * @author Michael Vorburger.ch
  */
+@Deprecated
 public class TracingBrokerTest {
 
+    @Test
+    public void testEnd2End() {
+        DataBrokerTestModule wiring = new DataBrokerTestModule(true);
+        wiring.getDataBroker(); // required so DataBrokerTestModule creates the DOMDataBroker
+        DOMDataBroker realDomBroker = wiring.getDOMDataBroker();
+        TracingBroker tracingDomBroker = new TracingBroker("Test", realDomBroker, new ConfigBuilder()
+                // CONTROLLER-1877: configure it like the default/initial mdsaltrace_config.xml in mdsal-trace-api
+                .setTransactionDebugContextEnabled(true)
+                .setWriteWatches(singletonList("/this/will/never/exist"))
+                .setRegistrationWatches(singletonList("/this/will/never/exist"))
+                .build(),
+                wiring.getBindingToNormalizedNodeCodec());
+        tracingDomBroker.newWriteOnlyTransaction().cancel();
+    }
+
     @Test
     @SuppressWarnings({ "resource", "unused" }) // Finding resource leaks is the point of this test
     public void testPrintOpenTransactions() {
         DOMDataBroker domDataBroker = mock(DOMDataBroker.class, RETURNS_DEEP_STUBS);
         Config config = new ConfigBuilder().setTransactionDebugContextEnabled(true).build();
         BindingNormalizedNodeSerializer codec = mock(BindingNormalizedNodeSerializer.class);
-        TracingBroker tracingBroker = new TracingBroker(domDataBroker, config, codec);
+        TracingBroker tracingBroker = new TracingBroker("mock", domDataBroker, config, codec);
 
         for (int i = 0; i < 3; i++) {
             DOMDataReadWriteTransaction tx = tracingBroker.newReadWriteTransaction();
@@ -48,7 +66,7 @@ public class TracingBrokerTest {
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream ps = new PrintStream(baos);
-        boolean printReturnValue = tracingBroker.printOpenTransactions(ps);
+        boolean printReturnValue = tracingBroker.printOpenTransactions(ps, 1);
         String output = new String(baos.toByteArray(), UTF_8);
 
         assertThat(printReturnValue).isTrue();