From 062b36fe5725d1267c66db2e506b4131d78ce772 Mon Sep 17 00:00:00 2001 From: Philipp Tanlak Date: Fri, 11 Aug 2023 18:31:20 +0200 Subject: simplify project structure --- api/api_test.go | 67 --------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 api/api_test.go (limited to 'api/api_test.go') diff --git a/api/api_test.go b/api/api_test.go deleted file mode 100644 index 624b684..0000000 --- a/api/api_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package api_test - -import ( - "encoding/json" - "errors" - "net/http" - "net/http/httptest" - "strings" - "testing" - - "flyscrape/api" - - "github.com/stretchr/testify/require" -) - -func TestScrapeURL(t *testing.T) { - svc := &api.ServiceMock{ - ScrapeURLFunc: func(url string, params map[string]any) (any, error) { - return map[string]any{"foo": "bar"}, nil - }, - } - h := api.NewHandler(svc) - - r := httptest.NewRequest("POST", "/scrape", strings.NewReader(`{"url": "https://example.com", "data": {"foo":".foo"}}`)) - w := httptest.NewRecorder() - h.ServeHTTP(w, r) - - require.Equal(t, w.Result().StatusCode, http.StatusOK) - require.Equal(t, w.Result().Header.Get("Content-Type"), "application/json") - - result := map[string]any{} - require.NoError(t, json.NewDecoder(w.Result().Body).Decode(&result)) - require.Equal(t, result["url"].(string), "https://example.com") - require.Equal(t, result["data"].(map[string]any)["foo"], "bar") -} - -func TestScrapeURLInternalServerError(t *testing.T) { - svc := &api.ServiceMock{ - ScrapeURLFunc: func(url string, params map[string]any) (any, error) { - return nil, errors.New("whoops") - }, - } - h := api.NewHandler(svc) - - r := httptest.NewRequest("POST", "/scrape", strings.NewReader(`{"url": "https://example.com", "data": {"foo":".foo"}}`)) - w := httptest.NewRecorder() - h.ServeHTTP(w, r) - - require.Equal(t, w.Result().StatusCode, http.StatusInternalServerError) - require.Equal(t, w.Result().Header.Get("Content-Type"), "application/json") -} - -func TestScrapeURLBadRequest(t *testing.T) { - svc := &api.ServiceMock{ - ScrapeURLFunc: func(url string, params map[string]any) (any, error) { - return nil, errors.New("whoops") - }, - } - h := api.NewHandler(svc) - - r := httptest.NewRequest("POST", "/scrape", strings.NewReader(`{"}`)) - w := httptest.NewRecorder() - h.ServeHTTP(w, r) - - require.Equal(t, w.Result().StatusCode, http.StatusBadRequest) - require.Equal(t, w.Result().Header.Get("Content-Type"), "application/json") -} -- cgit v1.2.3