Skip to content

Commit 3b9c5f2

Browse files
committed
Fix lint issues in internal tests
1 parent ef50fa4 commit 3b9c5f2

File tree

5 files changed

+57
-28
lines changed

5 files changed

+57
-28
lines changed

internal/test/checks/checks_test.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
package checks
1+
package checks_test
22

33
import (
44
"errors"
55
"testing"
6+
7+
"github.com/sashabaranov/go-openai/internal/test/checks"
68
)
79

810
func TestChecksSuccessPaths(t *testing.T) {
9-
NoError(t, nil)
10-
NoErrorF(t, nil)
11-
HasError(t, errors.New("err"))
11+
checks.NoError(t, nil)
12+
checks.NoErrorF(t, nil)
13+
checks.HasError(t, errors.New("err"))
1214
target := errors.New("x")
13-
ErrorIs(t, target, target)
14-
ErrorIsF(t, target, target, "msg")
15-
ErrorIsNot(t, errors.New("y"), target)
16-
ErrorIsNotf(t, errors.New("y"), target, "msg")
15+
checks.ErrorIs(t, target, target)
16+
checks.ErrorIsF(t, target, target, "msg")
17+
checks.ErrorIsNot(t, errors.New("y"), target)
18+
checks.ErrorIsNotf(t, errors.New("y"), target, "msg")
1719
}

internal/test/failer_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1+
//nolint:testpackage // need access to unexported fields and types for testing
12
package test
23

3-
import "testing"
4+
import (
5+
"errors"
6+
"testing"
7+
)
48

