Commit f2472f1c authored by Oleksandr Redko's avatar Oleksandr Redko Committed by Timo Furrer
Browse files

refactor(no-release): enable usetesting linter

Changelog: Improvements
parent be93120d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ linters:
    - testifylint
    - unconvert
    - usestdlibvars
    - usetesting
    - whitespace
    - tparallel
    - paralleltest
@@ -86,6 +87,10 @@ linters:
      http-method: false
      http-status-code: false
      time-date-month: true
    usetesting:
      context-background: true
      context-todo: true
      os-temp-dir: true

  # List of regexps of issue texts to exclude.
  exclusions:
+1 −1
Original line number Diff line number Diff line
@@ -1298,7 +1298,7 @@ func TestAwardEmojiService_Timeout(t *testing.T) {
		fmt.Fprintf(w, `[]`)
	})

	ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
	ctx, cancel := context.WithTimeout(t.Context(), 1*time.Second)
	defer cancel()

	opt := &ListAwardEmojiOptions{
+7 −7
Original line number Diff line number Diff line
@@ -361,7 +361,7 @@ func TestRequestWithContext(t *testing.T) {
		t.Fatalf("Failed to create client: %v", err)
	}

	ctx, cancel := context.WithCancel(context.Background())
	ctx, cancel := context.WithCancel(t.Context())
	req, err := c.NewRequest(http.MethodGet, "test", nil, []RequestOptionFunc{WithContext(ctx)})
	if err != nil {
		t.Fatalf("Failed to create request: %v", err)
@@ -1270,7 +1270,7 @@ func TestClient_DefaultRetryPolicy_RetryOnIdempotentRequests_ByMethod(t *testing
			require.NoError(t, err)

			// WHEN
			retry, err := client.retryHTTPCheck(context.Background(), &http.Response{Request: &http.Request{Method: tt.method}}, errors.New("dummy"))
			retry, err := client.retryHTTPCheck(t.Context(), &http.Response{Request: &http.Request{Method: tt.method}}, errors.New("dummy"))

			// THEN
			assert.Equal(t, tt.expectedRetry, retry)
@@ -1293,7 +1293,7 @@ func TestClient_DefaultRetryPolicy_RetryOnZeroStatusCode(t *testing.T) {
	require.NoError(t, err)

	// WHEN
	retry, err := client.retryHTTPCheck(context.Background(), &http.Response{StatusCode: 0}, nil)
	retry, err := client.retryHTTPCheck(t.Context(), &http.Response{StatusCode: 0}, nil)

	// THEN
	assert.True(t, retry)
@@ -1380,7 +1380,7 @@ func TestClient_DefaultRetryPolicy_RetryOnNetworkErrors(t *testing.T) {
			}

			// WHEN
			retry, err := client.retryHTTPCheck(context.Background(), resp, tt.err)
			retry, err := client.retryHTTPCheck(t.Context(), resp, tt.err)

			// THEN
			assert.Equal(t, tt.expectedRetry, retry, "Expected retry=%v for error: %v", tt.expectedRetry, tt.err)
@@ -1401,7 +1401,7 @@ func TestClient_DefaultRetryPolicy_ContextCancellation(t *testing.T) {
		{
			name: "context canceled",
			ctx: func() context.Context {
				ctx, cancel := context.WithCancel(context.Background())
				ctx, cancel := context.WithCancel(t.Context())
				cancel()
				return ctx
			},
@@ -1409,7 +1409,7 @@ func TestClient_DefaultRetryPolicy_ContextCancellation(t *testing.T) {
		{
			name: "context deadline exceeded",
			ctx: func() context.Context {
				ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(-time.Hour))
				ctx, cancel := context.WithDeadline(t.Context(), time.Now().Add(-time.Hour))
				defer cancel()
				return ctx
			},
@@ -1447,7 +1447,7 @@ func TestClient_DefaultRetryPolicy_RetriesDisabled(t *testing.T) {
	client.disableRetries = true

	// WHEN
	retry, err := client.retryHTTPCheck(context.Background(), nil, errors.New("some error"))
	retry, err := client.retryHTTPCheck(t.Context(), nil, errors.New("some error"))

	// THEN
	assert.False(t, retry)
+3 −3
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ func CreateTestProject(t *testing.T, client *gitlab.Client) *gitlab.Project {
func CreateTestProjectWithOptions(t *testing.T, client *gitlab.Client, opts *gitlab.CreateProjectOptions) *gitlab.Project {
	t.Helper()

	project, _, err := client.Projects.CreateProject(opts, gitlab.WithContext(context.Background()))
	project, _, err := client.Projects.CreateProject(opts, gitlab.WithContext(t.Context()))
	if err != nil {
		t.Fatalf("Failed to create project: %v", err)
	}
@@ -231,7 +231,7 @@ func CreateTestGroup(t *testing.T, client *gitlab.Client) *gitlab.Group {
func CreateTestGroupWithOptions(t *testing.T, client *gitlab.Client, opts *gitlab.CreateGroupOptions) *gitlab.Group {
	t.Helper()

	group, _, err := client.Groups.CreateGroup(opts, gitlab.WithContext(context.Background()))
	group, _, err := client.Groups.CreateGroup(opts, gitlab.WithContext(t.Context()))
	if err != nil {
		t.Fatalf("Failed to create group: %v", err)
	}
@@ -262,7 +262,7 @@ func CreateTestEpic(t *testing.T, client *gitlab.Client, gid any) (*gitlab.Epic,
func CreateTestEpicWithOptions(t *testing.T, client *gitlab.Client, gid any, opts *gitlab.CreateEpicOptions) (*gitlab.Epic, error) {
	t.Helper()

	epic, _, err := client.Epics.CreateEpic(gid, opts, gitlab.WithContext(context.Background()))
	epic, _, err := client.Epics.CreateEpic(gid, opts, gitlab.WithContext(t.Context()))
	if err != nil {
		return nil, fmt.Errorf("failed to create epic: %w", err)
	}
+16 −16
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ func TestCallbackServer_GetToken(t *testing.T) { //nolint:paralleltest

		server := NewCallbackServer(config, ":9999", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
		ctx, cancel := context.WithTimeout(t.Context(), 5*time.Second)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -169,7 +169,7 @@ func TestCallbackServer_GetToken(t *testing.T) { //nolint:paralleltest

		server := NewCallbackServer(config, ":9999", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond)
		ctx, cancel := context.WithTimeout(t.Context(), 100*time.Millisecond)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -192,7 +192,7 @@ func TestCallbackServer_GetToken(t *testing.T) { //nolint:paralleltest

		server := NewCallbackServer(config, ":9999", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
		ctx, cancel := context.WithTimeout(t.Context(), 1*time.Second)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -211,7 +211,7 @@ func TestCallbackServer_GetToken(t *testing.T) { //nolint:paralleltest
		browserFunc := func(url string) error { return nil }
		server := NewCallbackServer(config, ":9999", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
		ctx, cancel := context.WithTimeout(t.Context(), 1*time.Second)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -232,7 +232,7 @@ func TestCallbackServer_GetToken(t *testing.T) { //nolint:paralleltest
		// Try to bind to an invalid address
		server := NewCallbackServer(config, "invalid-address", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
		ctx, cancel := context.WithTimeout(t.Context(), 1*time.Second)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -276,7 +276,7 @@ func TestCallbackServer_CallbackHandler(t *testing.T) { //nolint:paralleltest
		expectedState := "test-state"
		verifier := "test-verifier"

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, expectedState, verifier)
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, expectedState, verifier)

		// Create test request
		req := httptest.NewRequest("GET", "/auth/redirect?code=test-code&state=test-state", nil)
@@ -315,7 +315,7 @@ func TestCallbackServer_CallbackHandler(t *testing.T) { //nolint:paralleltest
		expectedState := "expected-state"
		verifier := "test-verifier"

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, expectedState, verifier)
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, expectedState, verifier)

		// Create test request with wrong state
		req := httptest.NewRequest("GET", "/auth/redirect?code=test-code&state=wrong-state", nil)
@@ -353,7 +353,7 @@ func TestCallbackServer_CallbackHandler(t *testing.T) { //nolint:paralleltest
		expectedState := "test-state"
		verifier := "test-verifier"

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, expectedState, verifier)
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, expectedState, verifier)

		// Create test request without code
		req := httptest.NewRequest("GET", "/auth/redirect?state=test-state", nil)
@@ -391,7 +391,7 @@ func TestCallbackServer_CallbackHandler(t *testing.T) { //nolint:paralleltest
		expectedState := "test-state"
		verifier := "test-verifier"

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, expectedState, verifier)
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, expectedState, verifier)

		// Create test request with OAuth error
		req := httptest.NewRequest("GET", "/auth/redirect?error=access_denied&state=test-state", nil)
@@ -441,7 +441,7 @@ func TestCallbackServer_CallbackHandler(t *testing.T) { //nolint:paralleltest
		expectedState := "test-state"
		verifier := "test-verifier"

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, expectedState, verifier)
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, expectedState, verifier)

		// Create test request
		req := httptest.NewRequest("GET", "/auth/redirect?code=test-code&state=test-state", nil)
@@ -513,7 +513,7 @@ func TestCallbackServer_EdgeCases(t *testing.T) { //nolint:paralleltest
		tokenChan := make(chan *oauth2.Token, 1)
		errorChan := make(chan error, 1)

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, "test-state", "test-verifier")
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, "test-state", "test-verifier")

		// Test with malformed query parameters
		req := httptest.NewRequest("GET", "/auth/redirect?code=test-code&state=test-state&malformed=%", nil)
@@ -536,7 +536,7 @@ func TestCallbackServer_EdgeCases(t *testing.T) { //nolint:paralleltest
		tokenChan := make(chan *oauth2.Token, 1)
		errorChan := make(chan error, 1)

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, "test-state", "test-verifier")
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, "test-state", "test-verifier")

		// Test with empty query parameters
		req := httptest.NewRequest("GET", "/auth/redirect?code=&state=", nil)
@@ -569,7 +569,7 @@ func TestCallbackServer_EdgeCases(t *testing.T) { //nolint:paralleltest

		server := NewCallbackServer(config, ":9999", browserFunc)

		ctx, cancel := context.WithCancel(context.Background())
		ctx, cancel := context.WithCancel(t.Context())

		// Cancel the context immediately
		cancel()
@@ -594,7 +594,7 @@ func TestCallbackServer_ErrorHandling(t *testing.T) { //nolint:paralleltest
		// Use an address that's likely to fail
		server := NewCallbackServer(config, "256.256.256.256:80", browserFunc)

		ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
		ctx, cancel := context.WithTimeout(t.Context(), 1*time.Second)
		defer cancel()

		token, err := server.GetToken(ctx)
@@ -614,7 +614,7 @@ func TestCallbackServer_ErrorHandling(t *testing.T) { //nolint:paralleltest
		tokenChan := make(chan *oauth2.Token, 1)
		errorChan := make(chan error, 1)

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, "expected-state", "test-verifier")
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, "expected-state", "test-verifier")

		// Create test request without state parameter
		req := httptest.NewRequest("GET", "/auth/redirect?code=test-code", nil)
@@ -647,7 +647,7 @@ func TestCallbackServer_ErrorHandling(t *testing.T) { //nolint:paralleltest
		tokenChan := make(chan *oauth2.Token, 1)
		errorChan := make(chan error, 1)

		handler := server.callbackHandler(context.Background(), tokenChan, errorChan, "test-state", "test-verifier")
		handler := server.callbackHandler(t.Context(), tokenChan, errorChan, "test-state", "test-verifier")

		// Create test request with multiple error scenarios
		req := httptest.NewRequest("GET", "/auth/redirect?error=access_denied&error_description=User+denied+access&state=test-state", nil)
Loading