X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9833a2b9be1a722bd9aad08baf48ca072bde7ca7..7aaf9f22aa646077b4b7fd961d6b731185b88137:/sdk/go/arvadosclient/arvadosclient_test.go diff --git a/sdk/go/arvadosclient/arvadosclient_test.go b/sdk/go/arvadosclient/arvadosclient_test.go index fc686ad637..27e23c1aea 100644 --- a/sdk/go/arvadosclient/arvadosclient_test.go +++ b/sdk/go/arvadosclient/arvadosclient_test.go @@ -10,7 +10,9 @@ import ( "net/http" "os" "testing" + "time" + "git.arvados.org/arvados.git/sdk/go/arvados" "git.arvados.org/arvados.git/sdk/go/arvadostest" . "gopkg.in/check.v1" ) @@ -28,14 +30,12 @@ var _ = Suite(&MockArvadosServerSuite{}) type ServerRequiredSuite struct{} func (s *ServerRequiredSuite) SetUpSuite(c *C) { - arvadostest.StartAPI() arvadostest.StartKeep(2, false) RetryDelay = 0 } func (s *ServerRequiredSuite) TearDownSuite(c *C) { arvadostest.StopKeep(2) - arvadostest.StopAPI() } func (s *ServerRequiredSuite) SetUpTest(c *C) { @@ -158,6 +158,62 @@ func (s *ServerRequiredSuite) TestAPIDiscovery_Get_noSuchParameter(c *C) { c.Assert(value, IsNil) } +func (s *ServerRequiredSuite) TestAPIClusterConfig_Get_StorageClasses(c *C) { + arv, err := MakeArvadosClient() + c.Assert(err, IsNil) + data, err := arv.ClusterConfig("StorageClasses") + c.Assert(err, IsNil) + c.Assert(data, NotNil) + clusterConfig := data.(map[string]interface{}) + _, ok := clusterConfig["default"] + c.Assert(ok, Equals, true) +} + +func (s *ServerRequiredSuite) TestAPIClusterConfig_Get_All(c *C) { + arv, err := MakeArvadosClient() + c.Assert(err, IsNil) + data, err := arv.ClusterConfig("") + c.Assert(err, IsNil) + c.Assert(data, NotNil) + clusterConfig := data.(map[string]interface{}) + _, ok := clusterConfig["StorageClasses"] + c.Assert(ok, Equals, true) +} + +func (s *ServerRequiredSuite) TestAPIClusterConfig_Get_noSuchSection(c *C) { + arv, err := MakeArvadosClient() + c.Assert(err, IsNil) + data, err := arv.ClusterConfig("noSuchSection") + c.Assert(err, NotNil) + c.Assert(data, IsNil) +} + +func (s *ServerRequiredSuite) TestCreateLarge(c *C) { + arv, err := MakeArvadosClient() + c.Assert(err, IsNil) + + txt := arvados.SignLocator("d41d8cd98f00b204e9800998ecf8427e+0", arv.ApiToken, time.Now().Add(time.Minute), time.Minute, []byte(arvadostest.SystemRootToken)) + // Ensure our request body is bigger than the Go http server's + // default max size, 10 MB. + for len(txt) < 12000000 { + txt = txt + " " + txt + } + txt = ". " + txt + " 0:0:foo\n" + + resp := Dict{} + err = arv.Create("collections", Dict{ + "ensure_unique_name": true, + "collection": Dict{ + "is_trashed": true, + "name": "test", + "manifest_text": txt, + }, + }, &resp) + c.Check(err, IsNil) + c.Check(resp["portable_data_hash"], Not(Equals), "") + c.Check(resp["portable_data_hash"], Not(Equals), "d41d8cd98f00b204e9800998ecf8427e+0") +} + type UnitSuite struct{} func (s *UnitSuite) TestUUIDMatch(c *C) {