Last tweaks needed to get through all acc tests

Needed to tweak a few things in order get all tests running OK and to
be able to handle the latest changes in master. All is good again now…
This commit is contained in:
Sander van Harmelen 2015-01-15 21:46:06 +01:00
parent 19776ba402
commit ab8977eed6
5 changed files with 52 additions and 39 deletions

View File

@ -75,7 +75,7 @@ func resourceCloudStackEgressFirewall() *schema.Resource {
}, },
}, },
}, },
Set: resourceCloudStackFirewallRuleHash, Set: resourceCloudStackEgressFirewallRuleHash,
}, },
}, },
} }
@ -98,7 +98,7 @@ func resourceCloudStackEgressFirewallCreate(d *schema.ResourceData, meta interfa
// Create an empty schema.Set to hold all rules // Create an empty schema.Set to hold all rules
rules := &schema.Set{ rules := &schema.Set{
F: resourceCloudStackFirewallRuleHash, F: resourceCloudStackEgressFirewallRuleHash,
} }
for _, rule := range rs.List() { for _, rule := range rs.List() {
@ -200,7 +200,7 @@ func resourceCloudStackEgressFirewallRead(d *schema.ResourceData, meta interface
// Create an empty schema.Set to hold all rules // Create an empty schema.Set to hold all rules
rules := &schema.Set{ rules := &schema.Set{
F: resourceCloudStackFirewallRuleHash, F: resourceCloudStackEgressFirewallRuleHash,
} }
if d.Get("managed").(bool) { if d.Get("managed").(bool) {
@ -343,7 +343,7 @@ func resourceCloudStackEgressFirewallUpdate(d *schema.ResourceData, meta interfa
// Now first loop through all the old rules and delete any obsolete ones // Now first loop through all the old rules and delete any obsolete ones
for _, rule := range ors.List() { for _, rule := range ors.List() {
// Delete the rule as it no longer exists in the config // Delete the rule as it no longer exists in the config
err := resourceCloudStackFirewallDeleteRule(d, meta, rule.(map[string]interface{})) err := resourceCloudStackEgressFirewallDeleteRule(d, meta, rule.(map[string]interface{}))
if err != nil { if err != nil {
return err return err
} }
@ -356,7 +356,7 @@ func resourceCloudStackEgressFirewallUpdate(d *schema.ResourceData, meta interfa
// Then loop through al the currently configured rules and create the new ones // Then loop through al the currently configured rules and create the new ones
for _, rule := range nrs.List() { for _, rule := range nrs.List() {
// When succesfully deleted, re-create it again if it still exists // When succesfully deleted, re-create it again if it still exists
err := resourceCloudStackFirewallCreateRule( err := resourceCloudStackEgressFirewallCreateRule(
d, meta, rule.(map[string]interface{})) d, meta, rule.(map[string]interface{}))
// We need to update this first to preserve the correct state // We need to update this first to preserve the correct state
@ -377,7 +377,7 @@ func resourceCloudStackEgressFirewallDelete(d *schema.ResourceData, meta interfa
if rs := d.Get("rule").(*schema.Set); rs.Len() > 0 { if rs := d.Get("rule").(*schema.Set); rs.Len() > 0 {
for _, rule := range rs.List() { for _, rule := range rs.List() {
// Delete a single rule // Delete a single rule
err := resourceCloudStackFirewallDeleteRule(d, meta, rule.(map[string]interface{})) err := resourceCloudStackEgressFirewallDeleteRule(d, meta, rule.(map[string]interface{}))
// We need to update this first to preserve the correct state // We need to update this first to preserve the correct state
d.Set("rule", rs) d.Set("rule", rs)

View File

@ -23,15 +23,17 @@ func TestAccCloudStackEgressFirewall_basic(t *testing.T) {
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1), "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), "cloudstack_egress_firewall.foo",
"rule.411689741.source_cidr",
CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"),
), ),
}, },
}, },
@ -49,19 +51,21 @@ func TestAccCloudStackEgressFirewall_update(t *testing.T) {
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"), testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "ipaddress", CLOUDSTACK_NETWORK_1), "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.#", "1"), "cloudstack_egress_firewall.foo", "rule.#", "1"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), "cloudstack_egress_firewall.foo",
"rule.411689741.source_cidr",
CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"),
), ),
}, },
@ -70,29 +74,31 @@ func TestAccCloudStackEgressFirewall_update(t *testing.T) {
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"), testAccCheckCloudStackEgressFirewallRulesExist("cloudstack_egress_firewall.foo"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "ipaddress", CLOUDSTACK_NETWORK_1), "cloudstack_egress_firewall.foo", "network", CLOUDSTACK_NETWORK_1),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.#", "2"), "cloudstack_egress_firewall.foo", "rule.#", "2"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.source_cidr", "10.0.0.0/24"), "cloudstack_egress_firewall.foo",
"rule.411689741.source_cidr",
CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.protocol", "tcp"), "cloudstack_egress_firewall.foo", "rule.411689741.protocol", "tcp"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.#", "2"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.#", "2"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1209010669", "1000-2000"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1209010669", "1000-2000"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.1702320581.ports.1889509032", "80"), "cloudstack_egress_firewall.foo", "rule.411689741.ports.1889509032", "80"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.3779782959.source_cidr", "172.16.100.0/24"), "cloudstack_egress_firewall.foo",
"rule.845479598.source_cidr",
CLOUDSTACK_NETWORK_1_IPADDRESS+"/32"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.3779782959.protocol", "tcp"), "cloudstack_egress_firewall.foo", "rule.845479598.protocol", "tcp"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.3779782959.ports.#", "2"), "cloudstack_egress_firewall.foo", "rule.845479598.ports.#", "1"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.3779782959.ports.1889509032", "80"), "cloudstack_egress_firewall.foo", "rule.845479598.ports.3638101695", "443"),
resource.TestCheckResourceAttr(
"cloudstack_egress_firewall.foo", "rule.3779782959.ports.3638101695", "443"),
), ),
}, },
}, },
@ -162,7 +168,7 @@ func testAccCheckCloudStackEgressFirewallDestroy(s *terraform.State) error {
var testAccCloudStackEgressFirewall_basic = fmt.Sprintf(` var testAccCloudStackEgressFirewall_basic = fmt.Sprintf(`
resource "cloudstack_egress_firewall" "foo" { resource "cloudstack_egress_firewall" "foo" {
ipaddress = "%s" network = "%s"
rule { rule {
source_cidr = "%s/32" source_cidr = "%s/32"
@ -175,13 +181,20 @@ resource "cloudstack_egress_firewall" "foo" {
var testAccCloudStackEgressFirewall_update = fmt.Sprintf(` var testAccCloudStackEgressFirewall_update = fmt.Sprintf(`
resource "cloudstack_egress_firewall" "foo" { resource "cloudstack_egress_firewall" "foo" {
ipaddress = "%s" network = "%s"
rule { rule {
source_cidr = "%s/32" source_cidr = "%s/32"
protocol = "tcp" protocol = "tcp"
ports = ["80", "443", 1000-2000"] ports = ["80", "1000-2000"]
}
rule {
source_cidr = "%s/32"
protocol = "tcp"
ports = ["443"]
} }
}`, }`,
CLOUDSTACK_NETWORK_1, CLOUDSTACK_NETWORK_1,
CLOUDSTACK_NETWORK_1_IPADDRESS,
CLOUDSTACK_NETWORK_1_IPADDRESS) CLOUDSTACK_NETWORK_1_IPADDRESS)

View File

@ -79,13 +79,13 @@ func resourceCloudStackNetworkCreate(d *schema.ResourceData, meta interface{}) e
} }
// Compute/set the display text // Compute/set the display text
displaytext := d.Get("display_text").(string) displaytext, ok := d.GetOk("display_text")
if displaytext == "" { if !ok {
displaytext = name displaytext = name
} }
// Create a new parameter struct // Create a new parameter struct
p := cs.Network.NewCreateNetworkParams(displaytext, name, networkofferingid, zoneid) p := cs.Network.NewCreateNetworkParams(displaytext.(string), name, networkofferingid, zoneid)
// Get the network details from the CIDR // Get the network details from the CIDR
m, err := parseCIDR(d.Get("cidr").(string)) m, err := parseCIDR(d.Get("cidr").(string))
@ -147,7 +147,7 @@ func resourceCloudStackNetworkRead(d *schema.ResourceData, meta interface{}) err
} }
d.Set("name", n.Name) d.Set("name", n.Name)
d.Set("display_test", n.Displaytext) d.Set("display_text", n.Displaytext)
d.Set("cidr", n.Cidr) d.Set("cidr", n.Cidr)
d.Set("network_offering", n.Networkofferingname) d.Set("network_offering", n.Networkofferingname)
d.Set("zone", n.Zonename) d.Set("zone", n.Zonename)

View File

@ -104,7 +104,7 @@ func TestAccCloudStackNetworkACLRule_update(t *testing.T) {
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_network_acl_rule.foo", "rule.4267872693.ports.1889509032", "80"), "cloudstack_network_acl_rule.foo", "rule.4267872693.ports.1889509032", "80"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"cloudstack_network_acl_rule.foo", "rule.4267872693.traffic_type", "engress"), "cloudstack_network_acl_rule.foo", "rule.4267872693.traffic_type", "egress"),
), ),
}, },
}, },

View File

@ -69,7 +69,7 @@ func resourceCloudStackVPCCreate(d *schema.ResourceData, meta interface{}) error
// Set the display text // Set the display text
displaytext, ok := d.GetOk("display_text") displaytext, ok := d.GetOk("display_text")
if !ok { if !ok {
displaytext = d.Get("name") displaytext = name
} }
// Create a new parameter struct // Create a new parameter struct
@ -103,7 +103,7 @@ func resourceCloudStackVPCRead(d *schema.ResourceData, meta interface{}) error {
} }
d.Set("name", v.Name) d.Set("name", v.Name)
d.Set("display_test", v.Displaytext) d.Set("display_text", v.Displaytext)
d.Set("cidr", v.Cidr) d.Set("cidr", v.Cidr)
d.Set("zone", v.Zonename) d.Set("zone", v.Zonename)