Skip to content

Commit

Permalink
test(user): Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
vaerh committed Jan 5, 2024
1 parent 0b1881f commit c7a1050
Show file tree
Hide file tree
Showing 3 changed files with 150 additions and 0 deletions.
51 changes: 51 additions & 0 deletions routeros/resource_system_user_aaa_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

const testUserAAA = "routeros_system_user_aaa.settings"

func TestAccUserAAATest_basic(t *testing.T) {
t.Parallel()
for _, name := range testNames {
t.Run(name, func(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() {
testAccPreCheck(t)
testSetTransportEnv(t, name)
},
ProviderFactories: testAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testAccUserAAAConfig("true"),
Check: resource.ComposeTestCheckFunc(
testResourcePrimaryInstanceId(testUserAAA),
resource.TestCheckResourceAttr(testUserAAA, "use_radius", "true"),
),
},
{
Config: testAccUserAAAConfig("false"),
Check: resource.ComposeTestCheckFunc(
testResourcePrimaryInstanceId(testUserAAA),
resource.TestCheckResourceAttr(testUserAAA, "use_radius", "false"),
),
},
},
})

})
}
}

func testAccUserAAAConfig(param string) string {
return fmt.Sprintf(`%v
resource "routeros_system_user_aaa" "settings" {
use_radius = %v
}
`, providerConfig, param)
}
45 changes: 45 additions & 0 deletions routeros/resource_system_user_group_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package routeros

import (
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

const testUserGroupAddress = "routeros_system_user_group.test"

func TestAccUserGroupTest_basic(t *testing.T) {
t.Parallel()
for _, name := range testNames {
t.Run(name, func(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() {
testAccPreCheck(t)
testSetTransportEnv(t, name)
},
ProviderFactories: testAccProviderFactories,
CheckDestroy: testCheckResourceDestroy("/user/group", "routeros_system_user_group"),
Steps: []resource.TestStep{
{
Config: testAccUserGroupConfig(),
Check: resource.ComposeTestCheckFunc(
testResourcePrimaryInstanceId(testUserGroupAddress),
resource.TestCheckResourceAttr(testUserGroupAddress, "name", "terraform"),
),
},
},
})

})
}
}

func testAccUserGroupConfig() string {
return providerConfig + `
resource "routeros_system_user_group" "test" {
name = "terraform"
policy = ["api", "!ftp", "!local", "password", "policy", "read", "!reboot", "!rest-api", "!romon", "sensitive", "!sniff", "!ssh", "!telnet", "!test", "!web", "!winbox", "write"]
}
`
}
54 changes: 54 additions & 0 deletions routeros/resource_system_user_settings_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

const testUserSettings = "routeros_system_user_settings.test"

func TestAccUserSettingsTest_basic(t *testing.T) {
t.Parallel()
for _, name := range testNames {
t.Run(name, func(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() {
testAccPreCheck(t)
testSetTransportEnv(t, name)
},
ProviderFactories: testAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testAccUserSettingsConfig("2", "5"),
Check: resource.ComposeTestCheckFunc(
testResourcePrimaryInstanceId(testUserSettings),
resource.TestCheckResourceAttr(testUserSettings, "minimum_categories", "2"),
resource.TestCheckResourceAttr(testUserSettings, "minimum_password_length", "5"),
),
},
{
Config: testAccUserSettingsConfig("0", "0"),
Check: resource.ComposeTestCheckFunc(
testResourcePrimaryInstanceId(testUserSettings),
resource.TestCheckResourceAttr(testUserSettings, "minimum_categories", "0"),
resource.TestCheckResourceAttr(testUserSettings, "minimum_password_length", "0"),
),
},
},
})

})
}
}

func testAccUserSettingsConfig(p1, p2 string) string {
return fmt.Sprintf(`%v
resource "routeros_system_user_settings" "test" {
minimum_categories = %v
minimum_password_length = %v
}
`, providerConfig, p1, p2)
}

0 comments on commit c7a1050

Please sign in to comment.