Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion internal/provider/resource_gitlab_group_ldap_link.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ func resourceGitlabGroupLdapLinkRead(ctx context.Context, d *schema.ResourceData
if buildTwoPartID(&ldapLink.Provider, &ldapLink.CN) == d.Id() {
d.Set("group_id", groupId)
d.Set("cn", ldapLink.CN)
d.Set("group_access", ldapLink.GroupAccess)
d.Set("group_access", accessLevelValueToName[ldapLink.GroupAccess])
d.Set("ldap_provider", ldapLink.Provider)
found = true
break
Expand Down
49 changes: 2 additions & 47 deletions internal/provider/resource_gitlab_group_ldap_link_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func TestAccGitlabGroupLdapLink_basic(t *testing.T) {

// Create a group LDAP link as a developer (uses testAccGitlabGroupLdapLinkCreateConfig for Config)
{
SkipFunc: testAccGitlabGroupLdapLinkSkipFunc(testLdapLink.CN, testLdapLink.Provider),
SkipFunc: isRunningInCE,
Config: testAccGitlabGroupLdapLinkCreateConfig(rInt, &testLdapLink),
Check: resource.ComposeTestCheckFunc(
testAccCheckGitlabGroupLdapLinkExists("gitlab_group_ldap_link.foo", &ldapLink),
Expand All @@ -39,39 +39,18 @@ func TestAccGitlabGroupLdapLink_basic(t *testing.T) {

// Update the group LDAP link to change the access level (uses testAccGitlabGroupLdapLinkUpdateConfig for Config)
{
SkipFunc: testAccGitlabGroupLdapLinkSkipFunc(testLdapLink.CN, testLdapLink.Provider),
SkipFunc: isRunningInCE,
Config: testAccGitlabGroupLdapLinkUpdateConfig(rInt, &testLdapLink),
Check: resource.ComposeTestCheckFunc(
testAccCheckGitlabGroupLdapLinkExists("gitlab_group_ldap_link.foo", &ldapLink),
testAccCheckGitlabGroupLdapLinkAttributes(&ldapLink, &testAccGitlabGroupLdapLinkExpectedAttributes{
accessLevel: fmt.Sprintf("maintainer"), // nolint // TODO: Resolve this golangci-lint issue: S1039: unnecessary use of fmt.Sprintf (gosimple)
})),
},

// Force create the same group LDAP link in a different resource (uses testAccGitlabGroupLdapLinkForceCreateConfig for Config)
{
SkipFunc: testAccGitlabGroupLdapLinkSkipFunc(testLdapLink.CN, testLdapLink.Provider),
Config: testAccGitlabGroupLdapLinkForceCreateConfig(rInt, &testLdapLink),
Check: resource.ComposeTestCheckFunc(
testAccCheckGitlabGroupLdapLinkExists("gitlab_group_ldap_link.bar", &ldapLink),
testAccCheckGitlabGroupLdapLinkAttributes(&ldapLink, &testAccGitlabGroupLdapLinkExpectedAttributes{
accessLevel: fmt.Sprintf("developer"), // nolint // TODO: Resolve this golangci-lint issue: S1039: unnecessary use of fmt.Sprintf (gosimple)
})),
},
},
})
}

func testAccGitlabGroupLdapLinkSkipFunc(testCN string, testProvider string) func() (bool, error) {
return func() (bool, error) {
if testCN == "default" || testProvider == "default" {
return true, nil
}

return isRunningInCE()
}
}

func testAccCheckGitlabGroupLdapLinkExists(resourceName string, ldapLink *gitlab.LDAPGroupLink) resource.TestCheckFunc {
return func(s *terraform.State) error {
// Clear the "found" LDAP link before checking for existence
Expand Down Expand Up @@ -219,27 +198,3 @@ resource "gitlab_group_ldap_link" "foo" {
ldap_provider = "%s"
}`, rInt, rInt, testLdapLink.CN, testLdapLink.Provider)
}

func testAccGitlabGroupLdapLinkForceCreateConfig(rInt int, testLdapLink *gitlab.LDAPGroupLink) string {
return fmt.Sprintf(`
resource "gitlab_group" "foo" {
name = "foo%d"
path = "foo%d"
description = "Terraform acceptance test - Group LDAP Links 3"
}

resource "gitlab_group_ldap_link" "foo" {
group_id = "${gitlab_group.foo.id}"
cn = "%s"
group_access = "maintainer"
ldap_provider = "%s"
}

resource "gitlab_group_ldap_link" "bar" {
group_id = "${gitlab_group.foo.id}"
cn = "%s"
group_access = "developer"
ldap_provider = "%s"
force = true
}`, rInt, rInt, testLdapLink.CN, testLdapLink.Provider, testLdapLink.CN, testLdapLink.Provider)
}