Merge branch '9437-keep-index-ns'
[arvados.git] / services / datamanager / summary / summary_test.go
index 05db2fd7feb37adcc7012c3f756edd4ce3e001fd..82684041275ff602236823b68da5ef2fab6714cf 100644 (file)
@@ -12,7 +12,7 @@ import (
 func BlockSetFromSlice(digests []int) (bs BlockSet) {
        bs = make(BlockSet)
        for _, digest := range digests {
-               bs.Insert(blockdigest.MakeTestBlockDigest(digest))
+               bs.Insert(blockdigest.MakeTestDigestWithSize(digest))
        }
        return
 }
@@ -36,12 +36,19 @@ func (cis CollectionIndexSet) ToSlice() (ints []int) {
        return
 }
 
+// Helper method to meet interface expected by older tests.
+func SummarizeReplication(readCollections collection.ReadCollections,
+       keepServerInfo keep.ReadServers) (rs ReplicationSummary) {
+       return BucketReplication(readCollections, keepServerInfo).
+               SummarizeBuckets(readCollections)
+}
+
 // Takes a map from block digest to replication level and represents
 // it in a keep.ReadServers structure.
 func SpecifyReplication(digestToReplication map[int]int) (rs keep.ReadServers) {
-       rs.BlockToServers = make(map[blockdigest.BlockDigest][]keep.BlockServerInfo)
+       rs.BlockToServers = make(map[blockdigest.DigestWithSize][]keep.BlockServerInfo)
        for digest, replication := range digestToReplication {
-               rs.BlockToServers[blockdigest.MakeTestBlockDigest(digest)] =
+               rs.BlockToServers[blockdigest.MakeTestDigestWithSize(digest)] =
                        make([]keep.BlockServerInfo, replication)
        }
        return
@@ -59,10 +66,10 @@ func VerifyToCollectionIndexSet(
        expected := CollectionIndexSetFromSlice(expectedCollections)
 
        rc := collection.ReadCollections{
-               BlockToCollectionIndices: map[blockdigest.BlockDigest][]int{},
+               BlockToCollectionIndices: map[blockdigest.DigestWithSize][]int{},
        }
        for digest, indices := range blockToCollectionIndices {
-               rc.BlockToCollectionIndices[blockdigest.MakeTestBlockDigest(digest)] = indices
+               rc.BlockToCollectionIndices[blockdigest.MakeTestDigestWithSize(digest)] = indices
        }
 
        returned := make(CollectionIndexSet)
@@ -78,23 +85,23 @@ func VerifyToCollectionIndexSet(
 }
 
 func TestToCollectionIndexSet(t *testing.T) {
-       VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{6: []int{0}}, []int{0})
-       VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: []int{1}}, []int{1})
-       VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: []int{1, 9}}, []int{1, 9})
+       VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{6: {0}}, []int{0})
+       VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: {1}}, []int{1})
+       VerifyToCollectionIndexSet(t, []int{4}, map[int][]int{4: {1, 9}}, []int{1, 9})
        VerifyToCollectionIndexSet(t, []int{5, 6},
-               map[int][]int{5: []int{2, 3}, 6: []int{3, 4}},
+               map[int][]int{5: {2, 3}, 6: {3, 4}},
                []int{2, 3, 4})
        VerifyToCollectionIndexSet(t, []int{5, 6},
-               map[int][]int{5: []int{8}, 6: []int{4}},
+               map[int][]int{5: {8}, 6: {4}},
                []int{4, 8})
-       VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{5: []int{0}}, []int{})
+       VerifyToCollectionIndexSet(t, []int{6}, map[int][]int{5: {0}}, []int{})
 }
 
 func TestSimpleSummary(t *testing.T) {
        rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-               collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
+               {ReplicationLevel: 1, Blocks: []int{1, 2}},
        })
-       rc.Summarize()
+       rc.Summarize(nil)
        cIndex := rc.CollectionIndicesForTesting()
 
        keepInfo := SpecifyReplication(map[int]int{1: 1, 2: 1})
@@ -121,9 +128,9 @@ func TestSimpleSummary(t *testing.T) {
 
 func TestMissingBlock(t *testing.T) {
        rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-               collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
+               {ReplicationLevel: 1, Blocks: []int{1, 2}},
        })
-       rc.Summarize()
+       rc.Summarize(nil)
        cIndex := rc.CollectionIndicesForTesting()
 
        keepInfo := SpecifyReplication(map[int]int{1: 1})
@@ -152,9 +159,9 @@ func TestMissingBlock(t *testing.T) {
 
 func TestUnderAndOverReplicatedBlocks(t *testing.T) {
        rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-               collection.TestCollectionSpec{ReplicationLevel: 2, Blocks: []int{1, 2}},
+               {ReplicationLevel: 2, Blocks: []int{1, 2}},
        })
-       rc.Summarize()
+       rc.Summarize(nil)
        cIndex := rc.CollectionIndicesForTesting()
 
        keepInfo := SpecifyReplication(map[int]int{1: 1, 2: 3})
@@ -183,11 +190,11 @@ func TestUnderAndOverReplicatedBlocks(t *testing.T) {
 
 func TestMixedReplication(t *testing.T) {
        rc := collection.MakeTestReadCollections([]collection.TestCollectionSpec{
-               collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{1, 2}},
-               collection.TestCollectionSpec{ReplicationLevel: 1, Blocks: []int{3, 4}},
-               collection.TestCollectionSpec{ReplicationLevel: 2, Blocks: []int{5, 6}},
+               {ReplicationLevel: 1, Blocks: []int{1, 2}},
+               {ReplicationLevel: 1, Blocks: []int{3, 4}},
+               {ReplicationLevel: 2, Blocks: []int{5, 6}},
        })
-       rc.Summarize()
+       rc.Summarize(nil)
        cIndex := rc.CollectionIndicesForTesting()
 
        keepInfo := SpecifyReplication(map[int]int{1: 1, 2: 1, 3: 1, 5: 1, 6: 3, 7: 2})
@@ -208,6 +215,6 @@ func TestMixedReplication(t *testing.T) {
        returnedSummary := SummarizeReplication(rc, keepInfo)
 
        if !reflect.DeepEqual(returnedSummary, expectedSummary) {
-               t.Fatalf("Expected returnedSummary to look like: \n%+v but instead it is: \n%+v. Index to UUID is %v. BlockToCollectionIndices is %v.", expectedSummary, returnedSummary, rc.CollectionIndexToUuid, rc.BlockToCollectionIndices)
+               t.Fatalf("Expected returnedSummary to look like: \n%+v but instead it is: \n%+v. Index to UUID is %v. BlockToCollectionIndices is %v.", expectedSummary, returnedSummary, rc.CollectionIndexToUUID, rc.BlockToCollectionIndices)
        }
 }