X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d7635fbe751b2d00dd722a038723577f344406e1..e244b9411becb2fe3bce44aba4fe94c1f14e1f17:/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 692af5c4b9..e2050c2b1e 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,21 +27,21 @@ 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{Digest: blockdigest.MakeTestBlockDigest(0xBadBeef)}, + Locator: Locator(blockdigest.MakeTestDigestSpecifySize(0xBadBeef, 56789)), Servers: []string{"keep0.qr1hi.arvadosapi.com:25107", "keep1.qr1hi.arvadosapi.com:25108"}}} b, err := json.Marshal(pl) c.Assert(err, IsNil) - expectedOutput := `[{"locator":"0000000000000000000000000badbeef",` + + expectedOutput := `[{"locator":"0000000000000000000000000badbeef+56789",` + `"servers":["keep0.qr1hi.arvadosapi.com:25107",` + `"keep1.qr1hi.arvadosapi.com:25108"]}]` 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 @@ -129,10 +141,10 @@ func (c *pullListMapEqualsChecker) Check(params []interface{}, names []string) ( } for _, v := range obtained { - sort.Sort(PullListByDigest(v)) + sort.Sort(PullListByLocator(v)) } for _, v := range expected { - sort.Sort(PullListByDigest(v)) + sort.Sort(PullListByLocator(v)) } return DeepEquals.Check(params, names) @@ -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, @@ -258,10 +270,3 @@ func (s *MySuite) TestBuildPullLists(c *C) { }, }) } - -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") -}