Skip to content

Commit b15adde

Browse files
authored
chore: update golangci-lint and go version (#51)
* update go version from `1.22` to `1.23` * update golangci-lint from `v1.57.2` to `v1.62.0` * update files due to new linters * fix docker warning
1 parent c3b2c52 commit b15adde

13 files changed

+210
-220
lines changed

.golangci.yml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,7 @@ linters:
55
- exhaustruct
66
- gofumpt
77
# deprecated
8-
- deadcode
9-
- exhaustivestruct
10-
- golint
11-
- ifshort
12-
- interfacer
13-
- maligned
14-
- nosnakecase
15-
- scopelint
16-
- structcheck
17-
- varcheck
18-
- intrange
8+
- exportloopref
199

2010
issues:
2111
max-issues-per-linter: 0

configuration/configuration.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func eraseConfigurationValuesWithEnv(obj any) {
8181
val = reflect.ValueOf(obj)
8282
}
8383

84-
for idxNumField := 0; idxNumField < val.NumField(); idxNumField++ {
84+
for idxNumField := range val.NumField() {
8585
if val.Field(idxNumField).Kind() == reflect.Struct {
8686
eraseConfigurationValuesWithEnv(val.Field(idxNumField).Addr().Interface())
8787

@@ -119,7 +119,7 @@ func eraseConfigurationValuesWithEnv(obj any) {
119119

120120
val.Field(idxNumField).Set(reflect.MakeSlice(val.Field(idxNumField).Type(), len(stringEnvValues), len(stringEnvValues)))
121121

122-
for idxSlice := 0; idxSlice < len(stringEnvValues); idxSlice++ {
122+
for idxSlice := range stringEnvValues {
123123
val.Field(idxNumField).Index(idxSlice).SetString(stringEnvValues[idxSlice])
124124
}
125125
}

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: "3.8"
2-
31
services:
42
app:
53
image: discord-bot:local

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/blueprintue/discord-bot
22

3-
go 1.22
3+
go 1.23
44

55
require (
66
github.com/bwmarrin/discordgo v0.28.1

hack/lint.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ENV GOFLAGS="-buildvcs=false"
55
RUN apk add --no-cache gcc linux-headers musl-dev
66
WORKDIR /src
77

8-
FROM golangci/golangci-lint:v1.57.2-alpine AS golangci-lint
8+
FROM golangci/golangci-lint:v1.62.0-alpine AS golangci-lint
99
FROM base AS lint
1010
RUN --mount=type=bind,target=. \
1111
--mount=type=cache,target=/root/.cache \

hack/test.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ENV GOFLAGS="-buildvcs=false"
66
RUN apk add --no-cache gcc linux-headers musl-dev
77
WORKDIR /src
88

9-
FROM base as test
9+
FROM base AS test
1010
RUN --mount=type=bind,target=. \
1111
--mount=type=cache,target=/root/.cache \
1212
--mount=type=cache,target=/go/pkg/mod \

healthchecks/healthchecks_fail_test.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/blueprintue/discord-bot/healthchecks"
1313
"github.com/rs/zerolog"
1414
"github.com/rs/zerolog/log"
15+
"github.com/stretchr/testify/assert"
1516
"github.com/stretchr/testify/require"
1617
)
1718

@@ -23,15 +24,15 @@ func TestFail(t *testing.T) {
2324

2425
svr := httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) {
2526
if currentRequestIdx == 0 {
26-
require.Equal(t, "/00000000-0000-0000-0000-000000000000/start", req.RequestURI)
27+
assert.Equal(t, "/00000000-0000-0000-0000-000000000000/start", req.RequestURI)
2728
startedMessage, err := io.ReadAll(req.Body)
28-
require.NoError(t, err)
29-
require.Equal(t, "starts", string(startedMessage))
29+
assert.NoError(t, err)
30+
assert.Equal(t, "starts", string(startedMessage))
3031
} else {
31-
require.Equal(t, "/00000000-0000-0000-0000-000000000000/fail", req.RequestURI)
32+
assert.Equal(t, "/00000000-0000-0000-0000-000000000000/fail", req.RequestURI)
3233
failedMessage, err := io.ReadAll(req.Body)
33-
require.NoError(t, err)
34-
require.Equal(t, "stops", string(failedMessage))
34+
assert.NoError(t, err)
35+
assert.Equal(t, "stops", string(failedMessage))
3536
}
3637

3738
currentRequestIdx++
@@ -84,6 +85,6 @@ func TestFail_Errors(t *testing.T) {
8485
healthchecksManager.Fail()
8586

8687
parts := strings.Split(bufferLogs.String(), "\n")
87-
require.Equal(t, `{"level":"error","error":"HTTP error 500","message":"Could not send Fail HealthChecks client"}`, parts[0])
88+
require.JSONEq(t, `{"level":"error","error":"HTTP error 500","message":"Could not send Fail HealthChecks client"}`, parts[0])
8889
require.Equal(t, ``, parts[1])
8990
}

healthchecks/healthchecks_run_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/blueprintue/discord-bot/healthchecks"
1313
"github.com/rs/zerolog"
1414
"github.com/rs/zerolog/log"
15+
"github.com/stretchr/testify/assert"
1516
"github.com/stretchr/testify/require"
1617
)
1718

@@ -20,10 +21,10 @@ func TestRun(t *testing.T) {
2021
log.Logger = zerolog.New(&bufferLogs).Level(zerolog.TraceLevel).With().Logger()
2122

2223
svr := httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) {
23-
require.Equal(t, "/00000000-0000-0000-0000-000000000000/start", req.RequestURI)
24+
assert.Equal(t, "/00000000-0000-0000-0000-000000000000/start", req.RequestURI)
2425
startedMessage, err := io.ReadAll(req.Body)
25-
require.NoError(t, err)
26-
require.Equal(t, "starts", string(startedMessage))
26+
assert.NoError(t, err)
27+
assert.Equal(t, "starts", string(startedMessage))
2728

2829
res.WriteHeader(http.StatusOK)
2930
}))
@@ -69,6 +70,6 @@ func TestRun_Errors(t *testing.T) {
6970
require.Error(t, err)
7071

7172
parts := strings.Split(bufferLogs.String(), "\n")
72-
require.Equal(t, `{"level":"error","error":"HTTP error 500","message":"Could not send Start HealthChecks client"}`, parts[0])
73+
require.JSONEq(t, `{"level":"error","error":"HTTP error 500","message":"Could not send Start HealthChecks client"}`, parts[0])
7374
require.Equal(t, ``, parts[1])
7475
}

healthchecks/healthchecks_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func TestNewHealthchecksManager(t *testing.T) {
2525
require.NotNil(t, healthchecksManager)
2626

2727
parts := strings.Split(bufferLogs.String(), "\n")
28-
require.Equal(t, `{"level":"info","message":"Checking configuration for Healthchecks"}`, parts[0])
28+
require.JSONEq(t, `{"level":"info","message":"Checking configuration for Healthchecks"}`, parts[0])
2929
require.Equal(t, ``, parts[1])
3030

3131
bufferLogs.Reset()
@@ -36,10 +36,10 @@ func TestNewHealthchecksManager(t *testing.T) {
3636
require.NotNil(t, healthchecksManager)
3737

3838
parts = strings.Split(bufferLogs.String(), "\n")
39-
require.Equal(t, `{"level":"info","message":"Checking configuration for Healthchecks"}`, parts[0])
40-
require.Equal(t, `{"level":"info","message":"BaseURL is empty, use default URL https://hc-ping.com/"}`, parts[1])
41-
require.Equal(t, `{"level":"info","message":"StartedMessage is empty, use default \"discord-bot started\""}`, parts[2])
42-
require.Equal(t, `{"level":"info","message":"FailedMessage is empty, use default \"discord-bot stopped\""}`, parts[3])
39+
require.JSONEq(t, `{"level":"info","message":"Checking configuration for Healthchecks"}`, parts[0])
40+
require.JSONEq(t, `{"level":"info","message":"BaseURL is empty, use default URL https://hc-ping.com/"}`, parts[1])
41+
require.JSONEq(t, `{"level":"info","message":"StartedMessage is empty, use default \"discord-bot started\""}`, parts[2])
42+
require.JSONEq(t, `{"level":"info","message":"FailedMessage is empty, use default \"discord-bot stopped\""}`, parts[3])
4343
require.Equal(t, ``, parts[4])
4444
}
4545

welcome/welcome_handler_test.go

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
104104
welcomeManager.OnMessageReactionAdd(nil, nil)
105105

106106
parts := strings.Split(bufferLogs.String(), "\n")
107-
require.Equal(t, `{"level":"error","message":"OnMessageReactionAdd - SKIP - Reaction is nil"}`, parts[0])
107+
require.JSONEq(t, `{"level":"error","message":"OnMessageReactionAdd - SKIP - Reaction is nil"}`, parts[0])
108108
require.Equal(t, ``, parts[1])
109109
})
110110

@@ -114,7 +114,7 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
114114
welcomeManager.OnMessageReactionAdd(nil, &discordgo.MessageReactionAdd{MessageReaction: nil})
115115

116116
parts := strings.Split(bufferLogs.String(), "\n")
117-
require.Equal(t, `{"level":"error","message":"OnMessageReactionAdd - SKIP - Reaction is nil"}`, parts[0])
117+
require.JSONEq(t, `{"level":"error","message":"OnMessageReactionAdd - SKIP - Reaction is nil"}`, parts[0])
118118
require.Equal(t, ``, parts[1])
119119
})
120120

