@@ -3,7 +3,6 @@ package mongodbatlas
3
3
import (
4
4
"context"
5
5
"fmt"
6
- "log"
7
6
"os"
8
7
"testing"
9
8
@@ -70,7 +69,7 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_WithInheritedRoles(t *testing.T) {
70
69
71
70
inheritRole := []matlas.CustomDBRole {
72
71
{
73
- RoleName : fmt .Sprintf ("a_test -acc-INHERITED_ROLE-%s" , acctest .RandString (5 )),
72
+ RoleName : fmt .Sprintf ("test -acc-INHERITED_ROLE-%s" , acctest .RandString (5 )),
74
73
Actions : []matlas.Action {{
75
74
Action : "INSERT" ,
76
75
Resources : []matlas.Resource {{
@@ -176,10 +175,6 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_WithInheritedRoles(t *testing.T) {
176
175
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.action" , testRole .Actions [0 ].Action ),
177
176
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.resources.#" , cast .ToString (len (testRole .Actions [0 ].Resources ))),
178
177
resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.#" , "2" ),
179
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.role_name" , inheritRole [0 ].RoleName ),
180
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.database_name" , "admin" ),
181
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.1.role_name" , inheritRole [1 ].RoleName ),
182
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.1.database_name" , "admin" ),
183
178
),
184
179
},
185
180
{
@@ -223,20 +218,18 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_WithInheritedRoles(t *testing.T) {
223
218
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.action" , testRoleUpdated .Actions [0 ].Action ),
224
219
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.resources.#" , cast .ToString (len (testRoleUpdated .Actions [0 ].Resources ))),
225
220
resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.#" , "2" ),
226
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.role_name" , inheritRole [0 ].RoleName ),
227
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.database_name" , "admin" ),
228
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.1.role_name" , inheritRole [1 ].RoleName ),
229
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.1.database_name" , "admin" ),
230
221
),
231
222
},
232
223
},
233
224
})
234
225
}
235
226
236
227
func TestAccResourceMongoDBAtlasCustomDBRoles_MultipleCustomRoles (t * testing.T ) {
237
- testRoleResourceName := "mongodbatlas_custom_db_role.test_role"
238
- InheritedRoleResourceName := "mongodbatlas_custom_db_role.inherited_role"
239
- projectID := os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
228
+ var (
229
+ testRoleResourceName = "mongodbatlas_custom_db_role.test_role"
230
+ InheritedRoleResourceName = "mongodbatlas_custom_db_role.inherited_role"
231
+ projectID = os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
232
+ )
240
233
241
234
inheritRole := & matlas.CustomDBRole {
242
235
RoleName : fmt .Sprintf ("test-acc-INHERITED_ROLE-%s" , acctest .RandString (5 )),
@@ -412,8 +405,6 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_MultipleCustomRoles(t *testing.T)
412
405
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.action" , testRoleUpdated .Actions [0 ].Action ),
413
406
resource .TestCheckResourceAttr (testRoleResourceName , "actions.0.resources.#" , cast .ToString (len (testRoleUpdated .Actions [0 ].Resources ))),
414
407
resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.#" , "1" ),
415
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.role_name" , inheritRoleUpdated .RoleName ),
416
- resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.0.database_name" , "admin" ),
417
408
),
418
409
},
419
410
},
@@ -458,11 +449,12 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_MultipleResources(t *testing.T) {
458
449
}
459
450
460
451
func TestAccResourceMongoDBAtlasCustomDBRoles_importBasic (t * testing.T ) {
461
- resourceName := "mongodbatlas_custom_db_role.test"
462
-
463
- projectID := os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
464
- roleName := fmt .Sprintf ("test-acc-custom_role-%s" , acctest .RandString (5 ))
465
- databaseName := fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 ))
452
+ var (
453
+ resourceName = "mongodbatlas_custom_db_role.test"
454
+ projectID = os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
455
+ roleName = fmt .Sprintf ("test-acc-custom_role-%s" , acctest .RandString (5 ))
456
+ databaseName = fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 ))
457
+ )
466
458
467
459
resource .Test (t , resource.TestCase {
468
460
PreCheck : func () { testAccPreCheck (t ) },
@@ -482,6 +474,145 @@ func TestAccResourceMongoDBAtlasCustomDBRoles_importBasic(t *testing.T) {
482
474
})
483
475
}
484
476
477
+ func TestAccResourceMongoDBAtlasCustomDBRoles_UpdatedInheritRoles (t * testing.T ) {
478
+ var (
479
+ testRoleResourceName = "mongodbatlas_custom_db_role.test_role"
480
+ InheritedRoleResourceName = "mongodbatlas_custom_db_role.inherited_role"
481
+ projectID = os .Getenv ("MONGODB_ATLAS_PROJECT_ID" )
482
+ )
483
+
484
+ inheritRole := & matlas.CustomDBRole {
485
+ RoleName : fmt .Sprintf ("test-acc-INHERITED_ROLE-%s" , acctest .RandString (5 )),
486
+ Actions : []matlas.Action {
487
+ {
488
+ Action : "REMOVE" ,
489
+ Resources : []matlas.Resource {
490
+ {
491
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
492
+ },
493
+ {
494
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
495
+ },
496
+ },
497
+ },
498
+ {
499
+ Action : "FIND" ,
500
+ Resources : []matlas.Resource {
501
+ {
502
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
503
+ },
504
+ },
505
+ },
506
+ },
507
+ }
508
+
509
+ inheritRoleUpdated := & matlas.CustomDBRole {
510
+ RoleName : inheritRole .RoleName ,
511
+ Actions : []matlas.Action {
512
+ {
513
+ Action : "UPDATE" ,
514
+ Resources : []matlas.Resource {
515
+ {
516
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
517
+ },
518
+ },
519
+ },
520
+ {
521
+ Action : "FIND" ,
522
+ Resources : []matlas.Resource {
523
+ {
524
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
525
+ },
526
+ {
527
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
528
+ },
529
+ },
530
+ },
531
+ {
532
+ Action : "INSERT" ,
533
+ Resources : []matlas.Resource {
534
+ {
535
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
536
+ },
537
+ {
538
+ Db : fmt .Sprintf ("test-acc-db_name-%s" , acctest .RandString (5 )),
539
+ },
540
+ },
541
+ },
542
+ },
543
+ }
544
+
545
+ testRole := & matlas.CustomDBRole {
546
+ RoleName : fmt .Sprintf ("test-acc-TEST_ROLE-%s" , acctest .RandString (5 )),
547
+ InheritedRoles : []matlas.InheritedRole {
548
+ {
549
+ Role : inheritRole .RoleName ,
550
+ Db : "admin" ,
551
+ },
552
+ },
553
+ }
554
+
555
+ resource .Test (t , resource.TestCase {
556
+ PreCheck : func () { testAccPreCheck (t ) },
557
+ Providers : testAccProviders ,
558
+ CheckDestroy : testAccCheckMongoDBAtlasCustomDBRolesDestroy ,
559
+ Steps : []resource.TestStep {
560
+ {
561
+ Config : testAccMongoDBAtlasCustomDBRolesConfigMultiple (projectID , inheritRole , testRole ),
562
+ Check : resource .ComposeTestCheckFunc (
563
+
564
+ // For Inherited Role
565
+ testAccCheckMongoDBAtlasCustomDBRolesExists (InheritedRoleResourceName ),
566
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "project_id" ),
567
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "role_name" ),
568
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "actions.0.action" ),
569
+
570
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "project_id" , projectID ),
571
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "role_name" , inheritRole .RoleName ),
572
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.#" , cast .ToString (len (inheritRole .Actions ))),
573
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.0.action" , inheritRole .Actions [0 ].Action ),
574
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.0.resources.#" , cast .ToString (len (inheritRole .Actions [0 ].Resources ))),
575
+
576
+ // For Test Role
577
+ testAccCheckMongoDBAtlasCustomDBRolesExists (testRoleResourceName ),
578
+ resource .TestCheckResourceAttrSet (testRoleResourceName , "project_id" ),
579
+ resource .TestCheckResourceAttrSet (testRoleResourceName , "role_name" ),
580
+
581
+ resource .TestCheckResourceAttr (testRoleResourceName , "project_id" , projectID ),
582
+ resource .TestCheckResourceAttr (testRoleResourceName , "role_name" , testRole .RoleName ),
583
+ resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.#" , "1" ),
584
+ ),
585
+ },
586
+ {
587
+ Config : testAccMongoDBAtlasCustomDBRolesConfigMultiple (projectID , inheritRoleUpdated , testRole ),
588
+ Check : resource .ComposeTestCheckFunc (
589
+
590
+ // For Inherited Role
591
+ testAccCheckMongoDBAtlasCustomDBRolesExists (InheritedRoleResourceName ),
592
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "project_id" ),
593
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "role_name" ),
594
+ resource .TestCheckResourceAttrSet (InheritedRoleResourceName , "actions.0.action" ),
595
+
596
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "project_id" , projectID ),
597
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "role_name" , inheritRoleUpdated .RoleName ),
598
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.#" , cast .ToString (len (inheritRoleUpdated .Actions ))),
599
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.0.action" , inheritRoleUpdated .Actions [0 ].Action ),
600
+ resource .TestCheckResourceAttr (InheritedRoleResourceName , "actions.0.resources.#" , cast .ToString (len (inheritRoleUpdated .Actions [0 ].Resources ))),
601
+
602
+ // For Test Role
603
+ testAccCheckMongoDBAtlasCustomDBRolesExists (testRoleResourceName ),
604
+ resource .TestCheckResourceAttrSet (testRoleResourceName , "project_id" ),
605
+ resource .TestCheckResourceAttrSet (testRoleResourceName , "role_name" ),
606
+
607
+ resource .TestCheckResourceAttr (testRoleResourceName , "project_id" , projectID ),
608
+ resource .TestCheckResourceAttr (testRoleResourceName , "role_name" , testRole .RoleName ),
609
+ resource .TestCheckResourceAttr (testRoleResourceName , "inherited_roles.#" , "1" ),
610
+ ),
611
+ },
612
+ },
613
+ })
614
+ }
615
+
485
616
func testAccCheckMongoDBAtlasCustomDBRolesExists (resourceName string ) resource.TestCheckFunc {
486
617
return func (s * terraform.State ) error {
487
618
conn := testAccProvider .Meta ().(* matlas.Client )
@@ -554,8 +685,6 @@ func testAccMongoDBAtlasCustomDBRolesConfigBasic(projectID, roleName, action, da
554
685
}
555
686
556
687
func testAccMongoDBAtlasCustomDBRolesConfigWithInheritedRoles (projectID string , inheritedRole []matlas.CustomDBRole , testRole * matlas.CustomDBRole ) string {
557
- log .Printf ("LOG___ inheritedRole: %#+v\n " , inheritedRole [1 ])
558
-
559
688
return fmt .Sprintf (`
560
689
resource "mongodbatlas_custom_db_role" "inherited_role_one" {
561
690
project_id = "%s"
0 commit comments