Skip to content

Commit 148616e

Browse files
cvclaude
andcommitted
refactor: Apply additional testify assertion transformations
- Convert 68 more old-style assertions to testify - Fix assert.FileExists → assert.DirExists for directory checks - Fix syntax errors from ast-grep transformation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 62b4c8f commit 148616e

20 files changed

+147
-204
lines changed

.beads/issues.jsonl

Lines changed: 25 additions & 10 deletions
Large diffs are not rendered by default.

internal/api/client_integration_test.go

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,7 @@ func TestAPIRequest_MaxRetries(t *testing.T) {
131131
_, err = client.APIRequest(context.Background(), "POST", "test/endpoint", nil, map[string]interface{}{"test": "data"}, true, false)
132132
require.Error(t, err, "Expected error due to max retries, got nil")
133133

134-
if err.Error() != "Request exceeded max number of retries" {
135-
t.Errorf("Expected max retries error, got: %v", err)
136-
}
134+
assert.EqualError(t, err, "Request exceeded max number of retries")
137135
}
138136

139137
// TestAPIRequest_EngineStartLimitError tests the engine start limit error
@@ -162,9 +160,7 @@ func TestAPIRequest_EngineStartLimitError(t *testing.T) {
162160
_, err = client.APIRequest(context.Background(), "POST", "test/endpoint", nil, map[string]interface{}{"test": "data"}, true, false)
163161
require.Error(t, err, "Expected engine start limit error, got nil")
164162

165-
if _, ok := err.(*EngineStartLimitError); !ok {
166-
t.Errorf("Expected EngineStartLimitError, got %T", err)
167-
}
163+
assert.IsType(t, (*EngineStartLimitError)(nil), err)
168164
}
169165

170166
// TestAPIRequest_WithQueryParams tests GET request with query parameters
@@ -226,9 +222,7 @@ func TestEncryptPayloadUsingKey_MissingKey(t *testing.T) {
226222
_, err = client.encryptPayloadUsingKey("test data")
227223
require.Error(t, err, "Expected error when encryption key is missing, got nil")
228224

229-
if _, ok := err.(*APIError); !ok {
230-
t.Errorf("Expected APIError, got %T", err)
231-
}
225+
assert.IsType(t, (*APIError)(nil), err)
232226
}
233227

234228
// TestDecryptPayloadUsingKey_MissingKey tests error when decryption key is missing
@@ -240,9 +234,7 @@ func TestDecryptPayloadUsingKey_MissingKey(t *testing.T) {
240234
_, err = client.decryptPayloadUsingKey("test data")
241235
require.Error(t, err, "Expected error when decryption key is missing, got nil")
242236

243-
if _, ok := err.(*APIError); !ok {
244-
t.Errorf("Expected APIError, got %T", err)
245-
}
237+
assert.IsType(t, (*APIError)(nil), err)
246238
}
247239

248240
// TestAPIRequest_TokenExpiredRetry tests that expired token triggers re-authentication
@@ -371,9 +363,7 @@ func TestAPIRequest_RequestInProgressRetry(t *testing.T) {
371363
_, err = client.APIRequest(context.Background(), "POST", "test/endpoint", nil, map[string]interface{}{"test": "data"}, false, false)
372364
require.Error(t, err, "Expected RequestInProgressError, got nil")
373365

374-
if _, ok := err.(*RequestInProgressError); !ok {
375-
t.Errorf("Expected RequestInProgressError, got %T: %v", err, err)
376-
}
366+
assert.IsType(t, (*RequestInProgressError)(nil), err)
377367
}
378368

379369
// TestAPIRequestJSON_FullFlow tests the JSON request flow (returns raw bytes instead of parsed map)

internal/api/client_test.go

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ func TestAPIRequest_RequestInProgress(t *testing.T) {
147147
require.Error(t, err, "Expected error, got nil")
148148

149149
// Verify it's a RequestInProgressError
150-
if _, ok := err.(*RequestInProgressError); !ok {
151-
t.Errorf("Expected RequestInProgressError, got %T: %v", err, err)
152-
}
150+
assert.IsType(t, (*RequestInProgressError)(nil), err)
153151
}
154152

155153
// TestEncryptPayloadUsingKey tests payload encryption
@@ -372,9 +370,9 @@ func TestSleepWithContext_Completes(t *testing.T) {
372370
assert.EqualValuesf(t, nil, err, "sleepWithContext returned error: %v", err)
373371

374372
// Allow 50ms tolerance
375-
if elapsed < duration || elapsed > duration+50*time.Millisecond {
376-
t.Errorf("sleepWithContext took %v, expected around %v", elapsed, duration)
377-
}
373+
assert.GreaterOrEqual(t, elapsed, duration)
374+
assert.LessOrEqual(t, elapsed, duration+50*time.Millisecond)
375+
378376
}
379377

