9 "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
10 "git.curoverse.com/arvados.git/sdk/go/keepclient"
15 // Gocheck boilerplate
16 func Test(t *testing.T) {
20 type KeepSuite struct{}
22 var _ = Suite(&KeepSuite{})
24 type TestHandler struct {
28 func (ts *TestHandler) ServeHTTP(writer http.ResponseWriter, req *http.Request) {
29 r := json.NewDecoder(req.Body)
33 func (s *KeepSuite) TestSendTrashLists(c *C) {
35 server := httptest.NewServer(&th)
38 tl := map[string]TrashList{
39 server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
41 arv := arvadosclient.ArvadosClient{ApiToken: "abc123"}
42 kc := keepclient.KeepClient{Arvados: &arv, Client: &http.Client{}}
43 kc.SetServiceRoots(map[string]string{"xxxx": server.URL},
44 map[string]string{"xxxx": server.URL},
47 err := SendTrashLists(&kc, tl)
58 type TestHandlerError struct {
61 func (tse *TestHandlerError) ServeHTTP(writer http.ResponseWriter, req *http.Request) {
62 http.Error(writer, "I'm a teapot", 418)
65 func sendTrashListError(c *C, server *httptest.Server) {
66 tl := map[string]TrashList{
67 server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
69 arv := arvadosclient.ArvadosClient{ApiToken: "abc123"}
70 kc := keepclient.KeepClient{Arvados: &arv, Client: &http.Client{}}
71 kc.SetServiceRoots(map[string]string{"xxxx": server.URL},
72 map[string]string{"xxxx": server.URL},
75 err := SendTrashLists(&kc, tl)
78 c.Check(err[0], NotNil)
81 func (s *KeepSuite) TestSendTrashListErrorResponse(c *C) {
82 server := httptest.NewServer(&TestHandlerError{})
83 sendTrashListError(c, server)
87 func (s *KeepSuite) TestSendTrashListUnreachable(c *C) {
88 sendTrashListError(c, httptest.NewUnstartedServer(&TestHandler{}))