@@ -128,8 +128,8 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
128128
})
129129

130130
parts := strings.Split(bufferLogs.String(), "\n")
131-
require.Equal(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
132-
require.Equal(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"SKIP - Channel is not matching"}`, parts[1])
131+
require.JSONEq(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
132+
require.JSONEq(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"SKIP - Channel is not matching"}`, parts[1])
133133
require.Equal(t, ``, parts[2])
134134
})
135135

@@ -144,8 +144,8 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
144144
})
145145

146146
parts := strings.Split(bufferLogs.String(), "\n")
147-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
148-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","user_id":"bot-123","message":"SKIP - User is the bot"}`, parts[1])
147+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
148+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","user_id":"bot-123","message":"SKIP - User is the bot"}`, parts[1])
149149
require.Equal(t, ``, parts[2])
150150
})
151151

@@ -160,8 +160,8 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
160160
})
161161

162162
parts := strings.Split(bufferLogs.String(), "\n")
163-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
164-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"SKIP - Message is not matching"}`, parts[1])
163+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Add"}`, parts[0])
164+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"SKIP - Message is not matching"}`, parts[1])
165165
require.Equal(t, ``, parts[2])
166166
})
167167

@@ -177,8 +177,8 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
177177
})
178178

179179
parts := strings.Split(bufferLogs.String(), "\n")
180-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
181-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","emoji":"","message":"SKIP - Emoji is not matching"}`, parts[1])
180+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
181+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","emoji":"","message":"SKIP - Emoji is not matching"}`, parts[1])
182182
require.Equal(t, ``, parts[2])
183183
})
184184

