Skip to content

Commit b27bb81

Browse files
committed
refactor: update linting workflow and improve error handling in tests
1 parent e72abc6 commit b27bb81

10 files changed

Lines changed: 52 additions & 29 deletions

File tree

.github/workflows/golangci-lint.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ name: Lint
22

33
on:
44
push:
5-
branches: [ main, master ]
5+
branches: [ main ]
66
pull_request:
77

88
jobs:
99
golangci:
1010
name: golangci-lint
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v3
14-
- uses: actions/setup-go@v4
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-go@v5
1515
with:
1616
go-version: '1.24'
1717
- name: golangci-lint
18-
uses: golangci/golangci-lint-action@v3
18+
uses: golangci/golangci-lint-action@v6
1919
with:
20-
version: latest
21-
args: --out-format=colored-line-number
20+
version: latest

calling/audiobridge.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,9 @@ func (ab *AudioBridge) HandleSignaling(transport SignalingTransport) error {
251251
Candidate: candidateJSON,
252252
}
253253
msgBytes, _ := json.Marshal(msg)
254-
transport.WriteMessage(msgBytes)
254+
if err := transport.WriteMessage(msgBytes); err != nil {
255+
log.Printf("AudioBridge: failed to send ICE candidate: %v", err)
256+
}
255257
})
256258

257259
pc := ab.pc

calling/callcontrol_test.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ func TestLine(t *testing.T) {
337337
}
338338

339339
// Cleanup
340-
line.Deregister()
340+
_ = line.Deregister()
341341
})
342342

343343
t.Run("Register failure falls back to backup", func(t *testing.T) {
@@ -369,7 +369,7 @@ func TestLine(t *testing.T) {
369369
t.Error("Expected line to be registered via backup")
370370
}
371371

372-
line.Deregister()
372+
_ = line.Deregister()
373373
})
374374

