Skip to content

Commit 0ce2909

Browse files
committed
Add additional tests
1 parent 01059a5 commit 0ce2909

File tree

1 file changed

+238
-0
lines changed

1 file changed

+238
-0
lines changed

cloudstack/data_source_cloudstack_network_offering_test.go

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,109 @@ func TestAccNetworkOfferingDataSource_basic(t *testing.T) {
3737
Config: testNetworkOfferingDataSourceConfig_basic,
3838
Check: resource.ComposeTestCheckFunc(
3939
resource.TestCheckResourceAttrPair(datasourceName, "name", resourceName, "name"),
40+
resource.TestCheckResourceAttrPair(datasourceName, "display_text", resourceName, "display_text"),
41+
resource.TestCheckResourceAttrPair(datasourceName, "guest_ip_type", resourceName, "guest_ip_type"),
42+
resource.TestCheckResourceAttrPair(datasourceName, "traffic_type", resourceName, "traffic_type"),
43+
),
44+
},
45+
},
46+
})
47+
}
48+
49+
func TestAccNetworkOfferingDataSource_withAdditionalParams(t *testing.T) {
50+
resourceName := "cloudstack_network_offering.net-off-resource"
51+
datasourceName := "data.cloudstack_network_offering.net-off-data-source"
52+
53+
resource.Test(t, resource.TestCase{
54+
PreCheck: func() { testAccPreCheck(t) },
55+
Providers: testAccProviders,
56+
Steps: []resource.TestStep{
57+
{
58+
Config: testNetworkOfferingDataSourceConfig_withAdditionalParams,
59+
Check: resource.ComposeTestCheckFunc(
60+
resource.TestCheckResourceAttrPair(datasourceName, "name", resourceName, "name"),
61+
resource.TestCheckResourceAttrPair(datasourceName, "display_text", resourceName, "display_text"),
62+
resource.TestCheckResourceAttrPair(datasourceName, "guest_ip_type", resourceName, "guest_ip_type"),
63+
resource.TestCheckResourceAttrPair(datasourceName, "traffic_type", resourceName, "traffic_type"),
64+
resource.TestCheckResourceAttrPair(datasourceName, "network_rate", resourceName, "network_rate"),
65+
resource.TestCheckResourceAttrPair(datasourceName, "conserve_mode", resourceName, "conserve_mode"),
66+
resource.TestCheckResourceAttrPair(datasourceName, "for_vpc", resourceName, "for_vpc"),
67+
resource.TestCheckResourceAttrPair(datasourceName, "specify_vlan", resourceName, "specify_vlan"),
68+
resource.TestCheckResourceAttrPair(datasourceName, "specify_ip_ranges", resourceName, "specify_ip_ranges"),
69+
resource.TestCheckResourceAttrPair(datasourceName, "network_mode", resourceName, "network_mode"),
70+
resource.TestCheckResourceAttrPair(datasourceName, "enable", resourceName, "enable"),
71+
),
72+
},
73+
},
74+
})
75+
}
76+
77+
func TestAccNetworkOfferingDataSource_withServices(t *testing.T) {
78+
resourceName := "cloudstack_network_offering.net-off-resource"
79+
datasourceName := "data.cloudstack_network_offering.net-off-data-source"
80+
81+
resource.Test(t, resource.TestCase{
82+
PreCheck: func() { testAccPreCheck(t) },
83+
Providers: testAccProviders,
84+
Steps: []resource.TestStep{
85+
{
86+
Config: testNetworkOfferingDataSourceConfig_withServices,
87+
Check: resource.ComposeTestCheckFunc(
88+
resource.TestCheckResourceAttrPair(datasourceName, "name", resourceName, "name"),
89+
resource.TestCheckResourceAttrPair(datasourceName, "supported_services.#", resourceName, "supported_services.#"),
90+
resource.TestCheckResourceAttrPair(datasourceName, "service_provider_list.%", resourceName, "service_provider_list.%"),
91+
resource.TestCheckResourceAttrPair(datasourceName, "service_provider_list.Dhcp", resourceName, "service_provider_list.Dhcp"),
92+
resource.TestCheckResourceAttrPair(datasourceName, "service_provider_list.Dns", resourceName, "service_provider_list.Dns"),
93+
resource.TestCheckResourceAttrPair(datasourceName, "enable", resourceName, "enable"),
94+
resource.TestCheckResourceAttrPair(datasourceName, "max_connections", resourceName, "max_connections"),
95+
),
96+
},
97+
},
98+
})
99+
}
100+
101+
func TestAccNetworkOfferingDataSource_forVPC(t *testing.T) {
102+
resourceName := "cloudstack_network_offering.net-off-resource"
103+
datasourceName := "data.cloudstack_network_offering.net-off-data-source"
104+
105+
resource.Test(t, resource.TestCase{
106+
PreCheck: func() { testAccPreCheck(t) },
107+
Providers: testAccProviders,
108+
Steps: []resource.TestStep{
109+
{
110+
Config: testNetworkOfferingDataSourceConfig_forVPC,
111+
Check: resource.ComposeTestCheckFunc(
112+
resource.TestCheckResourceAttrPair(datasourceName, "name", resourceName, "name"),
113+
resource.TestCheckResourceAttrPair(datasourceName, "for_vpc", resourceName, "for_vpc"),
114+
resource.TestCheckResourceAttrPair(datasourceName, "routing_mode", resourceName, "routing_mode"),
115+
resource.TestCheckResourceAttrPair(datasourceName, "internet_protocol", resourceName, "internet_protocol"),
116+
resource.TestCheckResourceAttr(datasourceName, "for_vpc", "true"),
117+
),
118+
},
119+
},
120+
})
121+
}
122+
123+
func TestAccNetworkOfferingDataSource_allOptionalParams(t *testing.T) {
124+
resourceName := "cloudstack_network_offering.net-off-resource"
125+
datasourceName := "data.cloudstack_network_offering.net-off-data-source"
126+
127+
resource.Test(t, resource.TestCase{
128+
PreCheck: func() { testAccPreCheck(t) },
129+
Providers: testAccProviders,
130+
Steps: []resource.TestStep{
131+
{
132+
Config: testNetworkOfferingDataSourceConfig_allOptionalParams,
133+
Check: resource.ComposeTestCheckFunc(
134+
resource.TestCheckResourceAttrPair(datasourceName, "name", resourceName, "name"),
135+
resource.TestCheckResourceAttrPair(datasourceName, "display_text", resourceName, "display_text"),
136+
resource.TestCheckResourceAttrPair(datasourceName, "network_mode", resourceName, "network_mode"),
137+
resource.TestCheckResourceAttrPair(datasourceName, "for_nsx", resourceName, "for_nsx"),
138+
resource.TestCheckResourceAttrPair(datasourceName, "specify_as_number", resourceName, "specify_as_number"),
139+
resource.TestCheckResourceAttrPair(datasourceName, "internet_protocol", resourceName, "internet_protocol"),
140+
resource.TestCheckResourceAttrPair(datasourceName, "routing_mode", resourceName, "routing_mode"),
141+
resource.TestCheckResourceAttr(datasourceName, "enable", "true"),
142+
resource.TestCheckResourceAttr(datasourceName, "for_nsx", "false"),
40143
),
41144
},
42145
},
@@ -62,3 +165,138 @@ resource "cloudstack_network_offering" "net-off-resource"{
62165
]
63166
}
64167
`
168+
169+
const testNetworkOfferingDataSourceConfig_withAdditionalParams = `
170+
resource "cloudstack_network_offering" "net-off-resource"{
171+
name = "TestNetworkDisplayAdvanced01"
172+
display_text = "TestNetworkDisplayAdvanced01"
173+
guest_ip_type = "Isolated"
174+
traffic_type = "Guest"
175+
network_rate = 100
176+
network_mode = "NATTED"
177+
conserve_mode = true
178+
enable = true
179+
for_vpc = false
180+
specify_vlan = true
181+
specify_ip_ranges = true
182+
supported_services = ["Dhcp", "Dns", "Firewall", "Lb", "SourceNat"]
183+
service_provider_list = {
184+
Dhcp = "VirtualRouter"
185+
Dns = "VirtualRouter"
186+
Firewall = "VirtualRouter"
187+
Lb = "VirtualRouter"
188+
SourceNat = "VirtualRouter"
189+
}
190+
}
191+
192+
data "cloudstack_network_offering" "net-off-data-source"{
193+
filter{
194+
name = "name"
195+
value = "TestNetworkDisplayAdvanced01"
196+
}
197+
depends_on = [
198+
cloudstack_network_offering.net-off-resource
199+
]
200+
}
201+
`
202+
203+
const testNetworkOfferingDataSourceConfig_withServices = `
204+
resource "cloudstack_network_offering" "net-off-resource"{
205+
name = "TestNetworkServices01"
206+
display_text = "TestNetworkServices01"
207+
guest_ip_type = "Isolated"
208+
traffic_type = "Guest"
209+
enable = true
210+
max_connections = 256
211+
supported_services = ["Dhcp", "Dns", "Firewall", "Lb", "SourceNat", "StaticNat", "PortForwarding"]
212+
service_provider_list = {
213+
Dhcp = "VirtualRouter"
214+
Dns = "VirtualRouter"
215+
Firewall = "VirtualRouter"
216+
Lb = "VirtualRouter"
217+
SourceNat = "VirtualRouter"
218+
StaticNat = "VirtualRouter"
219+
PortForwarding = "VirtualRouter"
220+
}
221+
}
222+
223+
data "cloudstack_network_offering" "net-off-data-source"{
224+
filter{
225+
name = "name"
226+
value = "TestNetworkServices01"
227+
}
228+
depends_on = [
229+
cloudstack_network_offering.net-off-resource
230+
]
231+
}
232+
`
233+
234+
const testNetworkOfferingDataSourceConfig_forVPC = `
235+
resource "cloudstack_network_offering" "net-off-resource"{
236+
name = "TestNetworkVPC01"
237+
display_text = "TestNetworkVPC01"
238+
guest_ip_type = "Isolated"
239+
traffic_type = "Guest"
240+
for_vpc = true
241+
routing_mode = "Static"
242+
internet_protocol = "IPv4"
243+
conserve_mode = false
244+
supported_services = ["Dhcp", "Dns", "NetworkACL", "StaticNat", "PortForwarding"]
245+
service_provider_list = {
246+
Dhcp = "VpcVirtualRouter"
247+
Dns = "VpcVirtualRouter"
248+
NetworkACL = "VpcVirtualRouter"
249+
StaticNat = "VpcVirtualRouter"
250+
PortForwarding = "VpcVirtualRouter"
251+
}
252+
}
253+
254+
data "cloudstack_network_offering" "net-off-data-source"{
255+
filter{
256+
name = "name"
257+
value = "TestNetworkVPC01"
258+
}
259+
depends_on = [
260+
cloudstack_network_offering.net-off-resource
261+
]
262+
}
263+
`
264+
265+
const testNetworkOfferingDataSourceConfig_allOptionalParams = `
266+
resource "cloudstack_network_offering" "net-off-resource"{
267+
name = "TestNetworkDisplayAll01"
268+
display_text = "TestNetworkDisplayAll01"
269+
guest_ip_type = "Isolated"
270+
traffic_type = "Guest"
271+
network_rate = 200
272+
network_mode = "NATTED"
273+
conserve_mode = true
274+
enable = true
275+
for_vpc = false
276+
for_nsx = false
277+
specify_vlan = true
278+
specify_ip_ranges = true
279+
specify_as_number = false
280+
internet_protocol = "IPv4"
281+
routing_mode = "Static"
282+
max_connections = 1000
283+
supported_services = ["Dhcp", "Dns", "Firewall", "Lb", "SourceNat"]
284+
service_provider_list = {
285+
Dhcp = "VirtualRouter"
286+
Dns = "VirtualRouter"
287+
Firewall = "VirtualRouter"
288+
Lb = "VirtualRouter"
289+
SourceNat = "VirtualRouter"
290+
}
291+
}
292+
293+
data "cloudstack_network_offering" "net-off-data-source"{
294+
filter{
295+
name = "name"
296+
value = "TestNetworkDisplayAll01"
297+
}
298+
depends_on = [
299+
cloudstack_network_offering.net-off-resource
300+
]
301+
}
302+
`

0 commit comments

Comments
 (0)