X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FFrontendShardDataTreeSnapshotMetadataTest.java;h=d1873f0f4b51d50eb441b580f43b74a063f0b91f;hp=e175a09eb41ff50f0b5efeba613d94f1afdd96a0;hb=824dce54df4b23120461e112574d2ff2effafcf6;hpb=5464f50be733df1bbbe31cf05665d542d3b7c5e7 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendShardDataTreeSnapshotMetadataTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendShardDataTreeSnapshotMetadataTest.java index e175a09eb4..d1873f0f4b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendShardDataTreeSnapshotMetadataTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendShardDataTreeSnapshotMetadataTest.java @@ -10,11 +10,9 @@ package org.opendaylight.controller.cluster.datastore.persisted; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import com.google.common.collect.TreeRangeSet; import com.google.common.primitives.UnsignedLong; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -22,8 +20,6 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,32 +28,35 @@ import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier; import org.opendaylight.controller.cluster.access.concepts.FrontendType; import org.opendaylight.controller.cluster.access.concepts.MemberName; +import org.opendaylight.controller.cluster.datastore.utils.ImmutableUnsignedLongSet; +import org.opendaylight.controller.cluster.datastore.utils.MutableUnsignedLongSet; +import org.opendaylight.controller.cluster.datastore.utils.UnsignedLongBitmap; public class FrontendShardDataTreeSnapshotMetadataTest { - @Test(expected = NullPointerException.class) - public final void testCreateMetadataSnapshotNullInput() { - new FrontendShardDataTreeSnapshotMetadata(null); + @Test + public void testCreateMetadataSnapshotNullInput() { + assertThrows(NullPointerException.class, () -> new FrontendShardDataTreeSnapshotMetadata(null)); } @Test - public final void testCreateMetadataSnapshotEmptyInput() throws Exception { + public void testCreateMetadataSnapshotEmptyInput() throws Exception { final FrontendShardDataTreeSnapshotMetadata emptyOrigSnapshot = createEmptyMetadataSnapshot(); - final FrontendShardDataTreeSnapshotMetadata emptyCopySnapshot = copy(emptyOrigSnapshot); + final FrontendShardDataTreeSnapshotMetadata emptyCopySnapshot = copy(emptyOrigSnapshot, 127); testMetadataSnapshotEqual(emptyOrigSnapshot, emptyCopySnapshot); } @Test - public final void testSerializeMetadataSnapshotWithOneClient() throws Exception { + public void testSerializeMetadataSnapshotWithOneClient() throws Exception { final FrontendShardDataTreeSnapshotMetadata origSnapshot = createMetadataSnapshot(1); - final FrontendShardDataTreeSnapshotMetadata copySnapshot = copy(origSnapshot); + final FrontendShardDataTreeSnapshotMetadata copySnapshot = copy(origSnapshot, 162); testMetadataSnapshotEqual(origSnapshot, copySnapshot); } @Test - public final void testSerializeMetadataSnapshotWithMoreClients() throws Exception { + public void testSerializeMetadataSnapshotWithMoreClients() throws Exception { final FrontendShardDataTreeSnapshotMetadata origSnapshot = createMetadataSnapshot(5); - final FrontendShardDataTreeSnapshotMetadata copySnapshot = copy(origSnapshot); + final FrontendShardDataTreeSnapshotMetadata copySnapshot = copy(origSnapshot, 314); testMetadataSnapshotEqual(origSnapshot, copySnapshot); } @@ -67,7 +66,7 @@ public class FrontendShardDataTreeSnapshotMetadataTest { final List origClientList = origSnapshot.getClients(); final List copyClientList = copySnapshot.getClients(); - assertTrue(origClientList.size() == copyClientList.size()); + assertEquals(origClientList.size(), copyClientList.size()); final Map origIdent = new HashMap<>(); final Map copyIdent = new HashMap<>(); @@ -80,17 +79,17 @@ public class FrontendShardDataTreeSnapshotMetadataTest { origIdent.values().forEach(client -> { final FrontendClientMetadata copyClient = copyIdent.get(client.getIdentifier()); testObject(client.getIdentifier(), copyClient.getIdentifier()); - assertTrue(client.getPurgedHistories().equals(copyClient.getPurgedHistories())); - assertTrue(client.getCurrentHistories().equals(copyClient.getCurrentHistories())); + assertEquals(client.getPurgedHistories(), copyClient.getPurgedHistories()); + assertEquals(client.getCurrentHistories(), copyClient.getCurrentHistories()); }); } private static FrontendShardDataTreeSnapshotMetadata createEmptyMetadataSnapshot() { - return new FrontendShardDataTreeSnapshotMetadata(Collections.emptyList()); + return new FrontendShardDataTreeSnapshotMetadata(List.of()); } private static FrontendShardDataTreeSnapshotMetadata createMetadataSnapshot(final int size) { - final List clients = new ArrayList<>(); + final List clients = new ArrayList<>(size); for (long i = 0; i < size; i++) { clients.add(createFrontedClientMetadata(i)); } @@ -103,14 +102,11 @@ public class FrontendShardDataTreeSnapshotMetadataTest { final FrontendIdentifier frontendIdentifier = FrontendIdentifier.create(MemberName.forName(indexName), FrontendType.forName(index)); final ClientIdentifier clientIdentifier = ClientIdentifier.create(frontendIdentifier, num); + final ImmutableUnsignedLongSet purgedHistories = MutableUnsignedLongSet.of(0).immutableCopy(); - final RangeSet purgedHistories = TreeRangeSet.create(); - purgedHistories.add(Range.closed(UnsignedLong.ZERO, UnsignedLong.ONE)); - - final Collection currentHistories = Collections - .singleton(new FrontendHistoryMetadata(num, num, num, true)); - - return new FrontendClientMetadata(clientIdentifier, purgedHistories, currentHistories); + return new FrontendClientMetadata(clientIdentifier, purgedHistories, List.of( + new FrontendHistoryMetadata(num, num, true, + UnsignedLongBitmap.copyOf(Map.of(UnsignedLong.ZERO, Boolean.TRUE)), purgedHistories))); } private static void testObject(final T object, final T equalObject) { @@ -122,13 +118,16 @@ public class FrontendShardDataTreeSnapshotMetadataTest { } @SuppressWarnings("unchecked") - private static T copy(final T obj) throws IOException, ClassNotFoundException { + private static T copy(final T obj, final int expectedSize) throws IOException, ClassNotFoundException { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); try (ObjectOutputStream oos = new ObjectOutputStream(bos)) { oos.writeObject(obj); } - try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray()))) { + final byte[] bytes = bos.toByteArray(); + assertEquals(expectedSize, bytes.length); + + try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) { return (T) ois.readObject(); } }