380378
// TestSleepWithContext_Cancelled tests that sleep returns early on context cancellation
@@ -397,9 +395,7 @@ func TestSleepWithContext_Cancelled(t *testing.T) {
397395
assert.EqualValuesf(t, context.Canceled, err, "sleepWithContext returned %v, want context.Canceled", err)
398396

399397
// Should return much earlier than 5 seconds
400-
if elapsed > 1*time.Second {
401-
t.Errorf("sleepWithContext took %v, should have returned early", elapsed)
402-
}
398+
assert.LessOrEqual(t, elapsed, 1*time.Second)
403399
}
404400

405401
// TestSleepWithContext_ZeroDuration tests that zero duration returns immediately
@@ -412,9 +408,7 @@ func TestSleepWithContext_ZeroDuration(t *testing.T) {
412408

413409
assert.EqualValuesf(t, nil, err, "sleepWithContext returned error: %v", err)
414410

415-
if elapsed > 10*time.Millisecond {
416-
t.Errorf("sleepWithContext with 0 duration took %v, should be immediate", elapsed)
417-
}
411+
assert.LessOrEqual(t, elapsed, 10*time.Millisecond)
418412
}
419413

420414
// TestAPIRequest_RetryWithContextCancellation tests that context cancellation during backoff returns immediately
@@ -489,13 +483,9 @@ func TestAPIRequest_RetryWithContextCancellation(t *testing.T) {
489483
// Should return quickly after cancellation (within 1 second total)
490484
// First retry is after 1 second, so if cancelled at 500ms during first backoff,
491485
// it should return before the 1 second completes
492-
if elapsed > 1500*time.Millisecond {
493-
t.Errorf("Request took %v, should have returned quickly after context cancellation", elapsed)
494-
}
486+
assert.LessOrEqual(t, elapsed, 1500*time.Millisecond)
495487

496488
// Should have made 1 initial call, Login will fail but that's expected
497489
// The key point is we don't wait through all the retries
498-
if callCount > 2 {
499-
t.Errorf("Expected at most 2 calls, got %d", callCount)
500-
}
490+
assert.LessOrEqual(t, callCount, 2)
501491
}

internal/api/control_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,7 @@ func TestControlEndpoints(t *testing.T) {
8282
client := createTestClient(t, server.URL)
8383

8484
err := tt.method(context.Background(), client, "INTERNAL123")
85-
if err != nil {
86-
t.Fatalf("%s failed: %v", tt.name, err)
87-
}
85+
require.NoErrorf(t, err, "%s failed: %v", tt.name, err)
8886
})
8987
}
9088
}
@@ -136,8 +134,6 @@ func TestBoolToInt(t *testing.T) {
136134
}
137135

138136
for _, tt := range tests {
139-
if got := boolToInt(tt.input); got != tt.want {
140-
t.Errorf("boolToInt(%v) = %d, want %d", tt.input, got, tt.want)
141-
}
137+
assert.Equal(t, tt.want, boolToInt(tt.input))
142138
}
143139
}

internal/api/crypto_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,7 @@ func TestDecryptAES128CBC(t *testing.T) {
6363
decrypted, err := DecryptAES128CBC(encrypted, key, iv)
6464
require.NoError(t, err, "DecryptAES128CBC() error = %v")
6565

66-
if string(decrypted) != string(original) {
67-
t.Errorf("DecryptAES128CBC() = %s, want %s", decrypted, original)
68-
}
66+
assert.Equal(t, string(original), string(decrypted))
6967
}
7068

7169
func TestGenerateUUIDFromSeed(t *testing.T) {
@@ -147,9 +145,10 @@ func TestEncryptRSA(t *testing.T) {
147145
require.NoError(t, err, "EncryptRSA() error = %v, wantErr %v")
148146
}
149147

150-
if !tt.wantErr && len(encrypted) == 0 {
151-
t.Errorf("EncryptRSA() returned empty result")
148+
if !tt.wantErr {
149+
assert.NotEmpty(t, encrypted)
152150
}
151+
153152
})
154153
}
155154
}

internal/api/errors_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ func TestCheckResultCode(t *testing.T) {
5454
require.NoError(t, err, "checkResultCode() error = %v, wantErr %v")
5555
}
5656

57-
if tt.wantErr && err.Error() != tt.errMessage {
58-
t.Errorf("checkResultCode() error message = %v, want %v", err.Error(), tt.errMessage)
57+
if tt.wantErr {
58+
assert.EqualError(t, err, tt.errMessage)
5959
}
60+
6061
})
6162
}
6263
}

