Skip to content

Commit 0a2d202

Browse files
authored
Merge pull request #122 from terraform-providers/dbusers
Database users: added x509_type attribute
2 parents eb700c7 + 845e158 commit 0a2d202

13 files changed

+285
-149
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/go-test/deep v1.0.1
88
github.com/gobuffalo/packr v1.30.1
99
github.com/hashicorp/terraform v0.12.1
10-
github.com/mongodb/go-client-mongodb-atlas v0.1.3-0.20200124011041-e364211a87d6
10+
github.com/mongodb/go-client-mongodb-atlas v0.1.4-0.20200205164654-a46da013820e
1111
github.com/mwielbut/pointy v1.1.0
1212
github.com/spf13/afero v1.2.2 // indirect
1313
github.com/spf13/cast v1.3.0

go.sum

+13-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzD
2727
github.com/apparentlymart/go-cidr v1.0.0 h1:lGDvXx8Lv9QHjrAVP7jyzleG4F9+FkRhJcEsDFxeb8w=
2828
github.com/apparentlymart/go-cidr v1.0.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
2929
github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
30+
github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I=
3031
github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
3132
github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0=
3233
github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk=
@@ -90,11 +91,13 @@ github.com/gobuffalo/packr v1.30.1/go.mod h1:ljMyFO2EcrnzsHsN99cvbq055Y9OhRrIavi
9091
github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw=
9192
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
9293
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
94+
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
9395
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
9496
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
9597
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
9698
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
9799
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
100+
github.com/golang/mock v1.3.1 h1:qGJ6qTW+x6xX/my+8YUVl4WNpX9B7+/l2tRsHGZ7f2s=
98101
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
99102
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
100103
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -108,6 +111,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
108111
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
109112
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
110113
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
114+
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
111115
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
112116
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
113117
github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU=
@@ -200,7 +204,9 @@ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
200204
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
201205
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
202206
github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
207+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
203208
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
209+
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4=
204210
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
205211
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
206212
github.com/lusis/go-artifactory v0.0.0-20160115162124-7e4ce345df82/go.mod h1:y54tfGmO3NKssKveTEFFzH8C/akrSOy/iW9qEAUDV84=
@@ -249,8 +255,8 @@ github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/I
249255
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
250256
github.com/mongodb/go-client-mongodb-atlas v0.1.3-0.20200124011041-e364211a87d6 h1:DThBIUzmjrnQEKu4NtLkBHDyaAmskZC2fNazB7eX+DE=
251257
github.com/mongodb/go-client-mongodb-atlas v0.1.3-0.20200124011041-e364211a87d6/go.mod h1:LS8O0YLkA+sbtOb3fZLF10yY3tJM+1xATXMJ3oU35LU=
252-
github.com/mongodb/go-client-mongodb-atlas v0.1.3-0.20200116162614-e6f2e30401ac h1:sCeiLQ1of3mhZqBp5BFcdUwfl5WPCdww/78ZmXJRh+M=
253-
github.com/mongodb/go-client-mongodb-atlas v0.1.3-0.20200116162614-e6f2e30401ac/go.mod h1:LS8O0YLkA+sbtOb3fZLF10yY3tJM+1xATXMJ3oU35LU=
258+
github.com/mongodb/go-client-mongodb-atlas v0.1.4-0.20200205164654-a46da013820e h1:NwgM1De1tn6YmH1cn6/DlJ6XHOUp3SaYU58kt956rzs=
259+
github.com/mongodb/go-client-mongodb-atlas v0.1.4-0.20200205164654-a46da013820e/go.mod h1:LS8O0YLkA+sbtOb3fZLF10yY3tJM+1xATXMJ3oU35LU=
254260
github.com/mwielbut/pointy v1.1.0 h1:U5/YEfoIkaGCHv0St3CgjduqXID4FNRoyZgLM1kY9vg=
255261
github.com/mwielbut/pointy v1.1.0/go.mod h1:MvvO+uMFj9T5DMda33HlvogsFBX7pWWKAkFIn4teYwY=
256262
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
@@ -267,6 +273,7 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI
267273
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
268274
github.com/pkg/errors v0.0.0-20170505043639-c605e284fe17 h1:chPfVn+gpAM5CTpTyVU9j8J+xgRGwmoDlNDLjKnJiYo=
269275
github.com/pkg/errors v0.0.0-20170505043639-c605e284fe17/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
276+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
270277
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
271278
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
272279
github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI=
@@ -281,6 +288,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
281288
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
282289
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
283290
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
291+
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
284292
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
285293
github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY=
286294
github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM=
@@ -326,6 +334,7 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM
326334
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
327335
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
328336
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
337+
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
329338
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
330339
github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d/go.mod h1:BSTlc8jOjh0niykqEGVXOLXdi9o0r0kR8tCYiMvjFgw=
331340
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
@@ -397,6 +406,7 @@ golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5Tlb
397406
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
398407
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
399408
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
409+
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
400410
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
401411
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
402412
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -454,6 +464,7 @@ google.golang.org/grpc v1.18.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3
454464
google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A=
455465
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
456466
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
467+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
457468
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
458469
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
459470
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=

