terraform-provider-gitea/gitea/data_source_gitea_user_test.go

63 lines
1.4 KiB
Go
Raw Normal View History

2022-03-31 21:24:00 +00:00
package gitea
import (
"fmt"
"testing"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
2022-03-31 21:24:00 +00:00
)
func TestAccDataSourceGiteaUser_basic(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
Steps: []resource.TestStep{
// Get user using its username
{
Config: testAccDataGiteaUserConfigUsername(),
Check: resource.ComposeTestCheckFunc(
testAccDataSourceGiteaUser("data.gitea_user.foo"),
),
},
{
Config: testAccDataGiteaUserConfigUsername(),
Check: resource.ComposeTestCheckFunc(
testAccDataSourceGiteaUser("data.gitea_user.self"),
),
},
},
})
}
func testAccDataSourceGiteaUser(src string) resource.TestCheckFunc {
return func(s *terraform.State) error {
user := s.RootModule().Resources[src]
userResource := user.Primary.Attributes
testAttributes := []string{
"username",
}
for _, attribute := range testAttributes {
if userResource[attribute] != "test01" {
return fmt.Errorf("Expected user's parameter `%s` to be: %s, but got: `%s`", attribute, userResource[attribute], "test01")
}
}
return nil
}
}
func testAccDataGiteaUserConfigUsername() string {
return fmt.Sprintf(`
data "gitea_user" "foo" {
username = "test01"
}
data "gitea_user" "self" {
}
`)
}