internal/api/maphelpers_test.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,9 +268,10 @@ func TestGetMap(t *testing.T) {
268268
t.Run(tt.name, func(t *testing.T) {
269269
gotValue, gotOk := getMap(tt.input, tt.key)
270270
assert.EqualValuesf(t, tt.wantOk, gotOk, "getMap() ok = %v, want %v")
271-
if tt.wantOk && gotValue == nil {
272-
t.Errorf("getMap() returned nil when ok=true")
271+
if tt.wantOk {
272+
assert.NotNil(t, gotValue)
273273
}
274+
274275
})
275276
}
276277
}
@@ -314,9 +315,10 @@ func TestGetSlice(t *testing.T) {
314315
t.Run(tt.name, func(t *testing.T) {
315316
gotValue, gotOk := getSlice(tt.input, tt.key)
316317
assert.EqualValuesf(t, tt.wantOk, gotOk, "getSlice() ok = %v, want %v")
317-
if tt.wantOk && gotValue == nil {
318-
t.Errorf("getSlice() returned nil when ok=true")
318+
if tt.wantOk {
319+
assert.NotNil(t, gotValue)
319320
}
321+
320322
})
321323
}
322324
}
@@ -442,9 +444,10 @@ func TestGetMapFromSlice(t *testing.T) {
442444
t.Run(tt.name, func(t *testing.T) {
443445
gotValue, gotOk := getMapFromSlice(tt.slice, tt.index)
444446
assert.EqualValuesf(t, tt.wantOk, gotOk, "getMapFromSlice() ok = %v, want %v")
445-
if tt.wantOk && gotValue == nil {
446-
t.Errorf("getMapFromSlice() returned nil when ok=true")
447+
if tt.wantOk {
448+
assert.NotNil(t, gotValue)
447449
}
450+
448451
})
449452
}
450453
}

