diff --git a/command/agent/fs_endpoint.go b/command/agent/fs_endpoint.go index 712e45636..a769aed31 100644 --- a/command/agent/fs_endpoint.go +++ b/command/agent/fs_endpoint.go @@ -21,7 +21,6 @@ func (s *HTTPServer) DirectoryListRequest(resp http.ResponseWriter, req *http.Re func (s *HTTPServer) FileStatRequest(resp http.ResponseWriter, req *http.Request) (interface{}, error) { var allocID, path string - if allocID = strings.TrimPrefix(req.URL.Path, "/v1/client/fs/stat/"); allocID == "" { return nil, fmt.Errorf("alloc id not found") } diff --git a/command/agent/fs_endpoint_test.go b/command/agent/fs_endpoint_test.go new file mode 100644 index 000000000..a1b5bd32b --- /dev/null +++ b/command/agent/fs_endpoint_test.go @@ -0,0 +1,48 @@ +package agent + +import ( + "net/http" + "net/http/httptest" + "testing" +) + +func TestHTTP_FSDirectoryList(t *testing.T) { + httpTest(t, nil, func(s *TestServer) { + req, err := http.NewRequest("GET", "/v1/client/fs/ls", nil) + if err != nil { + t.Fatalf("err: %v", err) + } + respW := httptest.NewRecorder() + + _, err = s.Server.DirectoryListRequest(respW, req) + if err == nil { + t.Fatal("expected error") + } + }) +} + +func TestHTTP_FSStat(t *testing.T) { + httpTest(t, nil, func(s *TestServer) { + req, err := http.NewRequest("GET", "/v1/client/fs/stat/", nil) + if err != nil { + t.Fatalf("err: %v", err) + } + respW := httptest.NewRecorder() + + _, err = s.Server.FileStatRequest(respW, req) + if err == nil { + t.Fatal("expected error") + } + + req, err = http.NewRequest("GET", "/v1/client/fs/stat/foo", nil) + if err != nil { + t.Fatalf("err: %v", err) + } + respW = httptest.NewRecorder() + + _, err = s.Server.FileStatRequest(respW, req) + if err == nil { + t.Fatal("expected error") + } + }) +}