mirror of
https://github.com/paralus/paralus.git
synced 2026-08-24 15:47:19 +00:00
fix: unable to create/update project when roles specified (#314)
Crate or Update project with roles association provided under `projectNamespaceRoles` was failing due to empty group name passed to Casbin. It fixes minor bug getting group name. Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
This commit is contained in:
@@ -493,13 +493,12 @@ func (s *projectService) createGroupRoleRelations(ctx context.Context, db bun.ID
|
||||
return &systemv3.Project{}, fmt.Errorf("unable to find group '%v'", grp)
|
||||
}
|
||||
var grpId uuid.UUID
|
||||
var grpName string
|
||||
if g, ok := entity.(*models.Group); ok {
|
||||
grpId = g.ID
|
||||
grpName = g.Name
|
||||
} else {
|
||||
return &systemv3.Project{}, fmt.Errorf("unable to find group '%v'", grp)
|
||||
}
|
||||
grpName := *grp
|
||||
|
||||
org := project.Metadata.Organization
|
||||
switch scope {
|
||||
|
||||
@@ -32,11 +32,29 @@ func TestCreateProject(t *testing.T) {
|
||||
mock.ExpectBegin()
|
||||
mock.ExpectQuery(`INSERT INTO "authsrv_project"`).
|
||||
WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(puuid))
|
||||
mock.ExpectQuery(`SELECT (.+) FROM "authsrv_resourcerole"`).
|
||||
WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id", "scope", "name"}).
|
||||
AddRow(puuid, "project", "PROJECT_READ_ONLY"))
|
||||
mock.ExpectQuery(`SELECT (.+) FROM "authsrv_group"`).
|
||||
WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(puuid))
|
||||
mock.ExpectQuery(`INSERT INTO "authsrv_projectgrouprole"`).
|
||||
WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(puuid))
|
||||
mock.ExpectCommit()
|
||||
|
||||
name := "project-" + puuid
|
||||
group := "group1"
|
||||
|
||||
project := &systemv3.Project{
|
||||
Metadata: &v3.Metadata{Id: puuid, Name: "project-" + puuid, Organization: "orgname"},
|
||||
Spec: &systemv3.ProjectSpec{},
|
||||
Metadata: &v3.Metadata{Id: puuid, Name: name, Organization: "orgname"},
|
||||
Spec: &systemv3.ProjectSpec{
|
||||
ProjectNamespaceRoles: []*userv3.ProjectNamespaceRole{
|
||||
{
|
||||
Role: "PROJECT_READ_ONLY",
|
||||
Project: &name,
|
||||
Group: &group,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
project, err := ps.Create(context.Background(), project)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user