internal/api/test_helpers_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ func createTestServer(t *testing.T, responseData map[string]interface{}, options
7373

7474
return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
7575
// Validate path if specified
76-
if opts.expectedPath != "" && r.URL.Path != opts.expectedPath {
77-
t.Errorf("Expected path %s, got %s", opts.expectedPath, r.URL.Path)
76+
if opts.expectedPath != "" {
77+
assert.Equal(t, opts.expectedPath, r.URL.Path)
7878
}
7979

8080
// Validate method if specified
81-
if opts.expectedMethod != "" && r.Method != opts.expectedMethod {
82-
t.Errorf("Expected method %s, got %s", opts.expectedMethod, r.Method)
81+
if opts.expectedMethod != "" {
82+
assert.Equal(t, opts.expectedMethod, r.Method)
8383
}
8484

8585
// Validate body if requested

internal/api/undisplayed_fields_test.go

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -397,35 +397,38 @@ func TestVehicleStatusWithVariedValues(t *testing.T) {
397397
require.False(t, !ok || len(alertInfos) == 0, "alertInfos not found in response")
398398
door, ok := getMap(alertInfos[0], "Door")
399399
require.True(t, ok, "Door not found")
400-
if hoodStatus, ok := getFloat64(door, "DrStatHood"); !ok || hoodStatus != 1 {
401-
t.Error("Expected hood open (1)")
402-
}
403-
if fuelLid, ok := getFloat64(door, "FuelLidOpenStatus"); !ok || fuelLid != 1 {
404-
t.Error("Expected fuel lid open (1)")
405-
}
400+
hoodStatus, ok := getFloat64(door, "DrStatHood")
401+
require.True(t, ok)
402+
assert.EqualValues(t, 1, hoodStatus)
403+
404+
fuelLid, ok := getFloat64(door, "FuelLidOpenStatus")
405+
require.True(t, ok)
406+
assert.EqualValues(t, 1, fuelLid)
406407

407408
pw, ok := getMap(alertInfos[0], "Pw")
408409
require.True(t, ok, "Pw not found")
409-
if drvWindow, ok := getFloat64(pw, "PwPosDrv"); !ok || drvWindow != 50 {
410-
t.Error("Expected driver window at 50")
411-
}
412-
if psWindow, ok := getFloat64(pw, "PwPosPsngr"); !ok || psWindow != 100 {
413-
t.Error("Expected passenger window at 100")
414-
}
410+
drvWindow, ok := getFloat64(pw, "PwPosDrv")
411+
require.True(t, ok)
412+
assert.EqualValues(t, 50, drvWindow)
413+
414+
psWindow, ok := getFloat64(pw, "PwPosPsngr")
415+
require.True(t, ok)
416+
assert.EqualValues(t, 100, psWindow)
415417

416418
hazard, ok := getMap(alertInfos[0], "HazardLamp")
417419
require.True(t, ok, "HazardLamp not found")
418-
if hazardSw, ok := getFloat64(hazard, "HazardSw"); !ok || hazardSw != 1 {
419-
t.Error("Expected hazard lights on (1)")
420-
}
420+
hazardSw, ok := getFloat64(hazard, "HazardSw")
421+
require.True(t, ok)
422+
assert.EqualValues(t, 1, hazardSw)
421423

422424
remoteInfos, ok := getMapSlice(responseData, "remoteInfos")
423425
require.False(t, !ok || len(remoteInfos) == 0, "remoteInfos not found in response")
424426
driveInfo, ok := getMap(remoteInfos[0], "DriveInformation")
425427
require.True(t, ok, "DriveInformation not found")
426-
if odometer, ok := getFloat64(driveInfo, "OdoDispValue"); !ok || odometer != 99999.9 {
427-
t.Error("Expected odometer at 99999.9")
428-
}
428+
odometer, ok := getFloat64(driveInfo, "OdoDispValue")
429+
require.True(t, ok)
430+
assert.EqualValues(t, 99999.9, odometer)
431+
429432
}
430433

431434
// TestEVVehicleStatusWithVariedValues tests EV fields with different values
@@ -481,19 +484,22 @@ func TestEVVehicleStatusWithVariedValues(t *testing.T) {
481484
require.True(t, ok, "VehicleInfo not found in response")
482485
chargeInfo, ok := getMap(vehicleInfo, "ChargeInfo")
483486
require.True(t, ok, "ChargeInfo not found in response")
484-
if acChargeTime, ok := getFloat64(chargeInfo, "MaxChargeMinuteAC"); !ok || acChargeTime != 240 {
485-
t.Error("Expected AC charge time 240 minutes")
486-
}
487-
if batHeaterOn, ok := getFloat64(chargeInfo, "BatteryHeaterON"); !ok || batHeaterOn != 1 {
488-
t.Error("Expected battery heater on (1)")
489-
}
487+
acChargeTime, ok := getFloat64(chargeInfo, "MaxChargeMinuteAC")
488+
require.True(t, ok)
489+
assert.EqualValues(t, 240, acChargeTime)
490+
491+
batHeaterOn, ok := getFloat64(chargeInfo, "BatteryHeaterON")
492+
require.True(t, ok)
493+
assert.EqualValues(t, 1, batHeaterOn)
490494

491495
hvacInfo, ok := getMap(vehicleInfo, "RemoteHvacInfo")
492496
require.True(t, ok, "RemoteHvacInfo not found in response")
493-
if interiorTemp, ok := getFloat64(hvacInfo, "InteriorTemp"); !ok || interiorTemp != 18 {
494-
t.Error("Expected interior temp 18")
495-
}
496-
if targetTemp, ok := getFloat64(hvacInfo, "TargetTemp"); !ok || targetTemp != 24 {
497-
t.Error("Expected target temp 24")
498-
}
497+
interiorTemp, ok := getFloat64(hvacInfo, "InteriorTemp")
498+
require.True(t, ok)
499+
assert.EqualValues(t, 18, interiorTemp)
500+
501+
targetTemp, ok := getFloat64(hvacInfo, "TargetTemp")
502+
require.True(t, ok)
503+
assert.EqualValues(t, 24, targetTemp)
504+
499505
}

internal/cache/cache_test.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,7 @@ func TestCachePersistence_ConcurrentAccess(t *testing.T) {
226226
for i := 0; i < 3; i++ {
227227
go func(id int) {
228228
cache, err := Load()
229-
if err != nil {
230-
t.Errorf("Concurrent load %d failed: %v", id, err)
231-
}
229+
assert.NoErrorf(t, err, "Concurrent load %d failed: %v", id, err)
232230
assert.NotEqualf(t, nil, cache, "Concurrent load %d returned nil", id)
233231
done <- true
234232
}(i)
@@ -392,9 +390,7 @@ func TestCachePersistence_DirectoryCreation(t *testing.T) {
392390

393391
// Verify cache directory doesn't exist yet
394392
cachePath := filepath.Join(tmpDir, ".cache", "mcs")
395-
if _, err := os.Stat(cachePath); err == nil {
396-
t.Error("Cache directory should not exist yet")
397-
}
393+
assert.NoFileExists(t, cachePath)
398394

399395
// Save cache (should create directory)
400396
cache := &TokenCache{
@@ -408,9 +404,7 @@ func TestCachePersistence_DirectoryCreation(t *testing.T) {
408404
require.NoError(t, err, "Save() failed: %v")
409405

410406
// Verify directory was created
411-
if _, err := os.Stat(cachePath); err != nil {
412-
t.Errorf("Cache directory should have been created: %v", err)
413-
}
407+
assert.DirExists(t, cachePath)
414408
}
415409

416410
// TestCachePersistence_EmptyHomeDir tests behavior when HOME is not set

0 commit comments

Comments
 (0)