X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c84882514f7943481ff0be5b181dc9bd87cfb300..8fbaec671a04acd587c20015ddf88b1b0209b418:/services/datamanager/collection/collection_test.go diff --git a/services/datamanager/collection/collection_test.go b/services/datamanager/collection/collection_test.go index 3938b2f3fc..71a4785be4 100644 --- a/services/datamanager/collection/collection_test.go +++ b/services/datamanager/collection/collection_test.go @@ -128,44 +128,58 @@ func (s *MySuite) TestSummarizeOverlapping(checker *C) { type APITestData struct { // path and response map - data map[string]arvadostest.StatusAndBody + responses map[string]arvadostest.StubResponse // expected error, if any expectedError string } func (s *MySuite) TestGetCollectionsAndSummarize_DiscoveryError(c *C) { - testData := APITestData{} - testData.expectedError = "arvados API server error: 500.*" - testGetCollectionsAndSummarize(c, testData) + testGetCollectionsAndSummarize(c, + APITestData{ + responses: make(map[string]arvadostest.StubResponse), + expectedError: "arvados API server error: 500.*", + }) } func (s *MySuite) TestGetCollectionsAndSummarize_ApiErrorGetCollections(c *C) { - dataMap := make(map[string]arvadostest.StatusAndBody) - dataMap["/discovery/v1/apis/arvados/v1/rest"] = arvadostest.StatusAndBody{200, `{"defaultCollectionReplication":2}`} - dataMap["/arvados/v1/collections"] = arvadostest.StatusAndBody{-1, ``} + respMap := make(map[string]arvadostest.StubResponse) + respMap["/discovery/v1/apis/arvados/v1/rest"] = arvadostest.StubResponse{200, `{"defaultCollectionReplication":2}`} + respMap["/arvados/v1/collections"] = arvadostest.StubResponse{-1, ``} + + testGetCollectionsAndSummarize(c, + APITestData{ + responses: respMap, + expectedError: "arvados API server error: 302.*", + }) +} - testData := APITestData{} - testData.data = dataMap - testData.expectedError = "arvados API server error: 302.*" +func (s *MySuite) TestGetCollectionsAndSummarize_GetCollectionsBadStreamName(c *C) { + respMap := make(map[string]arvadostest.StubResponse) + respMap["/discovery/v1/apis/arvados/v1/rest"] = arvadostest.StubResponse{200, `{"defaultCollectionReplication":2}`} + respMap["/arvados/v1/collections"] = arvadostest.StubResponse{200, `{"items_available":1,"items":[{"modified_at":"2015-11-24T15:04:05Z","manifest_text":"badstreamname"}]}`} - testGetCollectionsAndSummarize(c, testData) + testGetCollectionsAndSummarize(c, + APITestData{ + responses: respMap, + expectedError: "Invalid stream name: badstreamname", + }) } -func (s *MySuite) TestGetCollectionsAndSummarize_GetCollectionsBadManifest(c *C) { - dataMap := make(map[string]arvadostest.StatusAndBody) - dataMap["/discovery/v1/apis/arvados/v1/rest"] = arvadostest.StatusAndBody{200, `{"defaultCollectionReplication":2}`} - dataMap["/arvados/v1/collections"] = arvadostest.StatusAndBody{200, `{"items_available":1,"items":[{"modified_at":"2015-11-24T15:04:05Z","manifest_text":"thisisnotavalidmanifest"}]}`} - - testData := APITestData{} - testData.data = dataMap - testData.expectedError = ".*invalid manifest format.*" +func (s *MySuite) TestGetCollectionsAndSummarize_GetCollectionsBadFileToken(c *C) { + respMap := make(map[string]arvadostest.StubResponse) + respMap["/discovery/v1/apis/arvados/v1/rest"] = arvadostest.StubResponse{200, `{"defaultCollectionReplication":2}`} + respMap["/arvados/v1/collections"] = arvadostest.StubResponse{200, `{"items_available":1,"items":[{"modified_at":"2015-11-24T15:04:05Z","manifest_text":"./goodstream acbd18db4cc2f85cedef654fccc4a4d8+3 0:1:file1.txt file2.txt"}]}`} - testGetCollectionsAndSummarize(c, testData) + testGetCollectionsAndSummarize(c, + APITestData{ + responses: respMap, + expectedError: "Invalid file token: file2.txt", + }) } func testGetCollectionsAndSummarize(c *C, testData APITestData) { - apiStub := arvadostest.APIStub{testData.data} + apiStub := arvadostest.ServerStub{testData.responses} api := httptest.NewServer(&apiStub) defer api.Close()