From 9585bdff344dc216b3dc91ce3ec11e2bc939ebc7 Mon Sep 17 00:00:00 2001 From: Umputun Date: Sat, 13 Jul 2019 13:40:41 -0500 Subject: [PATCH] lint: multiple warnings, mostly in tests --- backend/app/cmd/server.go | 4 ++-- backend/app/cmd/server_test.go | 13 ++++++------- backend/app/migrator/native_test.go | 24 ++++++++++++------------ backend/app/rest/api/migrator_test.go | 6 ++++++ backend/app/rest/api/rest.go | 4 ++-- backend/app/rest/api/rest_test.go | 8 ++++---- backend/app/rest/httperrors_test.go | 4 +++- 7 files changed, 35 insertions(+), 28 deletions(-) diff --git a/backend/app/cmd/server.go b/backend/app/cmd/server.go index b8657f39..bde9ec91 100644 --- a/backend/app/cmd/server.go +++ b/backend/app/cmd/server.go @@ -579,8 +579,8 @@ func (s *ServerCommand) addAuthProviders(authenticator *auth.Service) { SMTPPassword: s.Auth.Email.SMTPPassword, TimeOut: s.Auth.Email.TimeOut, } - s := sender.NewEmailClient(params, log.Default()) - authenticator.AddVerifProvider("email", msgTemplate, s) + sndr := sender.NewEmailClient(params, log.Default()) + authenticator.AddVerifProvider("email", msgTemplate, sndr) } if s.Auth.Anonymous { diff --git a/backend/app/cmd/server_test.go b/backend/app/cmd/server_test.go index c93f4afc..da72d6c5 100644 --- a/backend/app/cmd/server_test.go +++ b/backend/app/cmd/server_test.go @@ -45,8 +45,8 @@ func TestServerApp(t *testing.T) { client := http.Client{Timeout: 5 * time.Second} req, err := http.NewRequest("POST", fmt.Sprintf("http://localhost:%d/api/v1/comment", port), strings.NewReader(`{"text": "test 123", "locator":{"url": "https://radio-t.com/blah1", "site": "remark"}}`)) + require.NoError(t, err) req.SetBasicAuth("admin", "password") - require.Nil(t, err) resp, err = client.Do(req) require.Nil(t, err) assert.Equal(t, http.StatusCreated, resp.StatusCode) @@ -381,10 +381,10 @@ func TestServerAuthHooks(t *testing.T) { client := http.Client{Timeout: 1 * time.Second} req, err := http.NewRequest("POST", fmt.Sprintf("http://localhost:%d/api/v1/comment", port), strings.NewReader(`{"text": "test 123", "locator":{"url": "https://radio-t.com/p/2018/12/29/podcast-630/", "site": "remark"}}`)) + require.NoError(t, err) req.Header.Set("X-JWT", tk) - require.Nil(t, err) resp, err := client.Do(req) - require.Nil(t, err) + require.NoError(t, err) defer resp.Body.Close() assert.Equal(t, http.StatusCreated, resp.StatusCode, "non-blocked user able to post") @@ -406,8 +406,8 @@ func TestServerAuthHooks(t *testing.T) { // try add a comment with blocked user req, err = http.NewRequest("POST", fmt.Sprintf("http://localhost:%d/api/v1/comment", port), strings.NewReader(`{"text": "test 123 blah", "locator":{"url": "https://radio-t.com/blah1", "site": "remark"}}`)) + require.NoError(t, err) req.Header.Set("X-JWT", tk) - require.Nil(t, err) resp, err = client.Do(req) require.Nil(t, err) defer resp.Body.Close() @@ -444,11 +444,10 @@ func prepServerApp(t *testing.T, duration time.Duration, fn func(o ServerCommand require.Nil(t, err) ctx, cancel := context.WithCancel(context.Background()) - go func() { - time.Sleep(duration) + time.AfterFunc(duration, func() { log.Print("[TEST] terminate app") cancel() - }() + }) rand.Seed(time.Now().UnixNano()) return app, ctx } diff --git a/backend/app/migrator/native_test.go b/backend/app/migrator/native_test.go index 85570563..63e3d591 100644 --- a/backend/app/migrator/native_test.go +++ b/backend/app/migrator/native_test.go @@ -40,25 +40,25 @@ func TestNative_Export(t *testing.T) { dec := json.NewDecoder(strings.NewReader(c1)) - meta := struct { + m := struct { Version int `json:"version"` Users []service.UserMetaData `json:"users"` Posts []service.PostMetaData `json:"posts"` }{} - require.NoError(t, dec.Decode(&meta), "decode meta") + require.NoError(t, dec.Decode(&m), "decode meta") - assert.Equal(t, 2, len(meta.Users)) - assert.Equal(t, "user1", meta.Users[0].ID) - assert.Equal(t, false, meta.Users[0].Blocked.Status) - assert.Equal(t, true, meta.Users[0].Verified) - assert.Equal(t, "user2", meta.Users[1].ID) - assert.Equal(t, true, meta.Users[1].Blocked.Status) - assert.Equal(t, false, meta.Users[1].Verified) + assert.Equal(t, 2, len(m.Users)) + assert.Equal(t, "user1", m.Users[0].ID) + assert.Equal(t, false, m.Users[0].Blocked.Status) + assert.Equal(t, true, m.Users[0].Verified) + assert.Equal(t, "user2", m.Users[1].ID) + assert.Equal(t, true, m.Users[1].Blocked.Status) + assert.Equal(t, false, m.Users[1].Verified) - assert.Equal(t, 1, len(meta.Posts)) - assert.Equal(t, "https://radio-t.com", meta.Posts[0].URL) - assert.Equal(t, true, meta.Posts[0].ReadOnly) + assert.Equal(t, 1, len(m.Posts)) + assert.Equal(t, "https://radio-t.com", m.Posts[0].URL) + assert.Equal(t, true, m.Posts[0].ReadOnly) comments := [3]store.Comment{} diff --git a/backend/app/rest/api/migrator_test.go b/backend/app/rest/api/migrator_test.go index a4041366..51ee0658 100644 --- a/backend/app/rest/api/migrator_test.go +++ b/backend/app/rest/api/migrator_test.go @@ -26,6 +26,7 @@ func TestMigrator_Import(t *testing.T) { client := &http.Client{Timeout: 1 * time.Second} req, err := http.NewRequest("POST", ts.URL+"/api/v1/admin/import?site=radio-t&provider=native", r) + require.NoError(t, err) req.SetBasicAuth("admin", "password") assert.Nil(t, err) resp, err := client.Do(req) @@ -116,6 +117,7 @@ func TestMigrator_ImportDouble(t *testing.T) { r := strings.NewReader(`{"version":1}` + strings.Join(recs, "\n")) // reader with 10k records client := &http.Client{Timeout: 1 * time.Second} req, err := http.NewRequest("POST", ts.URL+"/api/v1/admin/import?site=radio-t&provider=native", r) + require.NoError(t, err) req.SetBasicAuth("admin", "password") assert.Nil(t, err) resp, err := client.Do(req) @@ -124,6 +126,7 @@ func TestMigrator_ImportDouble(t *testing.T) { client = &http.Client{Timeout: 1 * time.Second} req, err = http.NewRequest("POST", ts.URL+"/api/v1/admin/import?site=radio-t&provider=native", r) + require.NoError(t, err) req.SetBasicAuth("admin", "password") assert.Nil(t, err) resp, err = client.Do(req) @@ -144,6 +147,7 @@ func TestMigrator_ImportWaitExpired(t *testing.T) { r := strings.NewReader(`{"version":1}` + strings.Join(recs, "\n")) // reader with 10k records client := &http.Client{Timeout: 1 * time.Second} req, err := http.NewRequest("POST", ts.URL+"/api/v1/admin/import?site=radio-t&provider=native", r) + require.NoError(t, err) req.SetBasicAuth("admin", "password") require.Nil(t, err) resp, err := client.Do(req) @@ -152,6 +156,7 @@ func TestMigrator_ImportWaitExpired(t *testing.T) { client = &http.Client{Timeout: 10 * time.Second} req, err = http.NewRequest("GET", ts.URL+"/api/v1/admin/import/wait?site=radio-t&timeout=100ms", nil) + require.NoError(t, err) req.SetBasicAuth("admin", "password") assert.NoError(t, err) resp, err = client.Do(req) @@ -220,6 +225,7 @@ func TestMigrator_Export(t *testing.T) { func waitForImportCompletion(t *testing.T, ts *httptest.Server) { client := &http.Client{Timeout: 10 * time.Second} req, err := http.NewRequest("GET", ts.URL+"/api/v1/admin/import/wait?site=radio-t", nil) + require.NoError(t, err) req.SetBasicAuth("admin", "password") assert.NoError(t, err) resp, err := client.Do(req) diff --git a/backend/app/rest/api/rest.go b/backend/app/rest/api/rest.go index 30d037d7..5bea46ef 100644 --- a/backend/app/rest/api/rest.go +++ b/backend/app/rest/api/rest.go @@ -441,14 +441,14 @@ func addFileServer(r chi.Router, path string, root http.FileSystem) { path += "*" r.With(tollbooth_chi.LimitHandler(tollbooth.NewLimiter(20, nil)), middleware.Timeout(10*time.Second)). - Get(path, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + Get(path, func(w http.ResponseWriter, r *http.Request) { // don't show dirs, just serve files if strings.HasSuffix(r.URL.Path, "/") && len(r.URL.Path) > 1 && r.URL.Path != (origPath+"/") { http.NotFound(w, r) return } webFS.ServeHTTP(w, r) - })) + }) } func encodeJSONWithHTML(v interface{}) ([]byte, error) { diff --git a/backend/app/rest/api/rest_test.go b/backend/app/rest/api/rest_test.go index 469ad4cd..25eb0c9d 100644 --- a/backend/app/rest/api/rest_test.go +++ b/backend/app/rest/api/rest_test.go @@ -297,14 +297,14 @@ func startupT(t *testing.T) (ts *httptest.Server, srv *Rest, teardown func()) { memCache, err := cache.NewMemoryCache() assert.NoError(t, err) - adminStore := adminstore.NewStaticStore("123456", []string{"a1", "a2"}, "admin@remark-42.com") + astore := adminstore.NewStaticStore("123456", []string{"a1", "a2"}, "admin@remark-42.com") restrictedWordsMatcher := service.NewRestrictedWordsMatcher(service.StaticRestrictedWordsLister{Words: []string{"duck"}}) dataStore := &service.DataStore{ Engine: b, EditDuration: 5 * time.Minute, MaxCommentSize: 4000, - AdminStore: adminStore, + AdminStore: astore, MaxVotes: service.UnlimitedVotes, RestrictedWordsMatcher: restrictedWordsMatcher, } @@ -337,7 +337,7 @@ func startupT(t *testing.T) (ts *httptest.Server, srv *Rest, teardown func()) { NativeImporter: &migrator.Native{DataStore: dataStore}, NativeExporter: &migrator.Native{DataStore: dataStore}, Cache: &cache.Nop{}, - KeyStore: adminStore, + KeyStore: astore, }, Streamer: &Streamer{ Refresh: 100 * time.Millisecond, @@ -387,7 +387,7 @@ func get(t *testing.T, url string) (string, int) { return string(body), r.StatusCode } -func sendReq(t *testing.T, r *http.Request, token string) (*http.Response, error) { +func sendReq(_ *testing.T, r *http.Request, token string) (*http.Response, error) { client := http.Client{Timeout: 5 * time.Second} if token != "" { r.Header.Set("X-JWT", token) diff --git a/backend/app/rest/httperrors_test.go b/backend/app/rest/httperrors_test.go index f0fceec1..955293e4 100644 --- a/backend/app/rest/httperrors_test.go +++ b/backend/app/rest/httperrors_test.go @@ -50,11 +50,13 @@ func TestErrorDetailsMsg(t *testing.T) { func TestErrorDetailsMsgWithUser(t *testing.T) { callerFn := func() { req, err := http.NewRequest("GET", "https://example.com/test?k1=v1&k2=v2", nil) + require.NoError(t, err) req.RemoteAddr = "127.0.0.1:1234" req = SetUserInfo(req, store.User{Name: "test", ID: "id"}) require.Nil(t, err) msg := errDetailsMsg(req, 500, errors.New("error 500"), "error details 123456", 34567) - assert.Equal(t, "error details 123456 - error 500 - 500 (34567) - test/id - 127.0.0.1 - https://example.com/test?k1=v1&k2=v2 [caused by app/rest/httperrors_test.go:59 rest.TestErrorDetailsMsgWithUser]", msg) + assert.Equal(t, "error details 123456 - error 500 - 500 (34567) - test/id - 127.0.0.1 - https://example." + + "com/test?k1=v1&k2=v2 [caused by app/rest/httperrors_test.go:61 rest.TestErrorDetailsMsgWithUser]", msg) } callerFn() }