X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c63ff55687f32dfdff01b9827b411b3757d48ee7..f9e3d32c92920a806d50548dbb9b6c0aab7d8c54:/services/datamanager/summary/pull_list_test.go diff --git a/services/datamanager/summary/pull_list_test.go b/services/datamanager/summary/pull_list_test.go index 9628a32018..60b495c41a 100644 --- a/services/datamanager/summary/pull_list_test.go +++ b/services/datamanager/summary/pull_list_test.go @@ -9,13 +9,13 @@ import ( ) // Gocheck boilerplate -func Test(t *testing.T) { +func TestPullLists(t *testing.T) { TestingT(t) } -type MySuite struct{} +type PullSuite struct{} -var _ = Suite(&MySuite{}) +var _ = Suite(&PullSuite{}) // Helper method to declare string sets more succinctly // Could be placed somewhere more general. @@ -27,7 +27,7 @@ func stringSet(slice ...string) (m map[string]struct{}) { return } -func (s *MySuite) TestPullListPrintsJSONCorrectly(c *C) { +func (s *PullSuite) TestPullListPrintsJSONCorrectly(c *C) { pl := PullList{PullRequest{ Locator: Locator(blockdigest.MakeTestDigestSpecifySize(0xBadBeef, 56789)), Servers: []string{"keep0.qr1hi.arvadosapi.com:25107", @@ -41,7 +41,7 @@ func (s *MySuite) TestPullListPrintsJSONCorrectly(c *C) { c.Check(string(b), Equals, expectedOutput) } -func (s *MySuite) TestCreatePullServers(c *C) { +func (s *PullSuite) TestCreatePullServers(c *C) { var cs CanonicalString c.Check( CreatePullServers(cs, @@ -54,7 +54,7 @@ func (s *MySuite) TestCreatePullServers(c *C) { c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), + stringSet("https://keep0:25107", "https://keep1:25108"), stringSet(), []string{}, 5), @@ -63,52 +63,64 @@ func (s *MySuite) TestCreatePullServers(c *C) { c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), - stringSet("keep0:25107"), - []string{"keep0:25107"}, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep0:25107"), + []string{"https://keep0:25107"}, 5), DeepEquals, - PullServers{To: []string{}, From: []string{"keep0:25107"}}) + PullServers{To: []string{}, From: []string{"https://keep0:25107"}}) c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), - stringSet("keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"), - []string{"keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"}, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"), + []string{"https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"}, 5), DeepEquals, - PullServers{To: []string{"keep3:25110", "keep2:25109"}, - From: []string{"keep1:25108", "keep0:25107"}}) + PullServers{To: []string{"https://keep3:25110", "https://keep2:25109"}, + From: []string{"https://keep1:25108", "https://keep0:25107"}}) c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), - stringSet("keep3:25110", "keep1:25108", "keep0:25107"), - []string{"keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"}, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep3:25110", "https://keep1:25108", "https://keep0:25107"), + []string{"https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"}, 5), DeepEquals, - PullServers{To: []string{"keep3:25110"}, - From: []string{"keep1:25108", "keep0:25107"}}) + PullServers{To: []string{"https://keep3:25110"}, + From: []string{"https://keep1:25108", "https://keep0:25107"}}) c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), - stringSet("keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"), - []string{"keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"}, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"), + []string{"https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"}, 1), DeepEquals, - PullServers{To: []string{"keep3:25110"}, - From: []string{"keep1:25108", "keep0:25107"}}) + PullServers{To: []string{"https://keep3:25110"}, + From: []string{"https://keep1:25108", "https://keep0:25107"}}) c.Check( CreatePullServers(cs, - stringSet("keep0:25107", "keep1:25108"), - stringSet("keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"), - []string{"keep3:25110", "keep2:25109", "keep1:25108", "keep0:25107"}, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep3:25110", "https://keep2:25109", + "https://keep1:25108", "https://keep0:25107"), + []string{"https://keep3:25110", "https://keep2:25109", + "https://keep1:25108", "https://keep0:25107"}, + 1), + DeepEquals, + PullServers{To: []string{"https://keep3:25110"}, + From: []string{"https://keep1:25108", "https://keep0:25107"}}) + + c.Check( + CreatePullServers(cs, + stringSet("https://keep0:25107", "https://keep1:25108"), + stringSet("https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"), + []string{"https://keep3:25110", "https://keep2:25109", "https://keep1:25108", "https://keep0:25107"}, 0), DeepEquals, PullServers{To: []string{}, - From: []string{"keep1:25108", "keep0:25107"}}) + From: []string{"https://keep1:25108", "https://keep0:25107"}}) } // Checks whether two pull list maps are equal. Since pull lists are @@ -143,7 +155,7 @@ var PullListMapEquals Checker = &pullListMapEqualsChecker{&CheckerInfo{ Params: []string{"obtained", "expected"}, }} -func (s *MySuite) TestBuildPullLists(c *C) { +func (s *PullSuite) TestBuildPullLists(c *C) { c.Check( BuildPullLists(map[Locator]PullServers{}), PullListMapEquals, @@ -152,69 +164,69 @@ func (s *MySuite) TestBuildPullLists(c *C) { locator1 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xBadBeef)} c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{To: []string{}, From: []string{}}}), + locator1: {To: []string{}, From: []string{}}}), PullListMapEquals, map[string]PullList{}) c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{To: []string{}, From: []string{"f1", "f2"}}}), + locator1: {To: []string{}, From: []string{"f1", "f2"}}}), PullListMapEquals, map[string]PullList{}) c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{To: []string{"t1"}, From: []string{"f1", "f2"}}}), + locator1: {To: []string{"t1"}, From: []string{"f1", "f2"}}}), PullListMapEquals, map[string]PullList{ - "t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}}}) + "t1": {PullRequest{locator1, []string{"f1", "f2"}}}}) c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{To: []string{"t1"}, From: []string{}}}), + locator1: {To: []string{"t1"}, From: []string{}}}), PullListMapEquals, - map[string]PullList{"t1": PullList{ + map[string]PullList{"t1": { PullRequest{locator1, []string{}}}}) c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{ + locator1: { To: []string{"t1", "t2"}, From: []string{"f1", "f2"}, }}), PullListMapEquals, map[string]PullList{ - "t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}}, - "t2": PullList{PullRequest{locator1, []string{"f1", "f2"}}}, + "t1": {PullRequest{locator1, []string{"f1", "f2"}}}, + "t2": {PullRequest{locator1, []string{"f1", "f2"}}}, }) locator2 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xCabbed)} c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{To: []string{"t1"}, From: []string{"f1", "f2"}}, - locator2: PullServers{To: []string{"t2"}, From: []string{"f3", "f4"}}}), + locator1: {To: []string{"t1"}, From: []string{"f1", "f2"}}, + locator2: {To: []string{"t2"}, From: []string{"f3", "f4"}}}), PullListMapEquals, map[string]PullList{ - "t1": PullList{PullRequest{locator1, []string{"f1", "f2"}}}, - "t2": PullList{PullRequest{locator2, []string{"f3", "f4"}}}, + "t1": {PullRequest{locator1, []string{"f1", "f2"}}}, + "t2": {PullRequest{locator2, []string{"f3", "f4"}}}, }) c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{ + locator1: { To: []string{"t1"}, From: []string{"f1", "f2"}}, - locator2: PullServers{ + locator2: { To: []string{"t2", "t1"}, From: []string{"f3", "f4"}}, }), PullListMapEquals, map[string]PullList{ - "t1": PullList{ + "t1": { PullRequest{locator1, []string{"f1", "f2"}}, PullRequest{locator2, []string{"f3", "f4"}}, }, - "t2": PullList{ + "t2": { PullRequest{locator2, []string{"f3", "f4"}}, }, }) @@ -223,45 +235,38 @@ func (s *MySuite) TestBuildPullLists(c *C) { locator4 := Locator{Digest: blockdigest.MakeTestBlockDigest(0xFedBeef)} c.Check( BuildPullLists(map[Locator]PullServers{ - locator1: PullServers{ + locator1: { To: []string{"t1"}, From: []string{"f1", "f2"}}, - locator2: PullServers{ + locator2: { To: []string{"t2", "t1"}, From: []string{"f3", "f4"}}, - locator3: PullServers{ + locator3: { To: []string{"t3", "t2", "t1"}, From: []string{"f4", "f5"}}, - locator4: PullServers{ + locator4: { To: []string{"t4", "t3", "t2", "t1"}, From: []string{"f1", "f5"}}, }), PullListMapEquals, map[string]PullList{ - "t1": PullList{ + "t1": { PullRequest{locator1, []string{"f1", "f2"}}, PullRequest{locator2, []string{"f3", "f4"}}, PullRequest{locator3, []string{"f4", "f5"}}, PullRequest{locator4, []string{"f1", "f5"}}, }, - "t2": PullList{ + "t2": { PullRequest{locator2, []string{"f3", "f4"}}, PullRequest{locator3, []string{"f4", "f5"}}, PullRequest{locator4, []string{"f1", "f5"}}, }, - "t3": PullList{ + "t3": { PullRequest{locator3, []string{"f4", "f5"}}, PullRequest{locator4, []string{"f1", "f5"}}, }, - "t4": PullList{ + "t4": { PullRequest{locator4, []string{"f1", "f5"}}, }, }) } - -func (s *MySuite) TestRemoveProtocolPrefix(c *C) { - c.Check(RemoveProtocolPrefix("blah"), Equals, "blah") - c.Check(RemoveProtocolPrefix("bl/ah"), Equals, "ah") - c.Check(RemoveProtocolPrefix("http://blah.com"), Equals, "blah.com") - c.Check(RemoveProtocolPrefix("https://blah.com:8900"), Equals, "blah.com:8900") -}