Skip to content

Commit 3f7588b

Browse files
authored
Revise LDAP tests to pass with OpenLDAP server (#1959)
Signed-off-by: Kobi Samoray <kobi.samoray@broadcom.com>
1 parent 74438ed commit 3f7588b

File tree

4 files changed

+61
-47
lines changed

4 files changed

+61
-47
lines changed

nsxt/resource_nsxt_policy_ldap_identity_source_test.go

Lines changed: 17 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,14 @@ var accTestPolicyLdapIdentitySourceUpdateAttributes = map[string]string{
2424

2525
func TestAccResourceNsxtPolicyLdapIdentitySource_basic(t *testing.T) {
2626
testResourceName := "nsxt_policy_ldap_identity_source.test"
27-
ldapType := activeDirectoryType
27+
ldapType := openLdapType
2828

2929
resource.Test(t, resource.TestCase{
3030
PreCheck: func() {
3131
testAccPreCheck(t)
32-
testAccEnvDefined(t, "NSXT_TEST_LDAP_USER")
33-
testAccEnvDefined(t, "NSXT_TEST_LDAP_PASSWORD")
32+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_USER")
33+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_PASSWORD")
3434
testAccEnvDefined(t, "NSXT_TEST_LDAP_URL")
35-
testAccEnvDefined(t, "NSXT_TEST_LDAP_CERT")
3635
testAccEnvDefined(t, "NSXT_TEST_LDAP_DOMAIN")
3736
testAccEnvDefined(t, "NSXT_TEST_LDAP_BASE_DN")
3837
testAccOnlyLocalManager(t)
@@ -44,19 +43,18 @@ func TestAccResourceNsxtPolicyLdapIdentitySource_basic(t *testing.T) {
4443
Steps: []resource.TestStep{
4544
{
4645
Config: testAccNsxtPolicyLdapIdentitySourceCreate(
47-
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapUser(), getTestLdapPassword(),
48-
getTestLdapURL(), getTestLdapCert()),
46+
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapAdminUser(), getTestLdapAdminPassword(), getTestLdapURL()),
4947
Check: resource.ComposeTestCheckFunc(
5048
testAccNsxtPolicyLdapIdentitySourceExists(accTestPolicyLdapIdentitySourceCreateAttributes["nsx_id"], testResourceName),
5149
resource.TestCheckResourceAttr(testResourceName, "description", accTestPolicyLdapIdentitySourceCreateAttributes["description"]),
5250
resource.TestCheckResourceAttr(testResourceName, "type", ldapType),
5351
resource.TestCheckResourceAttr(testResourceName, "domain_name", getTestLdapDomain()),
5452
resource.TestCheckResourceAttr(testResourceName, "base_dn", getTestLdapBaseDN()),
5553
resource.TestCheckResourceAttr(testResourceName, "ldap_server.#", "1"),
56-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.bind_identity", getTestLdapUser()),
57-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.password", getTestLdapPassword()),
54+
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.bind_identity", getTestLdapAdminUser()),
55+
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.password", getTestLdapAdminPassword()),
5856
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.url", getTestLdapURL()),
59-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.certificates.#", "1"),
57+
//resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.certificates.#", "1"),
6058
resource.TestCheckResourceAttr(testResourceName, "tag.#", "1"),
6159

6260
resource.TestCheckResourceAttr(testResourceName, "nsx_id", accTestPolicyLdapIdentitySourceCreateAttributes["nsx_id"]),
@@ -65,19 +63,17 @@ func TestAccResourceNsxtPolicyLdapIdentitySource_basic(t *testing.T) {
6563
},
6664
{
6765
Config: testAccNsxtPolicyLdapIdentitySourceUpdate(
68-
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapUser(), getTestLdapPassword(),
69-
getTestLdapURL(), getTestLdapCert()),
66+
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapAdminUser(), getTestLdapAdminPassword(), getTestLdapURL()),
7067
Check: resource.ComposeTestCheckFunc(
7168
testAccNsxtPolicyLdapIdentitySourceExists(accTestPolicyLdapIdentitySourceUpdateAttributes["nsx_id"], testResourceName),
7269
resource.TestCheckResourceAttr(testResourceName, "description", accTestPolicyLdapIdentitySourceUpdateAttributes["description"]),
7370
resource.TestCheckResourceAttr(testResourceName, "type", ldapType),
7471
resource.TestCheckResourceAttr(testResourceName, "domain_name", getTestLdapDomain()),
7572
resource.TestCheckResourceAttr(testResourceName, "base_dn", getTestLdapBaseDN()),
7673
resource.TestCheckResourceAttr(testResourceName, "ldap_server.#", "1"),
77-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.bind_identity", getTestLdapUser()),
78-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.password", getTestLdapPassword()),
74+
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.bind_identity", getTestLdapAdminUser()),
75+
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.password", getTestLdapAdminPassword()),
7976
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.url", getTestLdapURL()),
80-
resource.TestCheckResourceAttr(testResourceName, "ldap_server.0.certificates.#", "1"),
8177
resource.TestCheckResourceAttr(testResourceName, "tag.#", "0"),
8278

8379
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
@@ -94,10 +90,9 @@ func TestAccResourceNsxtPolicyLdapIdentitySource_import_basic(t *testing.T) {
9490
resource.Test(t, resource.TestCase{
9591
PreCheck: func() {
9692
testAccPreCheck(t)
97-
testAccEnvDefined(t, "NSXT_TEST_LDAP_USER")
98-
testAccEnvDefined(t, "NSXT_TEST_LDAP_PASSWORD")
93+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_USER")
94+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_PASSWORD")
9995
testAccEnvDefined(t, "NSXT_TEST_LDAP_URL")
100-
testAccEnvDefined(t, "NSXT_TEST_LDAP_CERT")
10196
testAccEnvDefined(t, "NSXT_TEST_LDAP_DOMAIN")
10297
testAccEnvDefined(t, "NSXT_TEST_LDAP_BASE_DN")
10398
testAccOnlyLocalManager(t)
@@ -109,8 +104,7 @@ func TestAccResourceNsxtPolicyLdapIdentitySource_import_basic(t *testing.T) {
109104
Steps: []resource.TestStep{
110105
{
111106
Config: testAccNsxtPolicyLdapIdentitySourceCreate(
112-
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapUser(), getTestLdapPassword(),
113-
getTestLdapURL(), getTestLdapCert()),
107+
ldapType, getTestLdapDomain(), getTestLdapBaseDN(), getTestLdapAdminUser(), getTestLdapAdminPassword(), getTestLdapURL()),
114108
},
115109
{
116110
ResourceName: testResourceName,
@@ -169,7 +163,7 @@ func testAccNsxtPolicyLdapIdentitySourceCheckDestroy(state *terraform.State, dis
169163
return nil
170164
}
171165

172-
func testAccNsxtPolicyLdapIdentitySourceCreate(serverType, domainName, baseDn, bindUser, bindPwd, url, cert string) string {
166+
func testAccNsxtPolicyLdapIdentitySourceCreate(serverType, domainName, baseDn, bindUser, bindPwd, url string) string {
173167
attrMap := accTestPolicyLdapIdentitySourceCreateAttributes
174168
return fmt.Sprintf(`
175169
resource "nsxt_policy_ldap_identity_source" "test" {
@@ -183,22 +177,16 @@ resource "nsxt_policy_ldap_identity_source" "test" {
183177
bind_identity = "%s"
184178
password = "%s"
185179
url = "%s"
186-
certificates = [
187-
<<-EOT
188-
%s
189-
EOT
190-
,
191-
]
192180
}
193181
194182
tag {
195183
scope = "scope1"
196184
tag = "tag1"
197185
}
198-
}`, attrMap["nsx_id"], attrMap["description"], serverType, domainName, baseDn, bindUser, bindPwd, url, cert)
186+
}`, attrMap["nsx_id"], attrMap["description"], serverType, domainName, baseDn, bindUser, bindPwd, url)
199187
}
200188

201-
func testAccNsxtPolicyLdapIdentitySourceUpdate(serverType, domainName, baseDn, bindUser, bindPwd, url, cert string) string {
189+
func testAccNsxtPolicyLdapIdentitySourceUpdate(serverType, domainName, baseDn, bindUser, bindPwd, url string) string {
202190
attrMap := accTestPolicyLdapIdentitySourceUpdateAttributes
203191
return fmt.Sprintf(`
204192
resource "nsxt_policy_ldap_identity_source" "test" {
@@ -212,12 +200,6 @@ resource "nsxt_policy_ldap_identity_source" "test" {
212200
bind_identity = "%s"
213201
password = "%s"
214202
url = "%s"
215-
certificates = [
216-
<<-EOT
217-
%s
218-
EOT
219-
,
220-
]
221203
}
222-
}`, attrMap["nsx_id"], attrMap["description"], serverType, domainName, baseDn, bindUser, bindPwd, url, cert)
204+
}`, attrMap["nsx_id"], attrMap["description"], serverType, domainName, baseDn, bindUser, bindPwd, url)
223205
}

nsxt/resource_nsxt_policy_role_binding.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ func resourceNsxtPolicyUserManagementRoleBinding() *schema.Resource {
6666
Type: schema.TypeString,
6767
Description: "ID of the external identity source",
6868
Optional: true,
69+
Computed: true,
6970
},
7071
"identity_source_type": {
7172
Type: schema.TypeString,

nsxt/resource_nsxt_policy_role_binding_test.go

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ func TestAccResourceNsxtPolicyRoleBinding_basic(t *testing.T) {
3333
PreCheck: func() {
3434
testAccPreCheck(t)
3535
testAccEnvDefined(t, "NSXT_TEST_LDAP_USER")
36+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_USER")
37+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_PASSWORD")
38+
testAccEnvDefined(t, "NSXT_TEST_LDAP_URL")
39+
testAccEnvDefined(t, "NSXT_TEST_LDAP_DOMAIN")
40+
testAccEnvDefined(t, "NSXT_TEST_LDAP_BASE_DN")
3641
testAccOnlyLocalManager(t)
3742
},
3843
Providers: testAccProviders,
@@ -41,7 +46,7 @@ func TestAccResourceNsxtPolicyRoleBinding_basic(t *testing.T) {
4146
},
4247
Steps: []resource.TestStep{
4348
{
44-
Config: testAccNsxtPolicyRoleBindingCreate(getTestLdapUser(), userType, identType, "false", ""),
49+
Config: testAccNsxtPolicyRoleBindingLdapCreate(getTestLdapUser(), userType, identType),
4550
Check: resource.ComposeTestCheckFunc(
4651
testAccNsxtPolicyRoleBindingExists(accTestPolicyRoleBindingCreateAttributes["display_name"], testResourceName),
4752
resource.TestCheckResourceAttr(testResourceName, "display_name", accTestPolicyRoleBindingCreateAttributes["display_name"]),
@@ -61,7 +66,7 @@ func TestAccResourceNsxtPolicyRoleBinding_basic(t *testing.T) {
6166
),
6267
},
6368
{
64-
Config: testAccNsxtPolicyRoleBindingUpdate(getTestLdapUser(), userType, identType, "false", ""),
69+
Config: testAccNsxtPolicyRoleBindingLdapUpdate(getTestLdapUser(), userType, identType),
6570
Check: resource.ComposeTestCheckFunc(
6671
testAccNsxtPolicyRoleBindingExists(accTestPolicyRoleBindingUpdateAttributes["display_name"], testResourceName),
6772
resource.TestCheckResourceAttr(testResourceName, "display_name", accTestPolicyRoleBindingUpdateAttributes["display_name"]),
@@ -145,6 +150,11 @@ func TestAccResourceNsxtPolicyRoleBinding_import_basic(t *testing.T) {
145150
PreCheck: func() {
146151
testAccPreCheck(t)
147152
testAccEnvDefined(t, "NSXT_TEST_LDAP_USER")
153+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_USER")
154+
testAccEnvDefined(t, "NSXT_TEST_LDAP_ADMIN_PASSWORD")
155+
testAccEnvDefined(t, "NSXT_TEST_LDAP_URL")
156+
testAccEnvDefined(t, "NSXT_TEST_LDAP_DOMAIN")
157+
testAccEnvDefined(t, "NSXT_TEST_LDAP_BASE_DN")
148158
testAccOnlyLocalManager(t)
149159
testAccNSXVersion(t, "4.0.0")
150160
},
@@ -154,12 +164,13 @@ func TestAccResourceNsxtPolicyRoleBinding_import_basic(t *testing.T) {
154164
},
155165
Steps: []resource.TestStep{
156166
{
157-
Config: testAccNsxtPolicyRoleBindingCreate(getTestLdapUser(), userType, identType, "false", ""),
167+
Config: testAccNsxtPolicyRoleBindingLdapCreate(getTestLdapUser(), userType, identType),
158168
},
159169
{
160-
ResourceName: testResourceName,
161-
ImportState: true,
162-
ImportStateVerify: true,
170+
ResourceName: testResourceName,
171+
ImportState: true,
172+
ImportStateVerify: true,
173+
ImportStateVerifyIgnore: []string{"overwrite_local_user"},
163174
},
164175
},
165176
})
@@ -216,6 +227,26 @@ func testAccNsxtPolicyRoleBindingCheckDestroy(state *terraform.State, displayNam
216227
return nil
217228
}
218229

230+
func testAccNsxtPolicyRoleBindingLdapCreate(user, userType, identType string) string {
231+
return testAccNsxtPolicyLdapIdentitySourceCreate(
232+
openLdapType,
233+
getTestLdapDomain(),
234+
getTestLdapBaseDN(),
235+
getTestLdapAdminUser(),
236+
getTestLdapAdminPassword(),
237+
getTestLdapURL()) + testAccNsxtPolicyRoleBindingCreate(user, userType, identType, "false", "nsxt_policy_ldap_identity_source.test")
238+
}
239+
240+
func testAccNsxtPolicyRoleBindingLdapUpdate(user, userType, identType string) string {
241+
return testAccNsxtPolicyLdapIdentitySourceCreate(
242+
openLdapType,
243+
getTestLdapDomain(),
244+
getTestLdapBaseDN(),
245+
getTestLdapAdminUser(),
246+
getTestLdapAdminPassword(),
247+
getTestLdapURL()) + testAccNsxtPolicyRoleBindingUpdate(user, userType, identType, "false", "nsxt_policy_ldap_identity_source.test")
248+
}
249+
219250
func testAccNsxtPolicyRoleBindingLocalOverwrite(user string) string {
220251
return fmt.Sprintf("%s\n%s", testAccNodeUserCreate(user),
221252
testAccNsxtPolicyRoleBindingCreate(

nsxt/utils_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,16 +208,16 @@ func getTestLdapUser() string {
208208
return os.Getenv("NSXT_TEST_LDAP_USER")
209209
}
210210

211-
func getTestLdapPassword() string {
212-
return os.Getenv("NSXT_TEST_LDAP_PASSWORD")
211+
func getTestLdapAdminUser() string {
212+
return os.Getenv("NSXT_TEST_LDAP_ADMIN_USER")
213213
}
214214

215-
func getTestLdapURL() string {
216-
return os.Getenv("NSXT_TEST_LDAP_URL")
215+
func getTestLdapAdminPassword() string {
216+
return os.Getenv("NSXT_TEST_LDAP_ADMIN_PASSWORD")
217217
}
218218

219-
func getTestLdapCert() string {
220-
return os.Getenv("NSXT_TEST_LDAP_CERT")
219+
func getTestLdapURL() string {
220+
return os.Getenv("NSXT_TEST_LDAP_URL")
221221
}
222222

223223
func getTestLdapDomain() string {

0 commit comments

Comments
 (0)