Merge branch 'master' into 3408-production-datamanager
[arvados.git] / services / datamanager / collection / collection_test.go
index 91173218835d2826d8b3e5201b6fff99a2bf9a06..3dc8e37dffb60c65a38884a902a6b8d4766f99ba 100644 (file)
@@ -2,10 +2,19 @@ package collection
 
 import (
        "git.curoverse.com/arvados.git/sdk/go/blockdigest"
-       "reflect"
+       . "gopkg.in/check.v1"
        "testing"
 )
 
+// Gocheck boilerplate
+func Test(t *testing.T) {
+       TestingT(t)
+}
+
+type MySuite struct{}
+
+var _ = Suite(&MySuite{})
+
 // This captures the result we expect from
 // ReadCollections.Summarize().  Because CollectionUuidToIndex is
 // indeterminate, we replace BlockToCollectionIndices with
@@ -16,23 +25,15 @@ type ExpectedSummary struct {
        BlockToCollectionUuids map[blockdigest.BlockDigest][]string
 }
 
-func CompareSummarizedReadCollections(t *testing.T,
+func CompareSummarizedReadCollections(c *C,
        summarized ReadCollections,
        expected ExpectedSummary) {
 
-       if !reflect.DeepEqual(summarized.OwnerToCollectionSize,
-               expected.OwnerToCollectionSize) {
-               t.Fatalf("Expected summarized OwnerToCollectionSize to look like %+v but instead it is %+v",
-                       expected.OwnerToCollectionSize,
-                       summarized.OwnerToCollectionSize)
-       }
+       c.Assert(summarized.OwnerToCollectionSize, DeepEquals,
+               expected.OwnerToCollectionSize)
 
-       if !reflect.DeepEqual(summarized.BlockToReplication,
-               expected.BlockToReplication) {
-               t.Fatalf("Expected summarized BlockToReplication to look like %+v but instead it is %+v",
-                       expected.BlockToReplication,
-                       summarized.BlockToReplication)
-       }
+       c.Assert(summarized.BlockToReplication, DeepEquals,
+               expected.BlockToReplication)
 
        summarizedBlockToCollectionUuids :=
                make(map[blockdigest.BlockDigest]map[string]struct{})
@@ -54,19 +55,17 @@ func CompareSummarizedReadCollections(t *testing.T,
                }
        }
 
-       if !reflect.DeepEqual(summarizedBlockToCollectionUuids,
-               expectedBlockToCollectionUuids) {
-               t.Fatalf("Expected summarized BlockToCollectionUuids to look like %+v but instead it is %+v", expectedBlockToCollectionUuids, summarizedBlockToCollectionUuids)
-       }
+       c.Assert(summarizedBlockToCollectionUuids, DeepEquals,
+               expectedBlockToCollectionUuids)
 }
 
-func TestSummarizeSimple(t *testing.T) {
+func (s *MySuite) TestSummarizeSimple(checker *C) {
        rc := MakeTestReadCollections([]TestCollectionSpec{TestCollectionSpec{
                ReplicationLevel: 5,
-               Blocks: []int{1, 2},
+               Blocks:           []int{1, 2},
        }})
 
-       rc.Summarize()
+       rc.Summarize(nil)
 
        c := rc.UuidToCollection["col0"]
 
@@ -79,22 +78,22 @@ func TestSummarizeSimple(t *testing.T) {
                BlockToCollectionUuids: map[blockdigest.BlockDigest][]string{blockDigest1: []string{c.Uuid}, blockDigest2: []string{c.Uuid}},
        }
 
-       CompareSummarizedReadCollections(t, rc, expected)
+       CompareSummarizedReadCollections(checker, rc, expected)
 }
 
-func TestSummarizeOverlapping(t *testing.T) {
+func (s *MySuite) TestSummarizeOverlapping(checker *C) {
        rc := MakeTestReadCollections([]TestCollectionSpec{
                TestCollectionSpec{
                        ReplicationLevel: 5,
-                       Blocks: []int{1, 2},
+                       Blocks:           []int{1, 2},
                },
                TestCollectionSpec{
                        ReplicationLevel: 8,
-                       Blocks: []int{2, 3},
+                       Blocks:           []int{2, 3},
                },
        })
 
-       rc.Summarize()
+       rc.Summarize(nil)
 
        c0 := rc.UuidToCollection["col0"]
        c1 := rc.UuidToCollection["col1"]
@@ -120,5 +119,5 @@ func TestSummarizeOverlapping(t *testing.T) {
                },
        }
 
-       CompareSummarizedReadCollections(t, rc, expected)
+       CompareSummarizedReadCollections(checker, rc, expected)
 }