Skip to content

Commit c039f4a

Browse files
committed
[Test] Add tests
1 parent c79ae49 commit c039f4a

File tree

2 files changed

+132
-0
lines changed

2 files changed

+132
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package swr
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"testing"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
9+
"github.com/opentelekomcloud/terraform-provider-opentelekomcloud/opentelekomcloud/acceptance/common"
10+
)
11+
12+
func TestSwrDomainV2DataSourceBasic(t *testing.T) {
13+
domainToShare := os.Getenv("OS_DOMAIN_NAME_2")
14+
if domainToShare == "" {
15+
t.Skip("OS_DOMAIN_NAME_2 is empty")
16+
}
17+
18+
resource.Test(t, resource.TestCase{
19+
PreCheck: func() { common.TestAccPreCheck(t) },
20+
ProviderFactories: common.TestAccProviderFactories,
21+
CheckDestroy: testSwrDomainV2Destroy,
22+
Steps: []resource.TestStep{
23+
{
24+
Config: testSwrDomainV2DSBasic(name, domainToShare),
25+
Check: resource.ComposeTestCheckFunc(
26+
resource.TestCheckResourceAttr(dataSourceDomainName, "permission", "read"),
27+
resource.TestCheckResourceAttr(dataSourceDomainName, "access_domain", domainToShare),
28+
),
29+
},
30+
},
31+
})
32+
}
33+
34+
const (
35+
dataSourceDomainName = "data.opentelekomcloud_swr_domain_v2.domain_1"
36+
)
37+
38+
func testSwrDomainV2DSBasic(name, domainToShare string) string {
39+
return fmt.Sprintf(`
40+
resource opentelekomcloud_swr_organization_v2 org_1 {
41+
name = "%[1]s"
42+
}
43+
44+
resource opentelekomcloud_swr_repository_v2 repo_1 {
45+
organization = opentelekomcloud_swr_organization_v2.org_1.name
46+
name = "%[1]s"
47+
description = "Test repository"
48+
category = "linux"
49+
is_public = false
50+
}
51+
52+
resource opentelekomcloud_swr_domain_v2 domain {
53+
organization = opentelekomcloud_swr_organization_v2.org_1.name
54+
repository = opentelekomcloud_swr_repository_v2.repo_1.name
55+
access_domain = "%[2]s"
56+
permission = "read"
57+
deadline = "forever"
58+
}
59+
60+
data opentelekomcloud_swr_domain_v2 domain_1 {
61+
depends_on = [opentelekomcloud_swr_domain_v2.domain]
62+
organization = opentelekomcloud_swr_organization_v2.org_1.name
63+
repository = opentelekomcloud_swr_repository_v2.repo_1.name
64+
access_domain = "%[2]s"
65+
}
66+
`, name, domainToShare)
67+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package swr
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"testing"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
9+
"github.com/opentelekomcloud/terraform-provider-opentelekomcloud/opentelekomcloud/acceptance/common"
10+
)
11+
12+
func TestSwrDomainsV2DataSourceBasic(t *testing.T) {
13+
domainToShare := os.Getenv("OS_DOMAIN_NAME_2")
14+
if domainToShare == "" {
15+
t.Skip("OS_DOMAIN_NAME_2 is empty")
16+
}
17+
resource.Test(t, resource.TestCase{
18+
PreCheck: func() { common.TestAccPreCheck(t) },
19+
ProviderFactories: common.TestAccProviderFactories,
20+
CheckDestroy: testSwrDomainV2Destroy,
21+
Steps: []resource.TestStep{
22+
{
23+
Config: testSwrDomainsV2DSBasic(name, domainToShare),
24+
Check: resource.ComposeTestCheckFunc(
25+
resource.TestCheckResourceAttr(dataSourceDomainsName, "organization", name),
26+
resource.TestCheckResourceAttrSet(dataSourceDomainsName, "access_domains.0.status"),
27+
),
28+
},
29+
},
30+
})
31+
}
32+
33+
const (
34+
dataSourceDomainsName = "data.opentelekomcloud_swr_domains_v2.domains"
35+
)
36+
37+
func testSwrDomainsV2DSBasic(name, domainToShare string) string {
38+
return fmt.Sprintf(`
39+
resource opentelekomcloud_swr_organization_v2 org_1 {
40+
name = "%[1]s"
41+
}
42+
43+
resource opentelekomcloud_swr_repository_v2 repo_1 {
44+
organization = opentelekomcloud_swr_organization_v2.org_1.name
45+
name = "%[1]s"
46+
description = "Test repository"
47+
category = "linux"
48+
is_public = false
49+
}
50+
51+
resource opentelekomcloud_swr_domain_v2 domain {
52+
organization = opentelekomcloud_swr_organization_v2.org_1.name
53+
repository = opentelekomcloud_swr_repository_v2.repo_1.name
54+
access_domain = "%[2]s"
55+
permission = "read"
56+
deadline = "forever"
57+
}
58+
59+
data opentelekomcloud_swr_domains_v2 domains {
60+
depends_on = [opentelekomcloud_swr_domain_v2.domain]
61+
organization = opentelekomcloud_swr_organization_v2.org_1.name
62+
repository = opentelekomcloud_swr_repository_v2.repo_1.name
63+
}
64+
`, name, domainToShare)
65+
}

0 commit comments

Comments
 (0)