snapshot of https://github.com/traggo/server.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
build / build (push) Failing after 3s

This commit is contained in:
upstream-mirror
2026-09-16 05:24:45 +05:00
commit cda7c1a474
272 changed files with 31973 additions and 0 deletions

55
auth/hasrole_test.go Normal file
View File

@@ -0,0 +1,55 @@
package auth_test
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/traggo/server/auth"
"github.com/traggo/server/generated/gqlmodel"
"github.com/traggo/server/test/fake"
)
var (
successResp = struct{}{}
)
func TestHasRole_requiredUser_givenAdmin_succeeds(t *testing.T) {
res, err := auth.HasRole()(fake.UserWithPerm(1, true), nil, noop, gqlmodel.RoleUser)
assert.Nil(t, err)
assert.Equal(t, successResp, res)
}
func TestHasRole_requiredAdmin_givenAdmin_succeeds(t *testing.T) {
res, err := auth.HasRole()(fake.UserWithPerm(1, true), nil, noop, gqlmodel.RoleAdmin)
assert.Nil(t, err)
assert.Equal(t, successResp, res)
}
func TestHasRole_requiredUser_givenUser_succeeds(t *testing.T) {
res, err := auth.HasRole()(fake.UserWithPerm(1, false), nil, noop, gqlmodel.RoleUser)
assert.Nil(t, err)
assert.Equal(t, successResp, res)
}
func TestHasRole_requiredAdmin_givenUser_fails(t *testing.T) {
res, err := auth.HasRole()(fake.UserWithPerm(1, false), nil, noop, gqlmodel.RoleAdmin)
assert.Nil(t, res)
assert.EqualError(t, err, "permission denied")
}
func TestHasRole_requiredAdmin_noUserGiven_fails(t *testing.T) {
res, err := auth.HasRole()(context.Background(), nil, noop, gqlmodel.RoleAdmin)
assert.Nil(t, res)
assert.EqualError(t, err, "you need to login")
}
func TestHasRole_requiredUser_noUserGiven_fails(t *testing.T) {
res, err := auth.HasRole()(context.Background(), nil, noop, gqlmodel.RoleUser)
assert.Nil(t, res)
assert.EqualError(t, err, "you need to login")
}
func noop(context.Context) (res interface{}, err error) {
return successResp, nil
}