package rulesengine import ( "testing" "github.com/stretchr/testify/assert" ) func TestUserHasRoles(t *testing.T) { tests := map[string]struct { eaRoles []string userEARoles []string expVal bool }{ "True one match": { eaRoles: []string{"test1", "test2"}, userEARoles: []string{"test1"}, expVal: true, }, "True all matches": { eaRoles: []string{"test1", "test2"}, userEARoles: []string{"test1", "test2"}, expVal: true, }, "False no match": { eaRoles: []string{"test1"}, userEARoles: []string{"test2"}, expVal: false, }, "False no eaRoles": { userEARoles: []string{"test1"}, expVal: false, }, "False no userEARoles": { eaRoles: []string{"test1"}, expVal: false, }, "False no eaRoles or userEARoles": { expVal: false, }, } for name, tc := range tests { t.Run(name, func(t *testing.T) { reng := RulesEngine{} assert.Equal(t, tc.expVal, reng.UserHasRoles("userID", tc.eaRoles, tc.userEARoles)) }) } }