mongodbatlas/data_source_mongodbatlas_database_user.go

+19-8
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@ func dataSourceMongoDBAtlasDatabaseUser() *schema.Resource {
2121
Type: schema.TypeString,
2222
Required: true,
2323
},
24-
25-
"database_name": {
24+
"auth_database_name": {
25+
Type: schema.TypeString,
26+
Required: true,
27+
},
28+
"x509_type": {
2629
Type: schema.TypeString,
2730
Computed: true,
2831
},
@@ -47,7 +50,7 @@ func dataSourceMongoDBAtlasDatabaseUser() *schema.Resource {
4750
},
4851
},
4952
"labels": {
50-
Type: schema.TypeSet,
53+
Type: schema.TypeList,
5154
Computed: true,
5255
Elem: &schema.Resource{
5356
Schema: map[string]*schema.Schema{
@@ -71,17 +74,20 @@ func dataSourceMongoDBAtlasDatabaseUserRead(d *schema.ResourceData, meta interfa
7174
conn := meta.(*matlas.Client)
7275
projectID := d.Get("project_id").(string)
7376
username := d.Get("username").(string)
77+
databaseName := d.Get("auth_database_name").(string)
7478

75-
dbUser, _, err := conn.DatabaseUsers.Get(context.Background(), projectID, username)
76-
79+
dbUser, _, err := conn.DatabaseUsers.Get(context.Background(), databaseName, projectID, username)
7780
if err != nil {
7881
return fmt.Errorf("error getting database user information: %s", err)
7982
}
8083
if err := d.Set("username", dbUser.Username); err != nil {
8184
return fmt.Errorf("error setting `username` for database user (%s): %s", d.Id(), err)
8285
}
83-
if err := d.Set("database_name", dbUser.DatabaseName); err != nil {
84-
return fmt.Errorf("error setting `database_name` for database user (%s): %s", d.Id(), err)
86+
if err := d.Set("auth_database_name", dbUser.DatabaseName); err != nil {
87+
return fmt.Errorf("error setting `auth_database_name` for database user (%s): %s", d.Id(), err)
88+
}
89+
if err := d.Set("x509_type", dbUser.X509Type); err != nil {
90+
return fmt.Errorf("error setting `x509_type` for database user (%s): %s", d.Id(), err)
8591
}
8692
if err := d.Set("roles", flattenRoles(dbUser.Roles)); err != nil {
8793
return fmt.Errorf("error setting `roles` for database user (%s): %s", d.Id(), err)
@@ -90,6 +96,11 @@ func dataSourceMongoDBAtlasDatabaseUserRead(d *schema.ResourceData, meta interfa
9096
return fmt.Errorf("error setting `labels` for database user (%s): %s", d.Id(), err)
9197
}
9298

93-
d.SetId(dbUser.Username)
99+
d.SetId(encodeStateID(map[string]string{
100+
"project_id": projectID,
101+
"username": username,
102+
"auth_database_name": databaseName,
103+
}))
104+
94105
return nil
95106
}

mongodbatlas/data_source_mongodbatlas_database_user_test.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ func TestAccDataSourceMongoDBAtlasDatabaseUser_basic(t *testing.T) {
1515

1616
resourceName := "data.mongodbatlas_database_user.test"
1717
projectID := os.Getenv("MONGODB_ATLAS_PROJECT_ID")
18-
1918
roleName := "atlasAdmin"
20-
2119
username := fmt.Sprintf("test-acc-%s", acctest.RandString(10))
2220

2321
resource.ParallelTest(t, resource.TestCase{
@@ -31,7 +29,8 @@ func TestAccDataSourceMongoDBAtlasDatabaseUser_basic(t *testing.T) {
3129
testAccCheckMongoDBAtlasDatabaseUserAttributes(&dbUser, username),
3230
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
3331
resource.TestCheckResourceAttr(resourceName, "username", username),
34-
resource.TestCheckResourceAttr(resourceName, "database_name", "admin"),
32+
resource.TestCheckResourceAttr(resourceName, "auth_database_name", "admin"),
33+
resource.TestCheckResourceAttr(resourceName, "x509_type", "NONE"),
3534
resource.TestCheckResourceAttr(resourceName, "roles.0.role_name", roleName),
3635
resource.TestCheckResourceAttr(resourceName, "roles.0.database_name", "admin"),
3736
resource.TestCheckResourceAttr(resourceName, "labels.#", "2"),
@@ -45,11 +44,11 @@ func TestAccDataSourceMongoDBAtlasDatabaseUser_basic(t *testing.T) {
4544
func testAccMongoDBAtlasDatabaseUserDataSourceConfig(projectID, roleName, username string) string {
4645
return fmt.Sprintf(`
4746
resource "mongodbatlas_database_user" "test" {
48-
username = "%[3]s"
49-
password = "test-acc-password"
50-
project_id = "%[1]s"
51-
database_name = "admin"
52-
47+
username = "%[3]s"
48+
password = "test-acc-password"
49+
project_id = "%[1]s"
50+
auth_database_name = "admin"
51+
5352
roles {
5453
role_name = "%[2]s"
5554
database_name = "admin"
@@ -66,8 +65,9 @@ func testAccMongoDBAtlasDatabaseUserDataSourceConfig(projectID, roleName, userna
6665
}
6766
6867
data "mongodbatlas_database_user" "test" {
69-
username = mongodbatlas_database_user.test.username
70-
project_id = mongodbatlas_database_user.test.project_id
68+
username = mongodbatlas_database_user.test.username
69+
project_id = mongodbatlas_database_user.test.project_id
70+
auth_database_name = "admin"
7171
}
7272
`, projectID, roleName, username)
7373
}

mongodbatlas/data_source_mongodbatlas_database_users.go

+11-7
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,11 @@ func dataSourceMongoDBAtlasDatabaseUsers() *schema.Resource {
3535
Type: schema.TypeString,
3636
Computed: true,
3737
},
38-
39-
"database_name": {
38+
"auth_database_name": {
39+
Type: schema.TypeString,
40+
Computed: true,
41+
},
42+
"x509_type": {
4043
Type: schema.TypeString,
4144
Computed: true,
4245
},
@@ -111,11 +114,12 @@ func flattenDBUsers(dbUsers []matlas.DatabaseUser) []map[string]interface{} {
111114

112115
for k, dbUser := range dbUsers {
113116
dbUsersMap[k] = map[string]interface{}{
114-
"roles": flattenRoles(dbUser.Roles),
115-
"username": dbUser.Username,
116-
"project_id": dbUser.GroupID,
117-
"database_name": dbUser.DatabaseName,
118-
"labels": flattenLabels(dbUser.Labels),
117+
"roles": flattenRoles(dbUser.Roles),
118+
"username": dbUser.Username,
119+
"project_id": dbUser.GroupID,
120+
"auth_database_name": dbUser.DatabaseName,
121+
"x509_type": dbUser.X509Type,
122+
"labels": flattenLabels(dbUser.Labels),
119123
}
120124
}
121125
}

mongodbatlas/data_source_mongodbatlas_database_users_test.go

+13-10
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ func TestAccDataSourceMongoDBAtlasDatabaseUsers_basic(t *testing.T) {
3131
{
3232
Config: testAccMongoDBAtlasDatabaseUsersDataSourceConfigWithDS(projectID, roleName, username),
3333
Check: resource.ComposeTestCheckFunc(
34+
resource.TestCheckResourceAttr(resourceName, "project_id", projectID),
35+
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
3436
resource.TestCheckResourceAttrSet(resourceName, "results.#"),
37+
resource.TestCheckResourceAttrSet(resourceName, "results.0.x509_type"),
3538
resource.TestCheckResourceAttrSet(resourceName, "results.0.username"),
3639
resource.TestCheckResourceAttrSet(resourceName, "results.0.roles.#"),
3740
),
@@ -44,23 +47,23 @@ func TestAccDataSourceMongoDBAtlasDatabaseUsers_basic(t *testing.T) {
4447
func testAccMongoDBAtlasDatabaseUsersDataSourceConfig(projectID, roleName, username string) string {
4548
return fmt.Sprintf(`
4649
resource "mongodbatlas_database_user" "db_user" {
47-
username = "%[3]s"
48-
password = "test-acc-password"
49-
project_id = "%[1]s"
50-
database_name = "admin"
51-
50+
username = "%[3]s"
51+
password = "test-acc-password"
52+
project_id = "%[1]s"
53+
auth_database_name = "admin"
54+
5255
roles {
5356
role_name = "%[2]s"
5457
database_name = "admin"
5558
}
5659
}
5760
5861
resource "mongodbatlas_database_user" "db_user_1" {
59-
username = "%[3]s-1"
60-
password = "test-acc-password-1"
61-
project_id = "%[1]s"
62-
database_name = "admin"
63-
62+
username = "%[3]s-1"
63+
password = "test-acc-password-1"
64+
project_id = "%[1]s"
65+
auth_database_name = "admin"
66+
6467
roles {
6568
role_name = "%[2]s"
6669
database_name = "admin"

0 commit comments

Comments
 (0)