Skip to content

Commit 73f8f93

Browse files
Task: Resolve lint errors
1 parent 25ad5e6 commit 73f8f93

File tree

17 files changed

+121
-96
lines changed

17 files changed

+121
-96
lines changed

config/config.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@ import (
2727
)
2828

2929
var (
30-
DEFAULT_SECTION = "default"
31-
DEFAULT_COMMENT = []byte{'#'}
30+
// DEFAULT_SECTION specifies the name of a section if no name provided
31+
DEFAULT_SECTION = "default"
32+
// DEFAULT_COMMENT defines what character(s) indicate a comment `#`
33+
DEFAULT_COMMENT = []byte{'#'}
34+
// DEFAULT_COMMENT_SEM defines what alternate character(s) indicate a comment `;`
3235
DEFAULT_COMMENT_SEM = []byte{';'}
3336
)
3437

38+
// ConfigInterface defines the behavior of a Config implemenation
3539
type ConfigInterface interface {
3640
String(key string) string
3741
Strings(key string) []string
@@ -42,6 +46,7 @@ type ConfigInterface interface {
4246
Set(key string, value string) error
4347
}
4448

49+
// Config represents an implementation of the ConfigInterface
4550
type Config struct {
4651
// map is not safe.
4752
sync.RWMutex
@@ -133,26 +138,32 @@ func (c *Config) parseBuffer(buf *bufio.Reader) (err error) {
133138
return nil
134139
}
135140

141+
// Bool lookups up the value using the provided key and converts the value to a bool
136142
func (c *Config) Bool(key string) (bool, error) {
137143
return strconv.ParseBool(c.get(key))
138144
}
139145

146+
// Int lookups up the value using the provided key and converts the value to a int
140147
func (c *Config) Int(key string) (int, error) {
141148
return strconv.Atoi(c.get(key))
142149
}
143150

151+
// Int64 lookups up the value using the provided key and converts the value to a int64
144152
func (c *Config) Int64(key string) (int64, error) {
145153
return strconv.ParseInt(c.get(key), 10, 64)
146154
}
147155

156+
// Float64 lookups up the value using the provided key and converts the value to a float64
148157
func (c *Config) Float64(key string) (float64, error) {
149158
return strconv.ParseFloat(c.get(key), 64)
150159
}
151160

161+
// String lookups up the value using the provided key and converts the value to a string
152162
func (c *Config) String(key string) string {
153163
return c.get(key)
154164
}
155165

166+
// Strings lookups up the value using the provided key and converts the value to an array of string by splitting the string by comma
156167
func (c *Config) Strings(key string) []string {
157168
v := c.get(key)
158169
if v == "" {
@@ -161,6 +172,7 @@ func (c *Config) Strings(key string) []string {
161172
return strings.Split(v, ",")
162173
}
163174

175+
// Set sets the value for the specific key in the Config
164176
func (c *Config) Set(key string, value string) error {
165177
c.Lock()
166178
defer c.Unlock()

config/config_test.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ import (
1919
)
2020

2121
func TestGet(t *testing.T) {
22-
config, err := NewConfig("testdata/testini.ini")
23-
if err != nil {
24-
t.Errorf("Configuration file loading failed, err:%v", err.Error())
25-
t.Fatalf("err: %v", err)
22+
config, cerr := NewConfig("testdata/testini.ini")
23+
if cerr != nil {
24+
t.Errorf("Configuration file loading failed, err:%v", cerr.Error())
25+
t.Fatalf("err: %v", cerr)
2626
}
2727

2828
// default::key test
29-
if v, err := config.Bool("debug"); err != nil || v != true {
29+
if v, err := config.Bool("debug"); err != nil || !v {
3030
t.Errorf("Get failure: expected different value for debug (expected: [%#v] got: [%#v])", true, v)
3131
t.Fatalf("err: %v", err)
3232
}
@@ -58,20 +58,17 @@ func TestGet(t *testing.T) {
5858
// other::key test
5959
if v := config.String("other::name"); v != "ATC自动化测试^-^&($#……#" {
6060
t.Errorf("Get failure: expected different value for other::name (expected: [%#v] got: [%#v])", "ATC自动化测试^-^&($#……#", v)
61-
t.Fatalf("err: %v", err)
6261
}
6362

6463
if v := config.String("other::key1"); v != "test key" {
6564
t.Errorf("Get failure: expected different value for other::key1 (expected: [%#v] got: [%#v])", "test key", v)
66-
t.Fatalf("err: %v", err)
6765
}
6866

69-
config.Set("other::key1", "new test key")
67+
_ = config.Set("other::key1", "new test key")
7068

7169
if v := config.String("other::key1"); v != "new test key" {
7270
t.Errorf("Get failure: expected different value for other::key1 (expected: [%#v] got: [%#v])", "new test key", v)
73-
t.Fatalf("err: %v", err)
7471
}
7572

76-
config.Set("other::key1", "test key")
73+
_ = config.Set("other::key1", "test key")
7774
}

enforcer.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"fmt"
2020

2121
"github.com/Knetic/govaluate"
22+
2223
"github.com/casbin/casbin/effect"
2324
"github.com/casbin/casbin/model"
2425
"github.com/casbin/casbin/persist"
@@ -124,7 +125,7 @@ func (e *Enforcer) InitWithModelAndAdapter(m model.Model, adapter persist.Adapte
124125
e.initialize()
125126

126127
if e.adapter != nil {
127-
e.LoadPolicy()
128+
_ = e.LoadPolicy()
128129
}
129130
}
130131

@@ -184,7 +185,7 @@ func (e *Enforcer) SetAdapter(adapter persist.Adapter) {
184185
// SetWatcher sets the current watcher.
185186
func (e *Enforcer) SetWatcher(watcher persist.Watcher) {
186187
e.watcher = watcher
187-
watcher.SetUpdateCallback(func(string) { e.LoadPolicy() })
188+
_ = watcher.SetUpdateCallback(func(string) { _ = e.LoadPolicy() })
188189
}
189190

190191
// SetRoleManager sets the current role manager.
@@ -205,8 +206,7 @@ func (e *Enforcer) ClearPolicy() {
205206
// LoadPolicy reloads the policy from file/database.
206207
func (e *Enforcer) LoadPolicy() error {
207208
e.model.ClearPolicy()
208-
err := e.adapter.LoadPolicy(e.model)
209-
if err != nil {
209+
if err := e.adapter.LoadPolicy(e.model); err != nil {
210210
return err
211211
}
212212

@@ -230,8 +230,7 @@ func (e *Enforcer) LoadFilteredPolicy(filter interface{}) error {
230230
default:
231231
return errors.New("filtered policies are not supported by this adapter")
232232
}
233-
err := filteredAdapter.LoadFilteredPolicy(e.model, filter)
234-
if err != nil {
233+
if err := filteredAdapter.LoadFilteredPolicy(e.model, filter); err != nil {
235234
return err
236235
}
237236

@@ -256,13 +255,13 @@ func (e *Enforcer) SavePolicy() error {
256255
if e.IsFiltered() {
257256
return errors.New("cannot save a filtered policy")
258257
}
259-
err := e.adapter.SavePolicy(e.model)
260-
if err == nil {
261-
if e.watcher != nil {
262-
e.watcher.Update()
263-
}
258+
if err := e.adapter.SavePolicy(e.model); err != nil {
259+
return err
260+
}
261+
if e.watcher != nil {
262+
return e.watcher.Update()
264263
}
265-
return err
264+
return nil
266265
}
267266

268267
// EnableEnforce changes the enforcing state of Casbin, when Casbin is disabled, all access will be allowed by the Enforce() function.
@@ -287,7 +286,7 @@ func (e *Enforcer) EnableAutoBuildRoleLinks(autoBuildRoleLinks bool) {
287286

288287
// BuildRoleLinks manually rebuild the role inheritance relations.
289288
func (e *Enforcer) BuildRoleLinks() {
290-
e.rm.Clear()
289+
_ = e.rm.Clear()
291290
e.model.BuildRoleLinks(e.rm)
292291
}
293292

enforcer_safe.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@
1515
package casbin
1616

1717
import (
18-
"errors"
1918
"fmt"
2019
)
2120

2221
// NewEnforcerSafe calls NewEnforcer in a safe way, returns error instead of causing panic.
2322
func NewEnforcerSafe(params ...interface{}) (e *Enforcer, err error) {
2423
defer func() {
2524
if r := recover(); r != nil {
26-
err = errors.New(fmt.Sprintf("%v", r))
25+
err = fmt.Errorf("%v", r)
2726
e = nil
2827
}
2928
}()
@@ -37,7 +36,7 @@ func NewEnforcerSafe(params ...interface{}) (e *Enforcer, err error) {
3736
func (e *Enforcer) LoadModelSafe() (err error) {
3837
defer func() {
3938
if r := recover(); r != nil {
40-
err = errors.New(fmt.Sprintf("%v", r))
39+
err = fmt.Errorf("%v", r)
4140
}
4241
}()
4342

@@ -50,7 +49,7 @@ func (e *Enforcer) LoadModelSafe() (err error) {
5049
func (e *Enforcer) EnforceSafe(rvals ...interface{}) (result bool, err error) {
5150
defer func() {
5251
if r := recover(); r != nil {
53-
err = errors.New(fmt.Sprintf("%v", r))
52+
err = fmt.Errorf("%v", r)
5453
result = false
5554
}
5655
}()
@@ -60,10 +59,11 @@ func (e *Enforcer) EnforceSafe(rvals ...interface{}) (result bool, err error) {
6059
return
6160
}
6261

62+
// AddPolicySafe calls AddPolicy in a safe way, returns error instead of causing panic.
6363
func (e *Enforcer) AddPolicySafe(params ...interface{}) (result bool, err error) {
6464
defer func() {
6565
if r := recover(); r != nil {
66-
err = errors.New(fmt.Sprintf("%v", r))
66+
err = fmt.Errorf("%v", r)
6767
result = false
6868
}
6969
}()
@@ -73,10 +73,11 @@ func (e *Enforcer) AddPolicySafe(params ...interface{}) (result bool, err error)
7373
return
7474
}
7575

76+
// RemovePolicySafe calls RemovePolicy in a safe way, returns error instead of causing panic.
7677
func (e *Enforcer) RemovePolicySafe(params ...interface{}) (result bool, err error) {
7778
defer func() {
7879
if r := recover(); r != nil {
79-
err = errors.New(fmt.Sprintf("%v", r))
80+
err = fmt.Errorf("%v", r)
8081
result = false
8182
}
8283
}()
@@ -86,15 +87,16 @@ func (e *Enforcer) RemovePolicySafe(params ...interface{}) (result bool, err err
8687
return
8788
}
8889

90+
// RemoveFilteredPolicySafe calls RemoveFilteredPolicy in a safe way, returns error instead of causing panic.
8991
func (e *Enforcer) RemoveFilteredPolicySafe(fieldIndex int, fieldValues ...string) (result bool, err error) {
9092
defer func() {
9193
if r := recover(); r != nil {
92-
err = errors.New(fmt.Sprintf("%v", r))
94+
err = fmt.Errorf("%v", r)
9395
result = false
9496
}
9597
}()
9698

9799
result = e.RemoveFilteredNamedPolicy("p", fieldIndex, fieldValues...)
98100
err = nil
99101
return
100-
}
102+
}

enforcer_synced.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,22 @@ import (
2222
"github.com/casbin/casbin/persist"
2323
)
2424

25+
// SyncedEnforcer wraps Enforcer and provides synchronized access
2526
type SyncedEnforcer struct {
2627
*Enforcer
27-
m sync.RWMutex
28+
m sync.RWMutex
2829
autoLoad bool
2930
}
3031

31-
// NewEnforcer creates a synchronized enforcer via file or DB.
32+
// NewSyncedEnforcer creates a synchronized enforcer via file or DB.
3233
func NewSyncedEnforcer(params ...interface{}) *SyncedEnforcer {
3334
e := &SyncedEnforcer{}
3435
e.Enforcer = NewEnforcer(params...)
3536
e.autoLoad = false
3637
return e
3738
}
3839

40+
// StartAutoLoadPolicy starts a go routine that will every specified duration call LoadPolicy
3941
func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration) {
4042
e.autoLoad = true
4143
go func() {
@@ -47,23 +49,24 @@ func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration) {
4749
break
4850
}
4951

50-
e.LoadPolicy()
52+
_ = e.LoadPolicy()
5153
// Uncomment this line to see when the policy is loaded.
5254
// log.Print("Load policy for time: ", n)
53-
n ++
55+
n++
5456
time.Sleep(d)
5557
}
56-
} ()
58+
}()
5759
}
5860

61+
// StopAutoLoadPolicy causes the go routine to exit.
5962
func (e *SyncedEnforcer) StopAutoLoadPolicy() {
6063
e.autoLoad = false
6164
}
6265

6366
// SetWatcher sets the current watcher.
6467
func (e *SyncedEnforcer) SetWatcher(watcher persist.Watcher) {
6568
e.watcher = watcher
66-
watcher.SetUpdateCallback(func (string) {e.LoadPolicy()})
69+
_ = watcher.SetUpdateCallback(func(string) { _ = e.LoadPolicy() })
6770
}
6871

6972
// ClearPolicy clears all policy.

enforcer_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func TestKeyMatchModelInMemory(t *testing.T) {
5555
testEnforce(t, e, "cathy", "/cathy_data", "DELETE", false)
5656

5757
e = NewEnforcer(m)
58-
a.LoadPolicy(e.GetModel())
58+
_ = a.LoadPolicy(e.GetModel())
5959

6060
testEnforce(t, e, "alice", "/alice_data/resource1", "GET", true)
6161
testEnforce(t, e, "alice", "/alice_data/resource1", "POST", true)
@@ -202,14 +202,14 @@ func TestNotUsedRBACModelInMemory(t *testing.T) {
202202
func TestReloadPolicy(t *testing.T) {
203203
e := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
204204

205-
e.LoadPolicy()
205+
_ = e.LoadPolicy()
206206
testGetPolicy(t, e, [][]string{{"alice", "data1", "read"}, {"bob", "data2", "write"}, {"data2_admin", "data2", "read"}, {"data2_admin", "data2", "write"}})
207207
}
208208

209209
func TestSavePolicy(t *testing.T) {
210210
e := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv")
211211

212-
e.SavePolicy()
212+
_ = e.SavePolicy()
213213
}
214214

215215
func TestClearPolicy(t *testing.T) {
@@ -276,7 +276,7 @@ func TestEnableAutoSave(t *testing.T) {
276276
// it doesn't affect the policy in the storage.
277277
e.RemovePolicy("alice", "data1", "read")
278278
// Reload the policy from the storage to see the effect.
279-
e.LoadPolicy()
279+
_ = e.LoadPolicy()
280280
testEnforce(t, e, "alice", "data1", "read", true)
281281
testEnforce(t, e, "alice", "data1", "write", false)
282282
testEnforce(t, e, "alice", "data2", "read", false)
@@ -294,7 +294,7 @@ func TestEnableAutoSave(t *testing.T) {
294294
// However, the file adapter doesn't implement the AutoSave feature, so enabling it has no effect at all here.
295295

296296
// Reload the policy from the storage to see the effect.
297-
e.LoadPolicy()
297+
_ = e.LoadPolicy()
298298
testEnforce(t, e, "alice", "data1", "read", true) // Will not be false here.
299299
testEnforce(t, e, "alice", "data1", "write", false)
300300
testEnforce(t, e, "alice", "data2", "read", false)
@@ -364,7 +364,7 @@ func TestGetAndSetAdapterInMem(t *testing.T) {
364364

365365
a2 := e2.GetAdapter()
366366
e.SetAdapter(a2)
367-
e.LoadPolicy()
367+
_ = e.LoadPolicy()
368368

369369
testEnforce(t, e, "alice", "data1", "read", false)
370370
testEnforce(t, e, "alice", "data1", "write", true)
@@ -377,7 +377,7 @@ func TestSetAdapterFromFile(t *testing.T) {
377377

378378
a := fileadapter.NewAdapter("examples/basic_policy.csv")
379379
e.SetAdapter(a)
380-
e.LoadPolicy()
380+
_ = e.LoadPolicy()
381381

382382
testEnforce(t, e, "alice", "data1", "read", true)
383383
}
@@ -395,7 +395,7 @@ func TestInitEmpty(t *testing.T) {
395395

396396
e.SetModel(m)
397397
e.SetAdapter(a)
398-
e.LoadPolicy()
398+
_ = e.LoadPolicy()
399399

400400
testEnforce(t, e, "alice", "/alice_data/resource1", "GET", true)
401401
}

0 commit comments

Comments
 (0)