X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/17568511436d6721de01870fead8995796243ee8..af6d31cba8346ac86bc0027eb0f675144fb43056:/sdk/go/arvadosclient/arvadosclient_test.go diff --git a/sdk/go/arvadosclient/arvadosclient_test.go b/sdk/go/arvadosclient/arvadosclient_test.go index 2c508dcb4a..75af3ca519 100644 --- a/sdk/go/arvadosclient/arvadosclient_test.go +++ b/sdk/go/arvadosclient/arvadosclient_test.go @@ -6,6 +6,7 @@ import ( "net/http" "os" "testing" + "time" ) // Gocheck boilerplate @@ -102,39 +103,50 @@ func (s *ServerRequiredSuite) TestInvalidResourceType(c *C) { func (s *ServerRequiredSuite) TestCreatePipelineTemplate(c *C) { arv, err := MakeArvadosClient() - getback := make(Dict) - err = arv.Create("pipeline_templates", - Dict{"pipeline_template": Dict{ - "name": "tmp", - "components": Dict{ - "c1": map[string]string{"script": "script1"}, - "c2": map[string]string{"script": "script2"}}}}, - &getback) - c.Assert(err, Equals, nil) - c.Assert(getback["name"], Equals, "tmp") - c.Assert(getback["components"].(map[string]interface{})["c2"].(map[string]interface{})["script"], Equals, "script2") - - uuid := getback["uuid"].(string) - - getback = make(Dict) - err = arv.Get("pipeline_templates", uuid, nil, &getback) - c.Assert(err, Equals, nil) - c.Assert(getback["name"], Equals, "tmp") - c.Assert(getback["components"].(map[string]interface{})["c1"].(map[string]interface{})["script"], Equals, "script1") - - getback = make(Dict) - err = arv.Update("pipeline_templates", uuid, - Dict{ - "pipeline_template": Dict{"name": "tmp2"}}, - &getback) - c.Assert(err, Equals, nil) - c.Assert(getback["name"], Equals, "tmp2") - - c.Assert(getback["uuid"].(string), Equals, uuid) - getback = make(Dict) - err = arv.Delete("pipeline_templates", uuid, nil, &getback) - c.Assert(err, Equals, nil) - c.Assert(getback["name"], Equals, "tmp2") + for _, idleConnections := range []bool{ + false, + true, + } { + if idleConnections { + arv.lastClosedIdlesAt = time.Now().Add(-time.Minute) + } else { + arv.lastClosedIdlesAt = time.Now() + } + + getback := make(Dict) + err = arv.Create("pipeline_templates", + Dict{"pipeline_template": Dict{ + "name": "tmp", + "components": Dict{ + "c1": map[string]string{"script": "script1"}, + "c2": map[string]string{"script": "script2"}}}}, + &getback) + c.Assert(err, Equals, nil) + c.Assert(getback["name"], Equals, "tmp") + c.Assert(getback["components"].(map[string]interface{})["c2"].(map[string]interface{})["script"], Equals, "script2") + + uuid := getback["uuid"].(string) + + getback = make(Dict) + err = arv.Get("pipeline_templates", uuid, nil, &getback) + c.Assert(err, Equals, nil) + c.Assert(getback["name"], Equals, "tmp") + c.Assert(getback["components"].(map[string]interface{})["c1"].(map[string]interface{})["script"], Equals, "script1") + + getback = make(Dict) + err = arv.Update("pipeline_templates", uuid, + Dict{ + "pipeline_template": Dict{"name": "tmp2"}}, + &getback) + c.Assert(err, Equals, nil) + c.Assert(getback["name"], Equals, "tmp2") + + c.Assert(getback["uuid"].(string), Equals, uuid) + getback = make(Dict) + err = arv.Delete("pipeline_templates", uuid, nil, &getback) + c.Assert(err, Equals, nil) + c.Assert(getback["name"], Equals, "tmp2") + } } func (s *ServerRequiredSuite) TestErrorResponse(c *C) {