375375
t.Run("Register all servers fail", func(t *testing.T) {
@@ -412,7 +412,9 @@ func TestLine(t *testing.T) {
412412
line := NewLine(core, nil, &LineConfig{
413413
PrimaryMobiusURLs: []string{server.URL + "/"},
414414
})
415-
line.Register()
415+
if err := line.Register(); err != nil {
416+
t.Fatalf("Register failed: %v", err)
417+
}
416418

417419
if err := line.Deregister(); err != nil {
418420
t.Fatalf("Unexpected error: %v", err)
@@ -443,14 +445,16 @@ func TestLine(t *testing.T) {
443445
line := NewLine(core, nil, &LineConfig{
444446
PrimaryMobiusURLs: []string{server.URL + "/"},
445447
})
446-
line.Register()
448+
if err := line.Register(); err != nil {
449+
t.Fatalf("Register failed: %v", err)
450+
}
447451

448452
// Second register should be no-op
449453
if err := line.Register(); err != nil {
450454
t.Fatalf("Unexpected error on second register: %v", err)
451455
}
452456

453-
line.Deregister()
457+
_ = line.Deregister()
454458
})
455459

456460
t.Run("GetDeviceInfo", func(t *testing.T) {
@@ -467,8 +471,10 @@ func TestLine(t *testing.T) {
467471
line := NewLine(core, nil, &LineConfig{
468472
PrimaryMobiusURLs: []string{server.URL + "/"},
469473
})
470-
line.Register()
471-
defer line.Deregister()
474+
if err := line.Register(); err != nil {
475+
t.Fatalf("Register failed: %v", err)
476+
}
477+
defer func() { _ = line.Deregister() }()
472478

473479
info := line.GetDeviceInfo()
474480
if info == nil {
@@ -842,7 +848,7 @@ func TestCallingClient(t *testing.T) {
842848
t.Errorf("Expected 1 line, got %d", len(lines))
843849
}
844850

845-
cc.Shutdown()
851+
_ = cc.Shutdown()
846852
})
847853

848854
t.Run("MakeCall with nil line", func(t *testing.T) {
@@ -942,7 +948,7 @@ func TestCallingClient(t *testing.T) {
942948
t.Errorf("Expected 1 active call, got %d", len(calls))
943949
}
944950

945-
cc.Shutdown()
951+
_ = cc.Shutdown()
946952
})
947953

948954
t.Run("Shutdown", func(t *testing.T) {

calling/calling_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,10 @@ func TestCallSettingsSetDND(t *testing.T) {
259259
t.Errorf("Expected PUT, got %s", r.Method)
260260
}
261261
var body ToggleSetting
262-
json.NewDecoder(r.Body).Decode(&body)
262+
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
263+
http.Error(w, "bad request", http.StatusBadRequest)
264+
return
265+
}
263266
if !body.Enabled {
264267
t.Error("Expected enabled=true")
265268
}
@@ -707,7 +710,10 @@ func TestContactsCreateContactGroup(t *testing.T) {
707710
DisplayName string `json:"displayName"`
708711
GroupType string `json:"groupType"`
709712
}
710-
json.NewDecoder(r.Body).Decode(&body)
713+
if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
714+
http.Error(w, "bad request", http.StatusBadRequest)
715+
return
716+
}
711717
if body.DisplayName != "My Group" {
712718
t.Errorf("Expected displayName 'My Group', got %q", body.DisplayName)
713719
}

calling/callingclient.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,9 @@ func (cc *CallingClient) DisconnectMercury() {
765765
cc.mu.Unlock()
766766

767767
if merc != nil {
768-
merc.Disconnect()
768+
if err := merc.Disconnect(); err != nil {
769+
log.Printf("CallingClient: Mercury disconnect error: %v", err)
770+
}
769771
log.Println("CallingClient: Mercury disconnected")
770772
}
771773
}

device/device_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func TestRegister(t *testing.T) {
8383
DeviceType: "TEAMS_SDK_JS",
8484
}
8585
w.WriteHeader(http.StatusOK)
86-
json.NewEncoder(w).Encode(resp)
86+
_ = json.NewEncoder(w).Encode(resp)
8787
}))
8888
defer server.Close()
8989

encryption/encryption_test.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,12 @@ func TestWrapUnwrapWithSharedSecret(t *testing.T) {
400400
func TestUnwrapWithWrongSecret(t *testing.T) {
401401
secret1 := make([]byte, 32)
402402
secret2 := make([]byte, 32)
403-
rand.Read(secret1)
404-
rand.Read(secret2)
403+
if _, err := rand.Read(secret1); err != nil {
404+
t.Fatal(err)
405+
}
406+
if _, err := rand.Read(secret2); err != nil {
407+
t.Fatal(err)
408+
}
405409

406410
wrapped, err := wrapWithSharedSecret([]byte("test data"), secret1, "")
407411
if err != nil {
@@ -778,7 +782,9 @@ func TestProcessKMSMessages(t *testing.T) {
778782

779783
// Create a shared secret and ECDH context
780784
sharedSecret := make([]byte, 32)
781-
rand.Read(sharedSecret)
785+
if _, err := rand.Read(sharedSecret); err != nil {
786+
t.Fatal(err)
787+
}
782788

783789
clientPriv, _ := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
784790
ecdhPriv, _ := clientPriv.ECDH()

messages/messages_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,7 @@ func TestCreate_RemoteFileAttachment(t *testing.T) {
775775

776776
w.Header().Set("Content-Type", "application/json")
777777
w.WriteHeader(http.StatusOK)
778-
json.NewEncoder(w).Encode(Message{
778+
_ = json.NewEncoder(w).Encode(Message{
779779
ID: "msg-1",
780780
RoomID: msg.RoomID,
781781
Text: msg.Text,

people/people_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,11 @@ func newTestPeopleServer(t *testing.T, people []Person) (*httptest.Server, *webe
279279
result = []Person{}
280280
}
281281
w.WriteHeader(http.StatusOK)
282-
json.NewEncoder(w).Encode(struct {
282+
if err := json.NewEncoder(w).Encode(struct {
283283
Items []Person `json:"items"`
284-
}{Items: result})
284+
}{Items: result}); err != nil {
285+
t.Logf("Failed to encode response: %v", err)
286+
}
285287
return
286288
}
287289

@@ -385,7 +387,7 @@ func TestBatchRequest_NotFound(t *testing.T) {
385387
func TestBatchRequest_ServerError(t *testing.T) {
386388
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
387389
w.WriteHeader(http.StatusInternalServerError)
388-
w.Write([]byte(`{"message":"internal error"}`))
390+
_, _ = w.Write([]byte(`{"message":"internal error"}`))
389391
}))
390392
defer server.Close()
391393

recordings/recordings_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ func TestDownloadAudio(t *testing.T) {
348348
w.Header().Set("Content-Type", "audio/mpeg")
349349
w.Header().Set("Content-Disposition", `attachment; filename="audio.mp3"`)
350350
w.WriteHeader(http.StatusOK)
351-
w.Write(audioContent)
351+
_, _ = w.Write(audioContent)
352352
} else {
353353
t.Errorf("Unexpected path: %s", r.URL.Path)
354354
w.WriteHeader(http.StatusNotFound)
@@ -396,7 +396,7 @@ func TestDownloadRecording(t *testing.T) {
396396
} else if r.URL.Path == "/download/video.mp4" {
397397
w.Header().Set("Content-Type", "video/mp4")
398398
w.WriteHeader(http.StatusOK)
399-
w.Write(videoContent)
399+
_, _ = w.Write(videoContent)
400400
} else {
401401
w.WriteHeader(http.StatusNotFound)
402402
}

0 commit comments

Comments
 (0)