@@ -195,9 +195,9 @@ func TestHandlers_OnMessageReactionAdd(t *testing.T) {
195195
})
196196

197197
parts := strings.Split(bufferLogs.String(), "\n")
198-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
198+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
199199
//nolint:lll
200-
require.Equal(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Adding Role to User"}`, parts[1])
200+
require.JSONEq(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Adding Role to User"}`, parts[1])
201201
require.Equal(t, ``, parts[2])
202202
})
203203
}
@@ -298,11 +298,11 @@ func TestHandlers_OnMessageReactionAdd_Errors(t *testing.T) {
298298
})
299299

300300
parts := strings.Split(bufferLogs.String(), "\n")
301-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
301+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Add"}`, parts[0])
302302
//nolint:lll
303-
require.Equal(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Adding Role to User"}`, parts[1])
303+
require.JSONEq(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Adding Role to User"}`, parts[1])
304304
//nolint:lll
305-
require.Equal(t, `{"level":"error","error":"HTTP 500 Internal Server Error, ","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Could not add Role to User"}`, parts[2])
305+
require.JSONEq(t, `{"level":"error","error":"HTTP 500 Internal Server Error, ","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-456","message":"Could not add Role to User"}`, parts[2])
306306
require.Equal(t, ``, parts[3])
307307
}
308308

@@ -394,7 +394,7 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
394394
welcomeManager.OnMessageReactionRemove(nil, nil)
395395

396396
parts := strings.Split(bufferLogs.String(), "\n")
397-
require.Equal(t, `{"level":"error","message":"OnMessageReactionRemove - SKIP - Reaction is nil"}`, parts[0])
397+
require.JSONEq(t, `{"level":"error","message":"OnMessageReactionRemove - SKIP - Reaction is nil"}`, parts[0])
398398
require.Equal(t, ``, parts[1])
399399
})
400400

