generated from VLADIMIR/template
41 lines
1.2 KiB
Go
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")
|
|
}
|
|
}
|