Files
evening_detective_server/internal/app/users_permissions_test.go
T
2026-10-04 02:49:55 +07:00

41 lines
1.2 KiB
Go

package app
import (
"context"
"testing"
"evening_detective_server/internal/modules/processor_jwt"
"evening_detective_server/internal/services/ui_service"
proto "evening_detective_server/proto"
)
func TestGetPermissionsAllowsAnonymousUsers(t *testing.T) {
s := &server{uiService: ui_service.NewUIService()}
rsp, err := s.GetPermissions(context.Background(), &proto.GetPermissionsReq{})
if err != nil {
t.Fatalf("GetPermissions() error = %v", err)
}
if len(rsp.GetPermissions()) != 0 {
t.Fatalf("anonymous permissions = %v, want empty", rsp.GetPermissions())
}
ctx := processor_jwt.ContextWithClaims(context.Background(), &processor_jwt.JWTClaims{Roles: []string{"user"}})
rsp, err = s.GetPermissions(ctx, &proto.GetPermissionsReq{})
if err != nil {
t.Fatalf("GetPermissions() with claims error = %v", err)
}
if len(rsp.GetPermissions()) == 0 {
t.Fatal("authenticated permissions are empty")
}
ctx = processor_jwt.ContextWithClaims(context.Background(), &processor_jwt.JWTClaims{Roles: []string{"admin"}})
rsp, err = s.GetPermissions(ctx, &proto.GetPermissionsReq{})
if err != nil {
t.Fatalf("GetPermissions() for admin error = %v", err)
}
if len(rsp.GetPermissions()) == 0 {
t.Fatal("admin permissions are empty")
}
}