@ -89,8 +89,17 @@ func TestResolvers_AttributeScope(t *testing.T) {
wantEvaluator : accesscontrol . EvalPermission ( "datasources:read" , accesscontrol . Scope ( "datasources" , "id" , "5" ) ) ,
wantEvaluator : accesscontrol . EvalPermission ( "datasources:read" , accesscontrol . Scope ( "datasources" , "id" , "5" ) ) ,
wantCalls : 1 ,
wantCalls : 1 ,
} ,
} ,
{
name : "should return error if no resolver is found for scope" ,
orgID : 1 ,
evaluator : accesscontrol . EvalPermission ( "dashboards:read" , "dashboards:id:1" ) ,
wantEvaluator : nil ,
wantCalls : 0 ,
wantErr : accesscontrol . ErrResolverNotFound ,
} ,
}
}
for _ , tt := range tests {
for _ , tt := range tests {
t . Run ( tt . name , func ( t * testing . T ) {
resolvers := accesscontrol . NewResolvers ( log . NewNopLogger ( ) )
resolvers := accesscontrol . NewResolvers ( log . NewNopLogger ( ) )
// Reset calls counter
// Reset calls counter
@ -108,5 +117,6 @@ func TestResolvers_AttributeScope(t *testing.T) {
assert . NoError ( t , err )
assert . NoError ( t , err )
assert . EqualValues ( t , tt . wantEvaluator , resolvedEvaluator , "permission did not match expected resolution" )
assert . EqualValues ( t , tt . wantEvaluator , resolvedEvaluator , "permission did not match expected resolution" )
assert . Equal ( t , tt . wantCalls , calls , "cache has not been used" )
assert . Equal ( t , tt . wantCalls , calls , "cache has not been used" )
} )
}
}
}
}