Skip to content

Commit 7e37387

Browse files
committed
Linting
1 parent 825a83f commit 7e37387

17 files changed

+174
-148
lines changed

.golangci.yml

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
run:
2-
concurrency: 4
32
timeout: 5m
43
issues-exit-code: 1
54
tests: true
65

7-
skip-dirs:
8-
- vendor
9-
106
modules-download-mode: vendor
117

128
# list of build tags, all linters use it. Default is empty list
@@ -15,9 +11,6 @@ run:
1511

1612
# output configuration options
1713
output:
18-
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
19-
format: colored-line-number
20-
2114
# print lines of code with issue, default is true
2215
print-issued-lines: true
2316

@@ -29,15 +22,16 @@ output:
2922
linters:
3023
disable-all: true
3124
enable:
32-
- golint
3325
- gofmt
34-
- gosec
26+
- gosimple
3527
- unparam
3628
- goconst
3729
- prealloc
3830
- stylecheck
3931
- unconvert
32+
- unused
4033
- staticcheck
34+
- ineffassign
4135
- gosec
4236
- tparallel
4337
- whitespace
@@ -48,19 +42,47 @@ linters:
4842
- errname
4943
- govet
5044
- predeclared
45+
- nestif
5146
- exhaustive
5247
- tenv
5348
- gofumpt
5449
- forcetypeassert
5550
- nilerr
5651
- errcheck
57-
# - promlinter this is a very nice linter, but it will most probably break things...
58-
# - nestif
52+
- bodyclose
53+
- goimports
54+
- durationcheck
55+
- errchkjson
56+
- sloglint
57+
- dupword
58+
- noctx
59+
- makezero
60+
- nilnil
61+
- reassign
62+
- sloglint
63+
- spancheck
64+
- testifylint
65+
- wastedassign
66+
- rowserrcheck
67+
- sqlclosecheck
68+
- goprintffuncname
69+
- testableexamples
70+
- wastedassign
71+
- nonamedreturns
72+
- perfsprint
73+
- dogsled
74+
- protogetter
75+
- usestdlibvars
76+
- testableexamples
5977
fast: false
6078

6179
issues:
80+
exclude-dirs:
81+
- vendor
82+
max-same-issues: 10
83+
6284
exclude-rules:
6385
# Exclude some staticcheck messages
6486
- linters:
6587
- staticcheck
66-
text: "SA1019:"
88+
text: "SA1019:"

