Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

Commit

Permalink
test: add tests of graylog_ldap_setting
Browse files Browse the repository at this point in the history
  • Loading branch information
suzuki-shunsuke committed Jan 13, 2020
1 parent 0cd3ca1 commit f5a7dac
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 100 deletions.
117 changes: 17 additions & 100 deletions terraform/graylog/resource_ldap_setting_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,107 +2,24 @@ package graylog

import (
"testing"
)

// func testDeleteLDAPSetting(
// ctx context.Context, cl *client.Client,
// ) resource.TestCheckFunc {
// return func(tfState *terraform.State) error {
// ls, _, err := cl.GetLDAPSetting(ctx)
// if err != nil {
// return err
// }
// if ls.DisplayNameAttribute != "" {
// return fmt.Errorf(
// `display_name_attribute = "%s", wanted ""`,
// ls.DisplayNameAttribute)
// }
// return nil
// }
// }
//
// func testCreateLDAPSetting(
// ctx context.Context, cl *client.Client, exp string,
// ) resource.TestCheckFunc {
// return func(tfState *terraform.State) error {
// ls, _, err := cl.GetLDAPSetting(ctx)
// if err != nil {
// return err
// }
// if ls.DisplayNameAttribute != exp {
// return fmt.Errorf(
// `display_name_attribute = "%s", wanted "%s"`,
// ls.DisplayNameAttribute, exp)
// }
// return nil
// }
// }
//
// func testUpdateLDAPSetting(
// ctx context.Context, cl *client.Client, exp string,
// ) resource.TestCheckFunc {
// return func(tfState *terraform.State) error {
// ls, _, err := cl.GetLDAPSetting(ctx)
// if err != nil {
// return err
// }
// if ls.DisplayNameAttribute != exp {
// return fmt.Errorf(
// `display_name_attribute = "%s", wanted "%s"`,
// ls.DisplayNameAttribute, exp)
// }
// return nil
// }
// }
"github.com/suzuki-shunsuke/go-graylog/v9/testdata"
)

func TestAccLDAPSetting(t *testing.T) {
// ctx := context.Background()
// cl, err := setEnv()
// if err != nil {
// t.Fatal(err)
// }
//
// testAccProvider := Provider()
// testAccProviders := map[string]terraform.ResourceProvider{
// "graylog": testAccProvider,
// }
//
// createTf := `
// resource "graylog_ldap_setting" "test-terraform" {
// system_username = "admin"
// system_password = "password"
// ldap_uri = "ldap://localhost:389"
// display_name_attribute = "displayname"
// search_base = "OU=user,OU=foo,DC=example,DC=com"
// search_pattern = "(cn={0})"
// default_group = "Reader"
// }`
// updateTf := `
// resource "graylog_ldap_setting" "test-terraform" {
// system_username = "admin"
// system_password = "password"
// ldap_uri = "ldap://localhost:389"
// display_name_attribute = "displayname_updated"
// search_base = "OU=user,OU=foo,DC=example,DC=com"
// search_pattern = "(cn={0})"
// default_group = "Reader"
// }`
// resource.Test(t, resource.TestCase{
// Providers: testAccProviders,
// CheckDestroy: testDeleteLDAPSetting(ctx, cl),
// Steps: []resource.TestStep{
// {
// Config: createTf,
// Check: resource.ComposeTestCheckFunc(
// testCreateLDAPSetting(ctx, cl, "displayname"),
// ),
// },
// {
// Config: updateTf,
// Check: resource.ComposeTestCheckFunc(
// testUpdateLDAPSetting(ctx, cl, "displayname_updated"),
// ),
// },
// },
// })
setEnv()

tc := &testCase{
t: t,
Name: "ldap setting",
GetPath: "/api/system/ldap/settings",

CreateReqBodyMap: map[string]interface{}{},
UpdateReqBodyMap: testdata.CreateLDAPSettingMap(),
CreatedDataPath: "ldap_setting/create.json",
UpdatedDataPath: "ldap_setting/create.json",
CreateTFPath: "ldap_setting/create.tf",
UpdateTFPath: "ldap_setting/create.tf",
}
tc.Test()
}
17 changes: 17 additions & 0 deletions testdata/ldap_setting.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package testdata

func CreateLDAPSettingMap() map[string]interface{} {
return map[string]interface{}{
"enabled": true,
"system_username": "",
"system_password": "",
"ldap_uri": "ldap://localhost:389",
"use_start_tls": false,
"trust_all_certificates": false,
"active_directory": false,
"search_base": "",
"search_pattern": "",
"display_name_attribute": "",
"default_group": "",
}
}
18 changes: 18 additions & 0 deletions testdata/ldap_setting/create.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"enabled": true,
"system_username": "",
"ldap_uri": "ldap://localhost:389",
"use_start_tls": false,
"trust_all_certificates": false,
"active_directory": false,
"search_base": "",
"search_pattern": "",
"display_name_attribute": "",
"default_group": "",
"group_mapping": null,
"group_search_base": null,
"group_id_attribute": null,
"additional_default_groups": null,
"group_search_pattern": null,
"system_password_set": false
}
16 changes: 16 additions & 0 deletions testdata/ldap_setting/create.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
resource "graylog_ldap_setting" "foo" {
enabled = true
system_username = ""
system_password = ""
ldap_uri = "ldap://localhost:389"
use_start_tls = false
trust_all_certificates = false
active_directory = false
search_base = ""
search_pattern = ""
display_name_attribute = ""
default_group = ""
group_search_base = ""
group_id_attribute = ""
group_search_pattern = ""
}

0 comments on commit f5a7dac

Please sign in to comment.