Skip to content

Commit ac56de3

Browse files
authored
CLOUDP-195522: Correctly fix custom role translation for Atlas API (#1101)
* Correctly fix custom role translation for Atlas API * appropriately update test * actually fix conversion * nicer if format * Refresh AtlasProject object before deletion in tests
1 parent a2ca55e commit ac56de3

File tree

4 files changed

+8
-10
lines changed

4 files changed

+8
-10
lines changed

pkg/api/v1/custom_roles.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package v1
22

33
import (
44
"go.mongodb.org/atlas/mongodbatlas"
5-
6-
"github.com/mongodb/mongodb-atlas-kubernetes/pkg/util/toptr"
75
)
86

97
type CustomRole struct {
@@ -47,8 +45,8 @@ func (in *CustomRole) ToAtlas() *mongodbatlas.CustomDBRole {
4745
resources := make([]mongodbatlas.Resource, 0, len(action.Resources))
4846

4947
for _, resource := range action.Resources {
50-
if resource.Cluster == nil {
51-
resource.Cluster = toptr.MakePtr(false)
48+
if resource.Cluster != nil && !*resource.Cluster {
49+
resource.Cluster = nil
5250
}
5351
resources = append(resources, mongodbatlas.Resource{
5452
Collection: resource.Collection,

pkg/api/v1/custom_roles_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ func TestAtlasCustomRoles_ToAtlas(t *testing.T) {
7676
Action: "testName",
7777
Resources: []mongodbatlas.Resource{
7878
{
79-
Cluster: toptr.MakePtr(false),
79+
Cluster: nil,
8080
DB: toptr.MakePtr("testDB"),
8181
Collection: toptr.MakePtr("testCollection"),
8282
},
8383
{
84-
Cluster: toptr.MakePtr(false),
84+
Cluster: nil,
8585
DB: toptr.MakePtr("testDB2"),
8686
Collection: toptr.MakePtr("testCollection2"),
8787
},
@@ -99,7 +99,7 @@ func TestAtlasCustomRoles_ToAtlas(t *testing.T) {
9999
Action: "testName3",
100100
Resources: []mongodbatlas.Resource{
101101
{
102-
Cluster: toptr.MakePtr(false),
102+
Cluster: nil,
103103
DB: toptr.MakePtr(""),
104104
Collection: toptr.MakePtr(""),
105105
},

pkg/controller/atlasproject/custom_roles.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"fmt"
77

88
"github.com/mongodb/mongodb-atlas-kubernetes/pkg/api/v1/status"
9-
"github.com/mongodb/mongodb-atlas-kubernetes/pkg/util/toptr"
109

1110
"github.com/google/go-cmp/cmp"
1211
"github.com/google/go-cmp/cmp/cmpopts"
@@ -74,8 +73,8 @@ func fetchCustomRoles(ctx *workflow.Context, projectID string) ([]v1.CustomRole,
7473
resources := make([]v1.Resource, 0, len(atlasAction.Resources))
7574

7675
for _, atlasResource := range atlasAction.Resources {
77-
if atlasResource.Cluster == nil {
78-
atlasResource.Cluster = toptr.MakePtr(false)
76+
if atlasResource.Cluster != nil && !*atlasResource.Cluster {
77+
atlasResource.Cluster = nil
7978
}
8079
resources = append(resources, v1.Resource{
8180
Cluster: atlasResource.Cluster,

test/int/project_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ var _ = Describe("AtlasProject", Label("int", "AtlasProject"), func() {
5454
AfterEach(func() {
5555
if createdProject != nil && createdProject.Status.ID != "" {
5656
By("Removing Atlas Project " + createdProject.Status.ID)
57+
Expect(k8sClient.Get(context.Background(), kube.ObjectKeyFromObject(createdProject), createdProject)).To(Succeed())
5758
Expect(k8sClient.Delete(context.Background(), createdProject)).To(Succeed())
5859
Eventually(checkAtlasProjectRemoved(createdProject.Status.ID), 20, interval).Should(BeTrue())
5960
}

0 commit comments

Comments
 (0)