5 "git.curoverse.com/arvados.git/sdk/go/keepclient"
12 // Gocheck boilerplate
13 func Test(t *testing.T) {
17 type KeepSuite struct{}
19 var _ = Suite(&KeepSuite{})
21 type TestHandler struct {
25 func (this *TestHandler) ServeHTTP(writer http.ResponseWriter, req *http.Request) {
26 r := json.NewDecoder(req.Body)
27 r.Decode(&this.request)
30 func (s *KeepSuite) TestSendTrashLists(c *C) {
32 server := httptest.NewServer(&th)
34 tl := map[string]TrashList{
35 server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
37 kc := keepclient.KeepClient{Client: &http.Client{}}
38 kc.SetServiceRoots(map[string]string{"xxxx": server.URL},
39 map[string]string{"xxxx": server.URL},
42 err := SendTrashLists("", &kc, tl)
45 c.Check(err[0], IsNil)
53 type TestHandlerError struct {
56 func (this *TestHandlerError) ServeHTTP(writer http.ResponseWriter, req *http.Request) {
57 http.Error(writer, "I'm a teapot", 418)
60 func sendTrashListError(c *C, server *httptest.Server) {
61 tl := map[string]TrashList{
62 server.URL: TrashList{TrashRequest{"000000000000000000000000deadbeef", 99}}}
64 kc := keepclient.KeepClient{Client: &http.Client{}}
65 kc.SetServiceRoots(map[string]string{"xxxx": server.URL},
66 map[string]string{"xxxx": server.URL},
69 err := SendTrashLists("", &kc, tl)
71 c.Check(err[0], NotNil)
74 func (s *KeepSuite) TestSendTrashListErrorResponse(c *C) {
75 sendTrashListError(c, httptest.NewServer(&TestHandlerError{}))
78 func (s *KeepSuite) TestSendTrashListUnreachable(c *C) {
79 sendTrashListError(c, httptest.NewUnstartedServer(&TestHandler{}))