You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2017/11/14 21:32:31 UTC
[3/6] nifi-registry git commit: NIFIREG-53 Removed
getSnapshotMetadata() from VersionedFlow
NIFIREG-53 Removed getSnapshotMetadata() from VersionedFlow
Project: http://git-wip-us.apache.org/repos/asf/nifi-registry/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-registry/commit/fd1d3847
Tree: http://git-wip-us.apache.org/repos/asf/nifi-registry/tree/fd1d3847
Diff: http://git-wip-us.apache.org/repos/asf/nifi-registry/diff/fd1d3847
Branch: refs/heads/master
Commit: fd1d3847a5eb0ceb78b20856ca0069aee31aacb2
Parents: 7e54031
Author: Bryan Bende <bb...@apache.org>
Authored: Mon Nov 13 16:45:46 2017 -0500
Committer: Bryan Bende <bb...@apache.org>
Committed: Tue Nov 14 14:34:50 2017 -0500
----------------------------------------------------------------------
.../org/apache/nifi/registry/bucket/Bucket.java | 2 -
.../nifi/registry/flow/VersionedFlow.java | 16 ----
.../nifi/registry/service/DataModelMapper.java | 14 +---
.../nifi/registry/service/RegistryService.java | 65 ++++++++++++---
.../registry/service/TestRegistryService.java | 87 +++++++++++++++++++-
.../registry/web/api/BucketFlowResource.java | 20 ++---
.../apache/nifi/registry/web/api/FlowsIT.java | 1 -
7 files changed, 144 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/bucket/Bucket.java
----------------------------------------------------------------------
diff --git a/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/bucket/Bucket.java b/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/bucket/Bucket.java
index 8570da3..8bf1c8b 100644
--- a/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/bucket/Bucket.java
+++ b/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/bucket/Bucket.java
@@ -18,10 +18,8 @@ package org.apache.nifi.registry.bucket;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
-import org.apache.nifi.registry.flow.VersionedFlow;
import org.apache.nifi.registry.link.LinkableEntity;
-import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.xml.bind.annotation.XmlRootElement;
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedFlow.java
----------------------------------------------------------------------
diff --git a/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedFlow.java b/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedFlow.java
index b4bba94..065fb04 100644
--- a/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedFlow.java
+++ b/nifi-registry-data-model/src/main/java/org/apache/nifi/registry/flow/VersionedFlow.java
@@ -21,13 +21,9 @@ import io.swagger.annotations.ApiModelProperty;
import org.apache.nifi.registry.bucket.BucketItem;
import org.apache.nifi.registry.bucket.BucketItemType;
-import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.xml.bind.annotation.XmlRootElement;
-import java.util.Collections;
-import java.util.SortedSet;
-
/**
* <p>
* Represents a versioned flow. A versioned flow is a named flow that is expected to change
@@ -44,9 +40,6 @@ public class VersionedFlow extends BucketItem {
@Min(0)
private long versionCount;
- @Valid
- private SortedSet<VersionedFlowSnapshotMetadata> snapshotMetadata = Collections.emptySortedSet();
-
public VersionedFlow() {
super(BucketItemType.FLOW);
}
@@ -60,13 +53,4 @@ public class VersionedFlow extends BucketItem {
this.versionCount = versionCount;
}
- @ApiModelProperty(value = "The metadata for each snapshot of this flow.", readOnly = true)
- public SortedSet<VersionedFlowSnapshotMetadata> getSnapshotMetadata() {
- return snapshotMetadata;
- }
-
- public void setSnapshotMetadata(SortedSet<VersionedFlowSnapshotMetadata> snapshotMetadata) {
- this.snapshotMetadata = snapshotMetadata;
- }
-
}
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/DataModelMapper.java
----------------------------------------------------------------------
diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/DataModelMapper.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/DataModelMapper.java
index b0d1cc4..36e91bc 100644
--- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/DataModelMapper.java
+++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/DataModelMapper.java
@@ -18,7 +18,6 @@ package org.apache.nifi.registry.service;
import org.apache.nifi.registry.bucket.Bucket;
import org.apache.nifi.registry.db.entity.BucketEntity;
-import org.apache.nifi.registry.db.entity.BucketItemEntity;
import org.apache.nifi.registry.db.entity.BucketItemEntityType;
import org.apache.nifi.registry.db.entity.FlowEntity;
import org.apache.nifi.registry.db.entity.FlowSnapshotEntity;
@@ -29,10 +28,6 @@ import org.apache.nifi.registry.flow.VersionedFlowSnapshotMetadata;
import org.apache.nifi.registry.security.key.Key;
import java.util.Date;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
/**
* Utility for mapping between Provider API and the registry data model.
@@ -74,7 +69,7 @@ public class DataModelMapper {
return flowEntity;
}
- public static VersionedFlow map(final FlowEntity flowEntity, boolean mapChildren) {
+ public static VersionedFlow map(final FlowEntity flowEntity) {
final VersionedFlow versionedFlow = new VersionedFlow();
versionedFlow.setIdentifier(flowEntity.getId());
versionedFlow.setBucketIdentifier(flowEntity.getBucket().getId());
@@ -84,13 +79,6 @@ public class DataModelMapper {
versionedFlow.setCreatedTimestamp(flowEntity.getCreated().getTime());
versionedFlow.setModifiedTimestamp(flowEntity.getModified().getTime());
versionedFlow.setVersionCount(flowEntity.getSnapshotCount());
-
- if (mapChildren && flowEntity.getSnapshots() != null) {
- final SortedSet<VersionedFlowSnapshotMetadata> snapshots = new TreeSet<>();
- flowEntity.getSnapshots().stream().forEach(s -> snapshots.add(map(s)));
- versionedFlow.setSnapshotMetadata(snapshots);
- }
-
return versionedFlow;
}
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/RegistryService.java
----------------------------------------------------------------------
diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/RegistryService.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/RegistryService.java
index ccf2531..bf41ec3 100644
--- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/RegistryService.java
+++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/RegistryService.java
@@ -49,6 +49,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
import java.util.UUID;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -277,7 +279,7 @@ public class RegistryService {
private void addBucketItem(final List<BucketItem> bucketItems, final BucketItemEntity itemEntity) {
if (itemEntity instanceof FlowEntity) {
final FlowEntity flowEntity = (FlowEntity) itemEntity;
- bucketItems.add(DataModelMapper.map(flowEntity, false));
+ bucketItems.add(DataModelMapper.map(flowEntity));
} else {
LOGGER.error("Unknown type of BucketItemEntity: " + itemEntity.getClass().getCanonicalName());
}
@@ -308,9 +310,6 @@ public class RegistryService {
versionedFlow.setCreatedTimestamp(timestamp);
versionedFlow.setModifiedTimestamp(timestamp);
- // clear out the snapshots since they are read-only
- versionedFlow.setSnapshotMetadata(null);
-
validate(versionedFlow, "VersionedFlow is not valid");
writeLock.lock();
@@ -333,13 +332,13 @@ public class RegistryService {
// persist the flow and return the created entity
final FlowEntity createdFlow = metadataService.createFlow(flowEntity);
- return DataModelMapper.map(createdFlow, false);
+ return DataModelMapper.map(createdFlow);
} finally {
writeLock.unlock();
}
}
- public VersionedFlow getFlow(final String bucketIdentifier, final String flowIdentifier, final boolean verbose) {
+ public VersionedFlow getFlow(final String bucketIdentifier, final String flowIdentifier) {
if (StringUtils.isBlank(bucketIdentifier)) {
throw new IllegalArgumentException("Bucket Identifier Identifier cannot be null or blank");
}
@@ -355,7 +354,7 @@ public class RegistryService {
throw new ResourceNotFoundException("VersionedFlow does not exist for identifier: " + flowIdentifier);
}
- return DataModelMapper.map(flowEntity, verbose);
+ return DataModelMapper.map(flowEntity);
} finally {
readLock.unlock();
}
@@ -375,7 +374,7 @@ public class RegistryService {
// return non-verbose set of flows for the given bucket
final List<FlowEntity> flows = metadataService.getFlowsByBucket(existingBucket);
- return flows.stream().map(f -> DataModelMapper.map(f, false)).collect(Collectors.toList());
+ return flows.stream().map(f -> DataModelMapper.map(f)).collect(Collectors.toList());
} finally {
readLock.unlock();
}
@@ -426,7 +425,7 @@ public class RegistryService {
// perform the actual update
final FlowEntity updatedFlow = metadataService.updateFlow(existingFlow);
- return DataModelMapper.map(updatedFlow, false);
+ return DataModelMapper.map(updatedFlow);
} finally {
writeLock.unlock();
}
@@ -454,7 +453,7 @@ public class RegistryService {
// now delete the flow from the metadata provider
metadataService.deleteFlow(existingFlow);
- return DataModelMapper.map(existingFlow, false);
+ return DataModelMapper.map(existingFlow);
} finally {
writeLock.unlock();
}
@@ -490,11 +489,15 @@ public class RegistryService {
throw new ResourceNotFoundException("VersionedFlow does not exist for identifier: " + snapshotMetadata.getFlowIdentifier());
}
- final VersionedFlow versionedFlow = DataModelMapper.map(existingFlow, true);
+ // convert the set of FlowSnapshotEntity to set of VersionedFlowSnapshotMetadata
+ final SortedSet<VersionedFlowSnapshotMetadata> existingSnapshots = new TreeSet<>();
+ if (existingFlow.getSnapshots() != null) {
+ existingFlow.getSnapshots().stream().forEach(s -> existingSnapshots.add(DataModelMapper.map(s)));
+ }
// if we already have snapshots we need to verify the new one has the correct version
- if (versionedFlow.getSnapshotMetadata() != null && versionedFlow.getSnapshotMetadata().size() > 0) {
- final VersionedFlowSnapshotMetadata lastSnapshot = versionedFlow.getSnapshotMetadata().last();
+ if (existingSnapshots != null && existingSnapshots.size() > 0) {
+ final VersionedFlowSnapshotMetadata lastSnapshot = existingSnapshots.last();
if (snapshotMetadata.getVersion() <= lastSnapshot.getVersion()) {
throw new IllegalStateException("A VersionedFlowSnapshot with the same version already exists: " + snapshotMetadata.getVersion());
@@ -574,6 +577,42 @@ public class RegistryService {
}
}
+ public SortedSet<VersionedFlowSnapshotMetadata> getFlowSnapshots(final String bucketIdentifier, final String flowIdentifier) {
+ if (StringUtils.isBlank(bucketIdentifier)) {
+ throw new IllegalArgumentException("Bucket identifier cannot be null or blank");
+ }
+
+ if (StringUtils.isBlank(flowIdentifier)) {
+ throw new IllegalArgumentException("Flow identifier cannot be null or blank");
+ }
+
+ readLock.lock();
+ try {
+ // ensure the bucket exists
+ final BucketEntity existingBucket = metadataService.getBucketById(bucketIdentifier);
+ if (existingBucket == null) {
+ throw new ResourceNotFoundException("Bucket does not exist for identifier: " + bucketIdentifier);
+ }
+
+ // ensure the flow exists
+ final FlowEntity existingFlow = metadataService.getFlowById(bucketIdentifier, flowIdentifier);
+ if (existingFlow == null) {
+ throw new ResourceNotFoundException("VersionedFlow does not exist for identifier: " + flowIdentifier);
+ }
+
+ // convert the set of FlowSnapshotEntity to set of VersionedFlowSnapshotMetadata
+ final SortedSet<VersionedFlowSnapshotMetadata> existingSnapshots = new TreeSet<>();
+ if (existingFlow.getSnapshots() != null) {
+ existingFlow.getSnapshots().stream().forEach(s -> existingSnapshots.add(DataModelMapper.map(s)));
+ }
+
+ return existingSnapshots;
+
+ } finally {
+ readLock.unlock();
+ }
+ }
+
public VersionedFlowSnapshotMetadata deleteFlowSnapshot(final String bucketIdentifier, final String flowIdentifier, final Integer version) {
if (StringUtils.isBlank(bucketIdentifier)) {
throw new IllegalArgumentException("Bucket identifier cannot be null or blank");
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-framework/src/test/java/org/apache/nifi/registry/service/TestRegistryService.java
----------------------------------------------------------------------
diff --git a/nifi-registry-framework/src/test/java/org/apache/nifi/registry/service/TestRegistryService.java b/nifi-registry-framework/src/test/java/org/apache/nifi/registry/service/TestRegistryService.java
index e2e75e6..531a26d 100644
--- a/nifi-registry-framework/src/test/java/org/apache/nifi/registry/service/TestRegistryService.java
+++ b/nifi-registry-framework/src/test/java/org/apache/nifi/registry/service/TestRegistryService.java
@@ -47,6 +47,7 @@ import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.SortedSet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -355,7 +356,7 @@ public class TestRegistryService {
@Test(expected = ResourceNotFoundException.class)
public void testGetFlowDoesNotExist() {
when(metadataService.getFlowById(any(String.class), any(String.class))).thenReturn(null);
- registryService.getFlow("bucket1","flow1", false);
+ registryService.getFlow("bucket1","flow1");
}
@Test
@@ -376,7 +377,7 @@ public class TestRegistryService {
when(metadataService.getFlowByIdWithSnapshotCounts(existingBucket.getId(), flowEntity.getId())).thenReturn(flowEntity);
- final VersionedFlow versionedFlow = registryService.getFlow(existingBucket.getId(), flowEntity.getId(), false);
+ final VersionedFlow versionedFlow = registryService.getFlow(existingBucket.getId(), flowEntity.getId());
assertNotNull(versionedFlow);
assertEquals(flowEntity.getId(), versionedFlow.getIdentifier());
assertEquals(flowEntity.getName(), versionedFlow.getName());
@@ -774,6 +775,88 @@ public class TestRegistryService {
registryService.createFlowSnapshot(snapshot);
}
+ @Test
+ public void testGetFlowSnapshots() {
+ final BucketEntity existingBucket = new BucketEntity();
+ existingBucket.setId("b1");
+ existingBucket.setName("My Bucket");
+ existingBucket.setDescription("This is my bucket");
+ existingBucket.setCreated(new Date());
+
+ when(metadataService.getBucketById(existingBucket.getId())).thenReturn(existingBucket);
+
+ // return a flow with the existing snapshot when getFlowById is called
+ final FlowEntity existingFlow = new FlowEntity();
+ existingFlow.setId("flow1");
+ existingFlow.setName("My Flow");
+ existingFlow.setDescription("This is my flow.");
+ existingFlow.setCreated(new Date());
+ existingFlow.setModified(new Date());
+ existingFlow.setBucket(existingBucket);
+
+ final FlowSnapshotEntityKey existingSnapshotKey1 = new FlowSnapshotEntityKey();
+ existingSnapshotKey1.setVersion(1);
+ existingSnapshotKey1.setFlowId(existingFlow.getId());
+
+ final FlowSnapshotEntity existingSnapshot1 = new FlowSnapshotEntity();
+ existingSnapshot1.setId(existingSnapshotKey1);
+ existingSnapshot1.setCreatedBy("user1");
+ existingSnapshot1.setCreated(new Date());
+ existingSnapshot1.setComments("This is snapshot 1");
+ existingSnapshot1.setFlow(existingFlow);
+
+ final FlowSnapshotEntityKey existingSnapshotKey2 = new FlowSnapshotEntityKey();
+ existingSnapshotKey2.setVersion(2);
+ existingSnapshotKey2.setFlowId(existingFlow.getId());
+
+ final FlowSnapshotEntity existingSnapshot2 = new FlowSnapshotEntity();
+ existingSnapshot2.setId(existingSnapshotKey2);
+ existingSnapshot2.setCreatedBy("user2");
+ existingSnapshot2.setCreated(new Date());
+ existingSnapshot2.setComments("This is snapshot 2");
+ existingSnapshot2.setFlow(existingFlow);
+
+ final Set<FlowSnapshotEntity> snapshots = new HashSet<>();
+ snapshots.add(existingSnapshot1);
+ snapshots.add(existingSnapshot2);
+ existingFlow.setSnapshots(snapshots);
+
+ when(metadataService.getFlowById(existingBucket.getId(), existingFlow.getId())).thenReturn(existingFlow);
+
+ final SortedSet<VersionedFlowSnapshotMetadata> retrievedSnapshots = registryService.getFlowSnapshots(existingBucket.getId(), existingFlow.getId());
+ assertNotNull(retrievedSnapshots);
+ assertEquals(2, retrievedSnapshots.size());
+ }
+
+ @Test
+ public void testGetFlowSnapshotsWhenNoSnapshots() {
+ final BucketEntity existingBucket = new BucketEntity();
+ existingBucket.setId("b1");
+ existingBucket.setName("My Bucket");
+ existingBucket.setDescription("This is my bucket");
+ existingBucket.setCreated(new Date());
+
+ when(metadataService.getBucketById(existingBucket.getId())).thenReturn(existingBucket);
+
+ // return a flow with the existing snapshot when getFlowById is called
+ final FlowEntity existingFlow = new FlowEntity();
+ existingFlow.setId("flow1");
+ existingFlow.setName("My Flow");
+ existingFlow.setDescription("This is my flow.");
+ existingFlow.setCreated(new Date());
+ existingFlow.setModified(new Date());
+ existingFlow.setBucket(existingBucket);
+
+ final Set<FlowSnapshotEntity> snapshots = new HashSet<>();
+ existingFlow.setSnapshots(snapshots);
+
+ when(metadataService.getFlowById(existingBucket.getId(), existingFlow.getId())).thenReturn(existingFlow);
+
+ final SortedSet<VersionedFlowSnapshotMetadata> retrievedSnapshots = registryService.getFlowSnapshots(existingBucket.getId(), existingFlow.getId());
+ assertNotNull(retrievedSnapshots);
+ assertEquals(0, retrievedSnapshots.size());
+ }
+
@Test(expected = ResourceNotFoundException.class)
public void testGetSnapshotDoesNotExistInMetadataProvider() {
final String bucketId = "b1";
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketFlowResource.java
----------------------------------------------------------------------
diff --git a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketFlowResource.java b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketFlowResource.java
index 1b22a5d..827d0c3 100644
--- a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketFlowResource.java
+++ b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketFlowResource.java
@@ -165,12 +165,8 @@ public class BucketFlowResource extends AuthorizableApplicationResource {
authorizeBucketAccess(RequestAction.READ, bucketId);
- final VersionedFlow flow = registryService.getFlow(bucketId, flowId, false);
-
+ final VersionedFlow flow = registryService.getFlow(bucketId, flowId);
linkService.populateFlowLinks(flow);
- if (flow.getSnapshotMetadata() != null) {
- linkService.populateSnapshotLinks(flow.getSnapshotMetadata());
- }
return Response.status(Response.Status.OK).entity(flow).build();
}
@@ -205,9 +201,6 @@ public class BucketFlowResource extends AuthorizableApplicationResource {
final VersionedFlow updatedFlow = registryService.updateFlow(flow);
linkService.populateFlowLinks(updatedFlow);
- if (updatedFlow.getSnapshotMetadata() != null) {
- linkService.populateSnapshotLinks(updatedFlow.getSnapshotMetadata());
- }
return Response.status(Response.Status.OK).entity(updatedFlow).build();
}
@@ -300,13 +293,13 @@ public class BucketFlowResource extends AuthorizableApplicationResource {
final String flowId) {
authorizeBucketAccess(RequestAction.READ, bucketId);
- final VersionedFlow flow = registryService.getFlow(bucketId, flowId, true);
- if (flow.getSnapshotMetadata() != null) {
- linkService.populateSnapshotLinks(flow.getSnapshotMetadata());
+ final SortedSet<VersionedFlowSnapshotMetadata> snapshots = registryService.getFlowSnapshots(bucketId, flowId);
+ if (snapshots != null ) {
+ linkService.populateSnapshotLinks(snapshots);
}
- return Response.status(Response.Status.OK).entity(flow.getSnapshotMetadata()).build();
+ return Response.status(Response.Status.OK).entity(snapshots).build();
}
@GET
@@ -331,9 +324,8 @@ public class BucketFlowResource extends AuthorizableApplicationResource {
final String flowId) {
authorizeBucketAccess(RequestAction.READ, bucketId);
- final VersionedFlow flow = registryService.getFlow(bucketId, flowId, true);
- final SortedSet<VersionedFlowSnapshotMetadata> snapshots = flow.getSnapshotMetadata();
+ final SortedSet<VersionedFlowSnapshotMetadata> snapshots = registryService.getFlowSnapshots(bucketId, flowId);
if (snapshots == null || snapshots.size() == 0) {
throw new ResourceNotFoundException("Not flow versions found for flow with id " + flowId);
}
http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/fd1d3847/nifi-registry-web-api/src/test/java/org/apache/nifi/registry/web/api/FlowsIT.java
----------------------------------------------------------------------
diff --git a/nifi-registry-web-api/src/test/java/org/apache/nifi/registry/web/api/FlowsIT.java b/nifi-registry-web-api/src/test/java/org/apache/nifi/registry/web/api/FlowsIT.java
index 126a60c..78da29b 100644
--- a/nifi-registry-web-api/src/test/java/org/apache/nifi/registry/web/api/FlowsIT.java
+++ b/nifi-registry-web-api/src/test/java/org/apache/nifi/registry/web/api/FlowsIT.java
@@ -385,7 +385,6 @@ public class FlowsIT extends UnsecuredITBase {
assertEquals(expected.getName(), actual.getName());
assertEquals(expected.getDescription(), actual.getDescription());
assertEquals(expected.getBucketIdentifier(), actual.getBucketIdentifier());
- assertEquals(expected.getSnapshotMetadata(), actual.getSnapshotMetadata());
if (checkServerSetFields) {
assertEquals(expected.getIdentifier(), actual.getIdentifier());
assertEquals(expected.getVersionCount(), actual.getVersionCount());