forked from vmware/terraform-provider-vcd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatasource_nsxt_tier0_router_test.go
73 lines (60 loc) · 2.09 KB
/
datasource_nsxt_tier0_router_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// +build ALL nsxt functional
package vcd
import (
"regexp"
"testing"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)
// TestAccVcdDatasourceNsxtTier0Router checks if datasource can find existing regular Tier-0 router
// provided it is specified in configuration
func TestAccVcdDatasourceNsxtTier0Router(t *testing.T) {
testAccVcdDatasourceNsxtTier0Router(t, testConfig.Nsxt.Tier0router)
}
// TestAccVcdDatasourceNsxtTier0Router checks if datasource can find existing VRF Tier-0 router
// provided it is specified in configuration
func TestAccVcdDatasourceNsxtTier0RouterVrf(t *testing.T) {
testAccVcdDatasourceNsxtTier0Router(t, testConfig.Nsxt.Tier0routerVrf)
}
func testAccVcdDatasourceNsxtTier0Router(t *testing.T, tier0RouterName string) {
if !usingSysAdmin() {
t.Skip(t.Name() + " requires system admin privileges")
return
}
skipNoNsxtConfiguration(t)
var params = StringMap{
"FuncName": t.Name(),
"NsxtManager": testConfig.Nsxt.Manager,
"NsxtTier0Router": tier0RouterName,
"Tags": "nsxt",
}
configText := templateFill(testAccCheckVcdNsxtTier0Router, params)
if vcdShortTest {
t.Skip(acceptanceTestsSkipped)
return
}
debugPrintf("#[DEBUG] CONFIGURATION: %s", configText)
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
Steps: []resource.TestStep{
resource.TestStep{
Config: configText,
Check: resource.ComposeTestCheckFunc(
// ID must match URN 'urn:vcloud:nsxtmanager:09722307-aee0-4623-af95-7f8e577c9ebc'
resource.TestMatchResourceAttr("data.vcd_nsxt_manager.nsxt", "id",
regexp.MustCompile(`urn:vcloud:nsxtmanager:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$`)),
resource.TestCheckResourceAttr("data.vcd_nsxt_tier0_router.router", "name", params["NsxtTier0Router"].(string)),
),
},
},
})
}
const testAccCheckVcdNsxtTier0Router = `
data "vcd_nsxt_manager" "nsxt" {
name = "{{.NsxtManager}}"
}
data "vcd_nsxt_tier0_router" "router" {
name = "{{.NsxtTier0Router}}"
nsxt_manager_id = data.vcd_nsxt_manager.nsxt.id
}
`