This is an automated email from the ASF dual-hosted git repository.
hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin.git
The following commit(s) were added to refs/heads/master by this push:
new b32cfd3 fix: fix go linter
b32cfd3 is described below
commit b32cfd3c36e482f1ed1eb5ba94bb4ecb183c90d4
Author: Yang Luo <[email protected]>
AuthorDate: Tue Aug 4 16:18:58 2026 +0800
fix: fix go linter
---
detector/default_detector_test.go | 7 -------
effector/default_effector.go | 3 +--
enforcer.go | 4 +---
enforcer_interface.go | 8 +++++---
enforcer_synced_test.go | 1 +
enforcer_test.go | 4 ++--
management_api.go | 1 -
management_api_test.go | 15 ++++++++++-----
model/model.go | 6 ++++--
model_test.go | 10 ++++++++++
rbac/default-role-manager/role_manager.go | 1 -
rbac_api_test.go | 24 ++++++++++++++++--------
util/util_test.go | 2 ++
watcher_ex_test.go | 1 +
14 files changed, 53 insertions(+), 34 deletions(-)
diff --git a/detector/default_detector_test.go
b/detector/default_detector_test.go
index fa06660..add3428 100644
--- a/detector/default_detector_test.go
+++ b/detector/default_detector_test.go
@@ -47,7 +47,6 @@ func TestDefaultDetector_NoCycle(t *testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle, but got error: %v", err)
}
@@ -149,7 +148,6 @@ func TestDefaultDetector_DisconnectedComponents(t
*testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle in disconnected components, but got
error: %v", err)
}
@@ -205,7 +203,6 @@ func TestDefaultDetector_EmptyRoleManager(t *testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no error for empty role manager, but got:
%v", err)
}
@@ -224,7 +221,6 @@ func TestDefaultDetector_LargeGraphNoCycle(t *testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle in large graph, but got error: %v",
err)
}
@@ -287,7 +283,6 @@ func TestDefaultDetector_PerformanceLargeGraph(t
*testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle in large performance test, but got
error: %v", err)
}
@@ -303,7 +298,6 @@ func TestDefaultDetector_MultipleInheritance(t *testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle with multiple inheritance, but got
error: %v", err)
}
@@ -319,7 +313,6 @@ func TestDefaultDetector_DiamondPattern(t *testing.T) {
detector := NewDefaultDetector()
err := detector.Check(rm)
-
if err != nil {
t.Errorf("Expected no cycle in diamond pattern, but got error:
%v", err)
}
diff --git a/effector/default_effector.go b/effector/default_effector.go
index 7783750..bbef15b 100644
--- a/effector/default_effector.go
+++ b/effector/default_effector.go
@@ -24,8 +24,7 @@ import (
)
// DefaultEffector is default effector for Casbin.
-type DefaultEffector struct {
-}
+type DefaultEffector struct{}
// NewDefaultEffector is the constructor for DefaultEffector.
func NewDefaultEffector() *DefaultEffector {
diff --git a/enforcer.go b/enforcer.go
index 0010c86..d2ca570 100644
--- a/enforcer.go
+++ b/enforcer.go
@@ -830,7 +830,6 @@ func (e *Enforcer) enforce(matcher string, explains
*[]string, rvals ...interfac
result, err := expression.Eval(parameters)
// log.LogPrint("Result: ", result)
-
if err != nil {
return false, err
}
@@ -887,7 +886,6 @@ func (e *Enforcer) enforce(matcher string, explains
*[]string, rvals ...interfac
parameters.pVals = make([]string, len(parameters.pTokens))
result, err := expression.Eval(parameters)
-
if err != nil {
return false, err
}
@@ -922,7 +920,7 @@ func (e *Enforcer) enforce(matcher string, explains
*[]string, rvals ...interfac
func (e *Enforcer) getAndStoreMatcherExpression(hasEval bool, expString
string, functions map[string]govaluate.ExpressionFunction)
(*govaluate.EvaluableExpression, error) {
var expression *govaluate.EvaluableExpression
var err error
- var cachedExpression, isPresent = e.matcherMap.Load(expString)
+ cachedExpression, isPresent := e.matcherMap.Load(expString)
if !hasEval && isPresent {
expression = cachedExpression.(*govaluate.EvaluableExpression)
diff --git a/enforcer_interface.go b/enforcer_interface.go
index d4ef998..62d37c2 100644
--- a/enforcer_interface.go
+++ b/enforcer_interface.go
@@ -25,9 +25,11 @@ import (
"github.com/casbin/govaluate"
)
-var _ IEnforcer = &Enforcer{}
-var _ IEnforcer = &SyncedEnforcer{}
-var _ IEnforcer = &CachedEnforcer{}
+var (
+ _ IEnforcer = &Enforcer{}
+ _ IEnforcer = &SyncedEnforcer{}
+ _ IEnforcer = &CachedEnforcer{}
+)
// IEnforcer is the API interface of Enforcer.
type IEnforcer interface {
diff --git a/enforcer_synced_test.go b/enforcer_synced_test.go
index cb6c216..5bf02d0 100644
--- a/enforcer_synced_test.go
+++ b/enforcer_synced_test.go
@@ -495,6 +495,7 @@ func testSyncedEnforcerGetUsers(t *testing.T, e
*SyncedEnforcer, res []string, n
t.Error("Users for ", name, ": ", myRes, ", supposed to be ",
res)
}
}
+
func TestSyncedEnforcerAddGroupingPoliciesEx(t *testing.T) {
for i := 0; i < 10; i++ {
e, _ := NewSyncedEnforcer("examples/rbac_model.conf",
"examples/rbac_policy.csv")
diff --git a/enforcer_test.go b/enforcer_test.go
index bf57ebe..918f38e 100644
--- a/enforcer_test.go
+++ b/enforcer_test.go
@@ -148,8 +148,7 @@ func TestRBACModelInMemory(t *testing.T) {
}
func TestRBACModelInMemory2(t *testing.T) {
- text :=
- `
+ text := `
[request_definition]
r = sub, obj, act
@@ -431,6 +430,7 @@ func TestInitEmpty(t *testing.T) {
testEnforce(t, e, "alice", "/alice_data/resource1", "GET", true)
}
+
func testEnforceEx(t *testing.T, e *Enforcer, sub, obj, act interface{}, res
[]string) {
t.Helper()
_, myRes, _ := e.EnforceEx(sub, obj, act)
diff --git a/management_api.go b/management_api.go
index 37c3039..0491ee5 100644
--- a/management_api.go
+++ b/management_api.go
@@ -192,7 +192,6 @@ func (e *Enforcer) GetFilteredNamedPolicyWithMatcher(ptype
string, matcher strin
parameters.pVals = pvals
result, err := expression.Eval(parameters)
-
if err != nil {
return res, err
}
diff --git a/management_api_test.go b/management_api_test.go
index 3d6785a..b04fba1 100644
--- a/management_api_test.go
+++ b/management_api_test.go
@@ -162,7 +162,8 @@ func TestGetPolicyAPI(t *testing.T) {
{"alice", "data1", "read"},
{"bob", "data2", "write"},
{"data2_admin", "data2", "read"},
- {"data2_admin", "data2", "write"}})
+ {"data2_admin", "data2", "write"},
+ })
testGetFilteredPolicy(t, e, 0, [][]string{{"alice", "data1", "read"}},
"alice")
testGetFilteredPolicy(t, e, 0, [][]string{{"bob", "data2", "write"}},
"bob")
@@ -177,7 +178,8 @@ func TestGetPolicyAPI(t *testing.T) {
{"alice", "data1", "read"},
{"bob", "data2", "write"},
{"data2_admin", "data2", "read"},
- {"data2_admin", "data2", "write"}})
+ {"data2_admin", "data2", "write"},
+ })
testGetFilteredPolicy(t, e, 0, [][]string{{"data2_admin", "data2",
"read"}, {"data2_admin", "data2", "write"}}, "data2_admin", "data2")
// Note: "" (empty string) in fieldValues means matching all values.
@@ -209,7 +211,8 @@ func TestModifyPolicyAPI(t *testing.T) {
{"alice", "data1", "read"},
{"bob", "data2", "write"},
{"data2_admin", "data2", "read"},
- {"data2_admin", "data2", "write"}})
+ {"data2_admin", "data2", "write"},
+ })
_, _ = e.RemovePolicy("alice", "data1", "read")
_, _ = e.RemovePolicy("bob", "data2", "write")
@@ -238,7 +241,8 @@ func TestModifyPolicyAPI(t *testing.T) {
{"jack", "data4", "read"},
{"katy", "data4", "write"},
{"leyo", "data4", "read"},
- {"ham", "data4", "write"}})
+ {"ham", "data4", "write"},
+ })
_, _ = e.RemovePolicies(rules)
_, _ = e.RemovePolicies(rules)
@@ -250,7 +254,8 @@ func TestModifyPolicyAPI(t *testing.T) {
testGetPolicy(t, e, [][]string{
{"data2_admin", "data2", "read"},
{"data2_admin", "data2", "write"},
- {"eve", "data3", "read"}})
+ {"eve", "data3", "read"},
+ })
_, _ = e.RemoveFilteredPolicy(1, "data2")
diff --git a/model/model.go b/model/model.go
index 35ad40f..2cf4e9d 100644
--- a/model/model.go
+++ b/model/model.go
@@ -37,8 +37,10 @@ type Model map[string]AssertionMap
// AssertionMap is the collection of assertions, can be "r", "p", "g", "e",
"m".
type AssertionMap map[string]*Assertion
-const defaultDomain string = ""
-const defaultSeparator = "::"
+const (
+ defaultDomain string = ""
+ defaultSeparator = "::"
+)
var sectionNameMap = map[string]string{
"r": "request_definition",
diff --git a/model_test.go b/model_test.go
index bd0a293..5959fd5 100644
--- a/model_test.go
+++ b/model_test.go
@@ -451,12 +451,15 @@ func (rm *testCustomRoleManager) Clear() error { return
nil }
func (rm *testCustomRoleManager) AddLink(name1 string, name2 string, domain
...string) error {
return nil
}
+
func (rm *testCustomRoleManager) BuildRelationship(name1 string, name2 string,
domain ...string) error {
return nil
}
+
func (rm *testCustomRoleManager) DeleteLink(name1 string, name2 string, domain
...string) error {
return nil
}
+
func (rm *testCustomRoleManager) HasLink(name1 string, name2 string, domain
...string) (bool, error) {
if name1 == "alice" && name2 == "alice" {
return true, nil
@@ -467,15 +470,19 @@ func (rm *testCustomRoleManager) HasLink(name1 string,
name2 string, domain ...s
}
return false, nil
}
+
func (rm *testCustomRoleManager) GetRoles(name string, domain ...string)
([]string, error) {
return []string{}, nil
}
+
func (rm *testCustomRoleManager) GetUsers(name string, domain ...string)
([]string, error) {
return []string{}, nil
}
+
func (rm *testCustomRoleManager) GetDomains(name string) ([]string, error) {
return []string{}, nil
}
+
func (rm *testCustomRoleManager) GetAllDomains() ([]string, error) {
return []string{}, nil
}
@@ -487,10 +494,13 @@ func (rm *testCustomRoleManager)
AddDomainMatchingFunc(name string, fn rbac.Matc
func (rm *testCustomRoleManager) AddLinkConditionFunc(userName, roleName
string, fn rbac.LinkConditionFunc) {
}
+
func (rm *testCustomRoleManager) SetLinkConditionFuncParams(userName, roleName
string, params ...string) {
}
+
func (rm *testCustomRoleManager) AddDomainLinkConditionFunc(user string, role
string, domain string, fn rbac.LinkConditionFunc) {
}
+
func (rm *testCustomRoleManager) SetDomainLinkConditionFuncParams(user string,
role string, domain string, params ...string) {
}
diff --git a/rbac/default-role-manager/role_manager.go
b/rbac/default-role-manager/role_manager.go
index aa2a103..2e35d57 100644
--- a/rbac/default-role-manager/role_manager.go
+++ b/rbac/default-role-manager/role_manager.go
@@ -825,7 +825,6 @@ func (crm *ConditionalRoleManager) hasLinkHelper(targetName
string, roles map[st
func (crm *ConditionalRoleManager) getNextRoles(currentRole, nextRole *Role,
domains []string, nextRoles map[string]*Role) bool {
passLinkConditionFunc, err := crm.checkLinkCondition(currentRole.name,
nextRole.name, domains)
-
if err != nil {
// Logger has been removed - error is ignored
return false
diff --git a/rbac_api_test.go b/rbac_api_test.go
index 40dd82f..f1d3be4 100644
--- a/rbac_api_test.go
+++ b/rbac_api_test.go
@@ -626,16 +626,20 @@ func testGetImplicitUsersForResource(t *testing.T, e
*Enforcer, res [][]string,
func TestGetImplicitUsersForResource(t *testing.T) {
e, _ := NewEnforcer("examples/rbac_model.conf",
"examples/rbac_policy.csv")
testGetImplicitUsersForResource(t, e, [][]string{{"alice", "data1",
"read"}}, "data1")
- testGetImplicitUsersForResource(t, e, [][]string{{"bob", "data2",
"write"},
+ testGetImplicitUsersForResource(t, e, [][]string{
+ {"bob", "data2", "write"},
{"alice", "data2", "read"},
- {"alice", "data2", "write"}}, "data2")
+ {"alice", "data2", "write"},
+ }, "data2")
// test duplicate permissions
_, _ = e.AddGroupingPolicy("alice", "data2_admin_2")
_, _ = e.AddPolicies([][]string{{"data2_admin_2", "data2", "read"},
{"data2_admin_2", "data2", "write"}})
- testGetImplicitUsersForResource(t, e, [][]string{{"bob", "data2",
"write"},
+ testGetImplicitUsersForResource(t, e, [][]string{
+ {"bob", "data2", "write"},
{"alice", "data2", "read"},
- {"alice", "data2", "write"}}, "data2")
+ {"alice", "data2", "write"},
+ }, "data2")
}
func TestGetImplicitUsersForResourceWithResourceRoles(t *testing.T) {
@@ -691,13 +695,17 @@ func testGetImplicitUsersForResourceByDomain(t
*testing.T, e *Enforcer, res [][]
func TestGetImplicitUsersForResourceByDomain(t *testing.T) {
e, _ := NewEnforcer("examples/rbac_with_domains_model.conf",
"examples/rbac_with_domains_policy.csv")
- testGetImplicitUsersForResourceByDomain(t, e, [][]string{{"alice",
"domain1", "data1", "read"},
- {"alice", "domain1", "data1", "write"}}, "data1", "domain1")
+ testGetImplicitUsersForResourceByDomain(t, e, [][]string{
+ {"alice", "domain1", "data1", "read"},
+ {"alice", "domain1", "data1", "write"},
+ }, "data1", "domain1")
testGetImplicitUsersForResourceByDomain(t, e, [][]string{}, "data2",
"domain1")
- testGetImplicitUsersForResourceByDomain(t, e, [][]string{{"bob",
"domain2", "data2", "read"},
- {"bob", "domain2", "data2", "write"}}, "data2", "domain2")
+ testGetImplicitUsersForResourceByDomain(t, e, [][]string{
+ {"bob", "domain2", "data2", "read"},
+ {"bob", "domain2", "data2", "write"},
+ }, "data2", "domain2")
}
func TestConditional(t *testing.T) {
diff --git a/util/util_test.go b/util/util_test.go
index 201fa0c..45082b5 100644
--- a/util/util_test.go
+++ b/util/util_test.go
@@ -132,6 +132,7 @@ func testContainEval(t *testing.T, s string, res bool) {
t.Errorf("%s: %t, supposed to be %t", s, myRes, res)
}
}
+
func TestContainEval(t *testing.T) {
testContainEval(t, "eval() && a && b && c", true)
testContainEval(t, "eval) && a && b && c", false)
@@ -148,6 +149,7 @@ func testReplaceEval(t *testing.T, s string, rule string,
res string) {
t.Errorf("%s: %s supposed to be %s", s, myRes, res)
}
}
+
func TestReplaceEval(t *testing.T) {
testReplaceEval(t, "eval() && a && b && c", "a", "(a) && a && b && c")
testReplaceEval(t, "eval() && a && b && c", "(a)", "((a)) && a && b &&
c")
diff --git a/watcher_ex_test.go b/watcher_ex_test.go
index bdd905a..c345281 100644
--- a/watcher_ex_test.go
+++ b/watcher_ex_test.go
@@ -30,6 +30,7 @@ type SampleWatcherEx struct {
func (w SampleWatcherEx) UpdateForAddPolicy(sec, ptype string, params
...string) error {
return nil
}
+
func (w SampleWatcherEx) UpdateForRemovePolicy(sec, ptype string, params
...string) error {
return nil
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]