59
func TestFailingErrorBuffer(t *testing.T) {
610
buf := &FailingErrorBuffer{}
711
n, err := buf.Write([]byte("test"))
8-
if err != ErrTestErrorAccumulatorWriteFailed {
12+
if !errors.Is(err, ErrTestErrorAccumulatorWriteFailed) {
913
t.Fatalf("expected %v, got %v", ErrTestErrorAccumulatorWriteFailed, err)
1014
}
1115
if n != 0 {

internal/test/helpers_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package test
1+
package test_test
22

33
import (
44
"io"
@@ -7,12 +7,14 @@ import (
77
"os"
88
"path/filepath"
99
"testing"
10+
11+
internaltest "github.com/sashabaranov/go-openai/internal/test"
1012
)
1113

1214
func TestCreateTestFile(t *testing.T) {
1315
dir := t.TempDir()
1416
path := filepath.Join(dir, "file.txt")
15-
CreateTestFile(t, path)
17+
internaltest.CreateTestFile(t, path)
1618
data, err := os.ReadFile(path)
1719
if err != nil {
1820
t.Fatalf("failed to read created file: %v", err)
@@ -24,15 +26,15 @@ func TestCreateTestFile(t *testing.T) {
2426

2527
func TestTokenRoundTripperAddsHeader(t *testing.T) {
2628
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
27-
if r.Header.Get("Authorization") != "Bearer "+GetTestToken() {
29+
if r.Header.Get("Authorization") != "Bearer "+internaltest.GetTestToken() {
2830
t.Fatalf("authorization header not set")
2931
}
3032
w.WriteHeader(http.StatusOK)
3133
}))
3234
defer srv.Close()
3335

3436
client := srv.Client()
35-
client.Transport = &TokenRoundTripper{Token: GetTestToken(), Fallback: client.Transport}
37+
client.Transport = &internaltest.TokenRoundTripper{Token: internaltest.GetTestToken(), Fallback: client.Transport}
3638

3739
req, err := http.NewRequest(http.MethodGet, srv.URL, nil)
3840
if err != nil {
@@ -42,7 +44,9 @@ func TestTokenRoundTripperAddsHeader(t *testing.T) {
4244
if err != nil {
4345
t.Fatalf("client request error: %v", err)
4446
}
45-
io.Copy(io.Discard, resp.Body)
47+
if _, err = io.Copy(io.Discard, resp.Body); err != nil {
48+
t.Fatalf("read body: %v", err)
49+
}
4650
resp.Body.Close()
4751
if resp.StatusCode != http.StatusOK {
4852
t.Fatalf("unexpected status: %d", resp.StatusCode)

internal/test/server.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@ func NewTestServer() *ServerTest {
2323
return &ServerTest{handlers: make(map[string]handler)}
2424
}
2525

26+
// HandlerCount returns the number of registered handlers.
27+
func (ts *ServerTest) HandlerCount() int {
28+
return len(ts.handlers)
29+
}
30+
31+
// HasHandler checks if a handler was registered for the given path.
32+
func (ts *ServerTest) HasHandler(path string) bool {
33+
path = strings.ReplaceAll(path, "*", ".*")
34+
_, ok := ts.handlers[path]
35+
return ok
36+
}
37+
2638
func (ts *ServerTest) RegisterHandler(path string, handler handler) {
2739
// to make the registered paths friendlier to a regex match in the route handler
2840
// in OpenAITestServer

internal/test/server_test.go

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,60 @@
1-
package test
1+
package test_test
22

33
import (
44
"io"
55
"net/http"
66
"testing"
7+
8+
internaltest "github.com/sashabaranov/go-openai/internal/test"
79
)
810

911
func TestGetTestToken(t *testing.T) {
10-
if GetTestToken() != testAPI {
12+
if internaltest.GetTestToken() != "this-is-my-secure-token-do-not-steal!!" {
1113
t.Fatalf("unexpected token")
1214
}
1315
}
1416

1517
func TestNewTestServer(t *testing.T) {
16-
ts := NewTestServer()
17-
if ts == nil || ts.handlers == nil {
18+
ts := internaltest.NewTestServer()
19+
if ts == nil {
1820
t.Fatalf("server not properly initialized")
1921
}
20-
if len(ts.handlers) != 0 {
22+
if ts.HandlerCount() != 0 {
2123
t.Fatalf("expected no handlers initially")
2224
}
2325
}
2426

2527
func TestRegisterHandlerTransformsPath(t *testing.T) {
26-
ts := NewTestServer()
27-
h := func(w http.ResponseWriter, r *http.Request) {}
28+
ts := internaltest.NewTestServer()
29+
h := func(_ http.ResponseWriter, _ *http.Request) {}
2830
ts.RegisterHandler("/foo/*", h)
29-
if ts.handlers["/foo/.*"] == nil {
31+
if !ts.HasHandler("/foo/*") {
3032
t.Fatalf("handler not registered with transformed path")
3133
}
3234
}
3335

3436
func TestOpenAITestServer(t *testing.T) {
35-
ts := NewTestServer()
36-
ts.RegisterHandler("/v1/test/*", func(w http.ResponseWriter, r *http.Request) {
37-
io.WriteString(w, "ok")
37+
ts := internaltest.NewTestServer()
38+
ts.RegisterHandler("/v1/test/*", func(w http.ResponseWriter, _ *http.Request) {
39+
if _, err := io.WriteString(w, "ok"); err != nil {
40+
t.Fatalf("write: %v", err)
41+
}
3842
})
3943
srv := ts.OpenAITestServer()
4044
srv.Start()
4145
defer srv.Close()
4246

4347
base := srv.Client().Transport
44-
client := &http.Client{Transport: &TokenRoundTripper{Token: GetTestToken(), Fallback: base}}
48+
client := &http.Client{Transport: &internaltest.TokenRoundTripper{Token: internaltest.GetTestToken(), Fallback: base}}
4549
resp, err := client.Get(srv.URL + "/v1/test/123")
4650
if err != nil {
4751
t.Fatalf("request error: %v", err)
4852
}
49-
body, _ := io.ReadAll(resp.Body)
53+
body, err := io.ReadAll(resp.Body)
5054
resp.Body.Close()
55+
if err != nil {
56+
t.Fatalf("read response body: %v", err)
57+
}
5158
if resp.StatusCode != http.StatusOK || string(body) != "ok" {
5259
t.Fatalf("unexpected response: %d %q", resp.StatusCode, string(body))
5360
}

0 commit comments

Comments
 (0)