Add (DOM)DataTreeIdentifier serialization proxies
[mdsal.git] / dom / mdsal-dom-api / src / test / java / org / opendaylight / mdsal / dom / api / DOMDataTreeIdentifierTest.java
index eb5b20dade1cbe227b741c7a57959e6433b310e3..fecd65b040a71068f76f00059ce10005190ce738 100644 (file)
@@ -12,6 +12,10 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -24,16 +28,16 @@ class DOMDataTreeIdentifierTest {
     private static final String TEST_LISTS = "test-lists";
     private static final String COMPARE_FIRST_LISTS = "A-test-lists";
     private static final String COMPARE_SECOND_LISTS = "B-test-lists";
-    private static final QNameModule TEST_MODULE = QNameModule.create(XMLNamespace.of(
-            "urn:opendaylight:params:xml:ns:yang:controller:md:sal:test:store"));
-    private static final YangInstanceIdentifier REF_YII_IID = YangInstanceIdentifier.of(
-            QName.create(TEST_MODULE, REF_LISTS));
-    private static final YangInstanceIdentifier TEST_YII_IID = YangInstanceIdentifier.of(
-            QName.create(TEST_MODULE, TEST_LISTS));
-    private static final DOMDataTreeIdentifier REF_TREE = new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL,
-            REF_YII_IID);
-    private static final DOMDataTreeIdentifier
-        TEST_DIFF_TREE = new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL,TEST_YII_IID);
+    private static final QNameModule TEST_MODULE =
+        QNameModule.create(XMLNamespace.of("urn:opendaylight:params:xml:ns:yang:controller:md:sal:test:store"));
+    private static final YangInstanceIdentifier REF_YII_IID =
+        YangInstanceIdentifier.of(QName.create(TEST_MODULE, REF_LISTS));
+    private static final YangInstanceIdentifier TEST_YII_IID =
+        YangInstanceIdentifier.of(QName.create(TEST_MODULE, TEST_LISTS));
+    private static final DOMDataTreeIdentifier REF_TREE =
+        new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, REF_YII_IID);
+    private static final DOMDataTreeIdentifier TEST_DIFF_TREE =
+        new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL,TEST_YII_IID);
 
     @Test
     void constructTest() {
@@ -85,4 +89,19 @@ class DOMDataTreeIdentifierTest {
             + "root=/(urn:opendaylight:params:xml:ns:yang:controller:md:sal:test:store)ref-lists}",
             REF_TREE.toString());
     }
+
+    @Test
+    void serializationTest() throws Exception {
+        final var bos = new ByteArrayOutputStream();
+        try (var oos = new ObjectOutputStream(bos)) {
+            oos.writeObject(REF_TREE);
+        }
+
+        final var bytes = bos.toByteArray();
+        assertEquals(561, bytes.length);
+
+        try (var ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
+            assertEquals(REF_TREE, ois.readObject());
+        }
+    }
 }