config/config_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ func TestField_Set(t *testing.T) {
3535
t.Run(name, func(t *testing.T) {
3636
err := tt.field.Set(tt.args.value, tt.args.version)
3737
if tt.wantErr {
38-
assert.Error(t, err)
38+
require.Error(t, err)
3939
} else {
40-
assert.NoError(t, err)
40+
require.NoError(t, err)
4141
}
4242
})
4343
}
@@ -64,10 +64,10 @@ func TestNew(t *testing.T) {
6464
t.Run(name, func(t *testing.T) {
6565
got, err := New(tt.args.cfg, nil)
6666
if tt.wantErr {
67-
assert.Error(t, err)
67+
require.Error(t, err)
6868
assert.Nil(t, got)
6969
} else {
70-
assert.NoError(t, err)
70+
require.NoError(t, err)
7171
assert.NotNil(t, got)
7272
assert.Len(t, got.Fields, 7)
7373
assertField(t, got.Fields[0], "Name", "String",
@@ -102,40 +102,40 @@ func TestConfig_Set(t *testing.T) {
102102
cfg, err := New(&c, chNotify)
103103
require.NoError(t, err)
104104
err = cfg.Fields[0].Set("John Doe", 1)
105-
assert.NoError(t, err)
105+
require.NoError(t, err)
106106
change := <-chNotify
107107
assert.Equal(t, "field [Name] of type [String] changed from [] to [John Doe]", change.String())
108108
err = cfg.Fields[1].Set("18", 1)
109-
assert.NoError(t, err)
109+
require.NoError(t, err)
110110
change = <-chNotify
111111
assert.Equal(t, "field [Age] of type [Int64] changed from [0] to [18]", change.String())
112112
err = cfg.Fields[2].Set("99.9", 1)
113-
assert.NoError(t, err)
113+
require.NoError(t, err)
114114
change = <-chNotify
115115
assert.Equal(t, "field [Balance] of type [Float64] changed from [0.000000] to [99.9]", change.String())
116116
err = cfg.Fields[3].Set("true", 1)
117-
assert.NoError(t, err)
117+
require.NoError(t, err)
118118
change = <-chNotify
119119
assert.Equal(t, "field [HasJob] of type [Bool] changed from [false] to [true]", change.String())
120120
err = cfg.Fields[4].Set("6000", 1)
121-
assert.NoError(t, err)
121+
require.NoError(t, err)
122122
change = <-chNotify
123123
assert.Equal(t, "field [PositionSalary] of type [Int64] changed from [0] to [6000]", change.String())
124124
err = cfg.Fields[5].Set("baz", 1)
125-
assert.NoError(t, err)
125+
require.NoError(t, err)
126126
change = <-chNotify
127127
assert.Equal(t, "field [LevelOneLevelTwoDeepField] of type [String] changed from [] to [baz]", change.String())
128128
err = cfg.Fields[6].Set("true", 1)
129-
assert.NoError(t, err)
129+
require.NoError(t, err)
130130
change = <-chNotify
131131
assert.Equal(t, "field [IsAdult] of type [Bool] changed from [false] to [true]", change.String())
132132
assert.Equal(t, "John Doe", c.Name.Get())
133133
assert.Equal(t, int64(18), c.Age.Get())
134-
assert.Equal(t, 99.9, c.Balance.Get())
135-
assert.Equal(t, true, c.HasJob.Get())
134+
assert.InDelta(t, 99.9, c.Balance.Get(), 0.01)
135+
assert.True(t, c.HasJob.Get())
136136
assert.Equal(t, int64(6000), c.Position.Salary.Get())
137137
assert.Equal(t, "baz", c.LevelOne.LevelTwo.DeepField.Get())
138-
assert.Equal(t, true, c.IsAdult.Get())
138+
assert.True(t, c.IsAdult.Get())
139139
}
140140

141141
type testNestedConfig struct {

config/custom_type_test.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
11
package config_test
22

33
import (
4-
"fmt"
4+
"errors"
55
"sync"
66
"testing"
77

88
"github.com/beatlabs/harvester/config"
99
stdTypes "github.com/beatlabs/harvester/sync"
1010
"github.com/stretchr/testify/assert"
11+
"github.com/stretchr/testify/require"
1112
)
1213

1314
func TestCustomField(t *testing.T) {
1415
c := &testConfig{}
1516
cfg, err := config.New(c, nil)
16-
assert.NoError(t, err)
17+
require.NoError(t, err)
1718
err = cfg.Fields[0].Set("expected", 1)
18-
assert.NoError(t, err)
19+
require.NoError(t, err)
1920
err = cfg.Fields[1].Set("bar", 1)
20-
assert.NoError(t, err)
21+
require.NoError(t, err)
2122
assert.Equal(t, "expected", c.CustomValue.Get())
2223
assert.Equal(t, "bar", c.SomeString.Get())
2324
}
2425

2526
func TestErrorValidationOnCustomField(t *testing.T) {
2627
c := &testConfig{}
2728
cfg, err := config.New(c, nil)
28-
assert.NoError(t, err)
29+
require.NoError(t, err)
2930
err = cfg.Fields[0].Set("not_expected", 1)
30-
assert.Error(t, err)
31+
require.Error(t, err)
3132
}
3233

3334
type testConcreteValue struct {
@@ -53,7 +54,7 @@ func (f *testConcreteValue) String() string {
5354

5455
func (f *testConcreteValue) SetString(value string) error {
5556
if value != "expected" {
56-
return fmt.Errorf("unable to store provided value")
57+
return errors.New("unable to store provided value")
5758
}
5859
f.Set(value)
5960
return nil

harvester_integration_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ func Test_harvester_Harvest(t *testing.T) {
8686
defer cnl()
8787
err = h.Harvest(ctx)
8888

89-
assert.NoError(t, err)
89+
require.NoError(t, err)
9090
assert.Equal(t, "Mr. Smith", cfg.Name.Get())
9191
assert.Equal(t, int64(99), cfg.Age.Get())
92-
assert.Equal(t, 111.1, cfg.Balance.Get())
93-
assert.Equal(t, false, cfg.HasJob.Get())
92+
assert.InDelta(t, 111.1, cfg.Balance.Get(), 0.01)
93+
assert.False(t, cfg.HasJob.Get())
9494
assert.Equal(t, 1*time.Second, cfg.FunTime.Get())
9595
assert.Equal(t, 2*time.Second, cfg.WorkTime.Get())
9696
assert.Equal(t, int64(123), cfg.Foo.Bar.Get())

harvester_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/beatlabs/harvester/sync"
1010
"github.com/go-redis/redis/v8"
1111
"github.com/stretchr/testify/assert"
12+
"github.com/stretchr/testify/require"
1213
)
1314

1415
const (
@@ -93,10 +94,10 @@ func TestCreateWithConsulAndRedis(t *testing.T) {
9394
WithRedisMonitor(tt.args.monitorRedisClient, tt.args.monitoringPollInterval))
9495

9596
if tt.expectedErr != "" {
96-
assert.EqualError(t, err, tt.expectedErr)
97+
require.EqualError(t, err, tt.expectedErr)
9798
assert.Nil(t, got)
9899
} else {
99-
assert.NoError(t, err)
100+
require.NoError(t, err)
100101
assert.NotNil(t, got)
101102
}
102103
})
@@ -117,7 +118,7 @@ func TestWithNotification(t *testing.T) {
117118
for name, tt := range tests {
118119
t.Run(name, func(t *testing.T) {
119120
got, err := New(tt.args.cfg, tt.args.chNotify)
120-
assert.NoError(t, err)
121+
require.NoError(t, err)
121122
assert.NotNil(t, got)
122123
})
123124
}
@@ -126,36 +127,35 @@ func TestWithNotification(t *testing.T) {
126127
func TestCreate_NoConsulOrRedis(t *testing.T) {
127128
cfg := &testConfigNoConsul{}
128129
got, err := New(cfg, nil)
129-
assert.NoError(t, err)
130+
require.NoError(t, err)
130131
assert.NotNil(t, got)
131132
ctx, cnl := context.WithCancel(context.Background())
132133
defer cnl()
133-
err = got.Harvest(ctx)
134-
assert.NoError(t, err)
134+
require.NoError(t, got.Harvest(ctx))
135135
assert.Equal(t, "John Doe", cfg.Name.Get())
136136
assert.Equal(t, int64(18), cfg.Age.Get())
137-
assert.Equal(t, 99.9, cfg.Balance.Get())
138-
assert.Equal(t, true, cfg.HasJob.Get())
137+
assert.InDelta(t, 99.9, cfg.Balance.Get(), 0.01)
138+
assert.True(t, cfg.HasJob.Get())
139139
assert.Equal(t, int64(8000), cfg.Position.Salary.Get())
140140
assert.Equal(t, int64(24), cfg.Position.Place.RoomNumber.Get())
141141
}
142142

143143
func TestCreate_SeedError(t *testing.T) {
144144
cfg := &testConfigSeedError{}
145145
got, err := New(cfg, nil)
146-
assert.NoError(t, err)
146+
require.NoError(t, err)
147147
assert.NotNil(t, got)
148148
ctx, cnl := context.WithCancel(context.Background())
149149
defer cnl()
150150
err = got.Harvest(ctx)
151-
assert.Error(t, err)
151+
require.Error(t, err)
152152
}
153153

154154
type testConfig struct {
155155
Name sync.String `seed:"John Doe" consul:"harvester1/name"`
156-
Age sync.Int64 `seed:"18" consul:"harvester/age"`
157-
Balance sync.Float64 `seed:"99.9" consul:"harvester/balance"`
158-
HasJob sync.Bool `seed:"true" consul:"harvester/has-job"`
156+
Age sync.Int64 `seed:"18" consul:"harvester/age"`
157+
Balance sync.Float64 `seed:"99.9" consul:"harvester/balance"`
158+
HasJob sync.Bool `seed:"true" consul:"harvester/has-job"`
159159
FunTime sync.TimeDuration `seed:"1s" consul:"harvester/fun-time"`
160160
IsAdult sync.Bool `seed:"false" redis:"is-adult"`
161161
}

monitor/consul/watcher.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func (w *Watcher) createKeyPlanWithPrefix(key, prefix string, ch chan<- []*chang
112112
if err != nil {
113113
return nil, err
114114
}
115-
pl.Handler = func(idx uint64, data interface{}) {
115+
pl.Handler = func(_ uint64, data interface{}) {
116116
if data == nil {
117117
return
118118
}
@@ -132,7 +132,7 @@ func (w *Watcher) createKeyPrefixPlan(keyPrefix string, ch chan<- []*change.Chan
132132
if err != nil {
133133
return nil, err
134134
}
135-
pl.Handler = func(idx uint64, data interface{}) {
135+
pl.Handler = func(_ uint64, data interface{}) {
136136
if data == nil {
137137
return
138138
}

monitor/consul/watcher_integration_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func TestWatch(t *testing.T) {
7171
default:
7272
assert.Fail(t, "key invalid", cng.Key())
7373
}
74-
assert.True(t, cng.Version() > 0)
74+
assert.Positive(t, cng.Version())
7575
}
7676
}
7777
}

monitor/consul/watcher_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ func TestNew(t *testing.T) {
3030
t.Run(name, func(t *testing.T) {
3131
got, err := New(tt.args.addr, "dc", "token", tt.args.timeout, tt.args.ii...)
3232
if tt.wantErr {
33-
assert.Error(t, err)
33+
require.Error(t, err)
3434
assert.Nil(t, got)
3535
} else {
36-
assert.NoError(t, err)
36+
require.NoError(t, err)
3737
assert.NotNil(t, got)
3838
}
3939
})
@@ -58,9 +58,9 @@ func TestWatcher_Watch(t *testing.T) {
5858
t.Run(name, func(t *testing.T) {
5959
err = w.Watch(tt.args.ctx, tt.args.ch)
6060
if tt.wantErr {
61-
assert.Error(t, err)
61+
require.Error(t, err)
6262
} else {
63-
assert.NoError(t, err)
63+
require.NoError(t, err)
6464
}
6565
})
6666
}

0 commit comments

Comments
 (0)