@@ -404,7 +404,7 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
404404
welcomeManager.OnMessageReactionRemove(nil, &discordgo.MessageReactionRemove{MessageReaction: nil})
405405

406406
parts := strings.Split(bufferLogs.String(), "\n")
407-
require.Equal(t, `{"level":"error","message":"OnMessageReactionRemove - SKIP - Reaction is nil"}`, parts[0])
407+
require.JSONEq(t, `{"level":"error","message":"OnMessageReactionRemove - SKIP - Reaction is nil"}`, parts[0])
408408
require.Equal(t, ``, parts[1])
409409
})
410410

@@ -418,8 +418,8 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
418418
})
419419

420420
parts := strings.Split(bufferLogs.String(), "\n")
421-
require.Equal(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
422-
require.Equal(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"SKIP - Channel is not matching"}`, parts[1])
421+
require.JSONEq(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
422+
require.JSONEq(t, `{"level":"info","channel_id":"channel-id","message_id":"","message":"SKIP - Channel is not matching"}`, parts[1])
423423
require.Equal(t, ``, parts[2])
424424
})
425425

@@ -434,8 +434,8 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
434434
})
435435

436436
parts := strings.Split(bufferLogs.String(), "\n")
437-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
438-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","user_id":"bot-123","message":"SKIP - User is the bot"}`, parts[1])
437+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
438+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","user_id":"bot-123","message":"SKIP - User is the bot"}`, parts[1])
439439
require.Equal(t, ``, parts[2])
440440
})
441441

@@ -450,8 +450,8 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
450450
})
451451

452452
parts := strings.Split(bufferLogs.String(), "\n")
453-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
454-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"SKIP - Message is not matching"}`, parts[1])
453+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"Incoming Message Reaction Remove"}`, parts[0])
454+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"","message":"SKIP - Message is not matching"}`, parts[1])
455455
require.Equal(t, ``, parts[2])
456456
})
457457

@@ -467,8 +467,8 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
467467
})
468468

469469
parts := strings.Split(bufferLogs.String(), "\n")
470-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
471-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","emoji":"","message":"SKIP - Emoji is not matching"}`, parts[1])
470+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
471+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","emoji":"","message":"SKIP - Emoji is not matching"}`, parts[1])
472472
require.Equal(t, ``, parts[2])
473473
})
474474

@@ -485,9 +485,9 @@ func TestHandlers_OnMessageReactionRemove(t *testing.T) {
485485
})
486486

487487
parts := strings.Split(bufferLogs.String(), "\n")
488-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
488+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
489489
//nolint:lll
490-
require.Equal(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Removing Role to User"}`, parts[1])
490+
require.JSONEq(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Removing Role to User"}`, parts[1])
491491
require.Equal(t, ``, parts[2])
492492
})
493493
}
@@ -587,10 +587,10 @@ func TestHandlers_OnMessageReactionRemove_Errors(t *testing.T) {
587587
})
588588

589589
parts := strings.Split(bufferLogs.String(), "\n")
590-
require.Equal(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
590+
require.JSONEq(t, `{"level":"info","channel_id":"channel-123","message_id":"123","message":"Incoming Message Reaction Remove"}`, parts[0])
591591
//nolint:lll
592-
require.Equal(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Removing Role to User"}`, parts[1])
592+
require.JSONEq(t, `{"level":"info","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Removing Role to User"}`, parts[1])
593593
//nolint:lll
594-
require.Equal(t, `{"level":"error","error":"HTTP 500 Internal Server Error, ","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Could not remove Role to User"}`, parts[2])
594+
require.JSONEq(t, `{"level":"error","error":"HTTP 500 Internal Server Error, ","role_id":"role-123","role":"my role 1","channel_id":"channel-123","message_id":"123","user_id":"user-id-789","message":"Could not remove Role to User"}`, parts[2])
595595
require.Equal(t, ``, parts[3])
596596
}

0 commit comments

Comments
 (0)