Skip to content

Commit

Permalink
Fixed error ins some test
Browse files Browse the repository at this point in the history
Add the loadbalancer test
Update go.mod

Signed-off-by: Alejandro JNM <alejandrojnm@gmail.com>
  • Loading branch information
alejandrojnm committed Jun 23, 2020
1 parent 1e3c665 commit 25a1a6b
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 83 deletions.
11 changes: 6 additions & 5 deletions civo/resource_dns_domain_name_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,16 @@ func TestAccCivoDNSDomainName_update(t *testing.T) {

// generate a random name for each test run
resName := "civo_dns_domain_name.foobar"
var domainName = acctest.RandomWithPrefix("renamed-tf-test") + ".example"
var domainName = acctest.RandomWithPrefix("tf-test") + ".example"
var domainNameUpdate = acctest.RandomWithPrefix("renamed-tf-test") + ".example"

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckCivoDNSDomainNameDestroy,
Steps: []resource.TestStep{
{
Config: testAccCheckCivoDNSDomainNameConfigUpdates(domainName),
Config: testAccCheckCivoDNSDomainNameConfigBasic(domainName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoDNSDomainNameResourceExists(resName, &domain),
testAccCheckCivoDNSDomainNameValues(&domain, domainName),
Expand All @@ -62,11 +63,11 @@ func TestAccCivoDNSDomainName_update(t *testing.T) {
},
{
// use a dynamic configuration with the random name from above
Config: testAccCheckCivoDNSDomainNameConfigUpdates(domainName),
Config: testAccCheckCivoDNSDomainNameConfigUpdates(domainNameUpdate),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoDNSDomainNameResourceExists(resName, &domain),
testAccCheckCivoDNSDomainNameUpdated(&domain, domainName),
resource.TestCheckResourceAttr(resName, "name", domainName),
testAccCheckCivoDNSDomainNameUpdated(&domain, domainNameUpdate),
resource.TestCheckResourceAttr(resName, "name", domainNameUpdate),
),
},
},
Expand Down
11 changes: 6 additions & 5 deletions civo/resource_dns_domain_record_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,16 @@ func TestAccCivoDNSDomainNameRecord_update(t *testing.T) {
// generate a random name for each test run
resName := "civo_dns_domain_record.www"
var domainName = acctest.RandomWithPrefix("renamed-tf-test-record") + ".example"
var recordName = acctest.RandomWithPrefix("renamed-record")
var recordName = acctest.RandomWithPrefix("record")
var recordNameUpdate = acctest.RandomWithPrefix("renamed-record")

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckCivoDNSDomainNameRecordDestroy,
Steps: []resource.TestStep{
{
Config: testAccCheckCivoDNSDomainNameRecordConfigUpdates(domainName, recordName),
Config: testAccCheckCivoDNSDomainNameRecordConfigBasic(domainName, recordName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoDNSDomainNameRecordResourceExists(resName, &domainRecord),
testAccCheckCivoDNSDomainNameRecordValues(&domainRecord, recordName),
Expand All @@ -64,11 +65,11 @@ func TestAccCivoDNSDomainNameRecord_update(t *testing.T) {
},
{
// use a dynamic configuration with the random name from above
Config: testAccCheckCivoDNSDomainNameRecordConfigUpdates(domainName, recordName),
Config: testAccCheckCivoDNSDomainNameRecordConfigUpdates(domainName, recordNameUpdate),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoDNSDomainNameRecordResourceExists(resName, &domainRecord),
testAccCheckCivoDNSDomainNameRecordUpdated(&domainRecord, recordName),
resource.TestCheckResourceAttr(resName, "name", recordName),
testAccCheckCivoDNSDomainNameRecordUpdated(&domainRecord, recordNameUpdate),
resource.TestCheckResourceAttr(resName, "name", recordNameUpdate),
),
},
},
Expand Down
12 changes: 7 additions & 5 deletions civo/resource_firewall_rule_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,29 +46,31 @@ func TestAccCivoFirewallRule_update(t *testing.T) {

// generate a random name for each test run
resName := "civo_firewall_rule.testrule"
var firewallRuleName = acctest.RandomWithPrefix("rename-fw-rule")
var firewalName = acctest.RandomWithPrefix("tf-fw-rule")

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckCivoFirewallRuleDestroy,
Steps: []resource.TestStep{
{
Config: testAccCheckCivoFirewallRuleConfigUpdates(firewallRuleName),
Config: testAccCheckCivoFirewallRuleConfigBasic(firewalName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoFirewallRuleResourceExists(resName, &firewallRule),
resource.TestCheckResourceAttr(resName, "protocol", "tcp"),
resource.TestCheckResourceAttr(resName, "start_port", "443"),
resource.TestCheckResourceAttr(resName, "start_port", "80"),
resource.TestCheckResourceAttr(resName, "label", "web"),
),
},
{
// use a dynamic configuration with the random name from above
Config: testAccCheckCivoFirewallRuleConfigUpdates(firewallRuleName),
Config: testAccCheckCivoFirewallRuleConfigUpdates(firewalName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoFirewallRuleResourceExists(resName, &firewallRule),
testAccCheckCivoFirewallRuleUpdated(&firewallRule),
resource.TestCheckResourceAttr(resName, "protocol", "tcp"),
resource.TestCheckResourceAttr(resName, "start_port", "443"),
resource.TestCheckResourceAttr(resName, "label", "web_server"),
),
},
},
Expand Down Expand Up @@ -172,7 +174,7 @@ resource "civo_firewall_rule" "testrule" {
end_port = "443"
cidr = ["192.168.1.2/32"]
direction = "inbound"
label = "web"
label = "web_server"
}
`, name)
}
11 changes: 6 additions & 5 deletions civo/resource_firewall_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,16 @@ func TestAccCivoFirewall_update(t *testing.T) {

// generate a random name for each test run
resName := "civo_firewall.foobar"
var firewallName = acctest.RandomWithPrefix("rename-fw")
var firewallName = acctest.RandomWithPrefix("tf-fw")
var firewallNameUpdate = acctest.RandomWithPrefix("rename-fw")

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckCivoFirewallDestroy,
Steps: []resource.TestStep{
{
Config: testAccCheckCivoFirewallConfigUpdates(firewallName),
Config: testAccCheckCivoFirewallConfigBasic(firewallName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoFirewallResourceExists(resName, &firewall),
testAccCheckCivoFirewallValues(&firewall, firewallName),
Expand All @@ -62,11 +63,11 @@ func TestAccCivoFirewall_update(t *testing.T) {
},
{
// use a dynamic configuration with the random name from above
Config: testAccCheckCivoFirewallConfigUpdates(firewallName),
Config: testAccCheckCivoFirewallConfigUpdates(firewallNameUpdate),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoFirewallResourceExists(resName, &firewall),
testAccCheckCivoFirewallUpdated(&firewall, firewallName),
resource.TestCheckResourceAttr(resName, "name", firewallName),
testAccCheckCivoFirewallUpdated(&firewall, firewallNameUpdate),
resource.TestCheckResourceAttr(resName, "name", firewallNameUpdate),
),
},
},
Expand Down
141 changes: 79 additions & 62 deletions civo/resource_loadbalancer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/terraform"
)

var domainName = acctest.RandString(10)

// example.Widget represents a concrete Go type that represents an API resource
func TestAccCivoLoadBalancer_basic(t *testing.T) {
var loadBalancer civogo.LoadBalancer

// generate a random name for each test run
resName := "civo_loadbalancer.foobar"
var domainName = acctest.RandString(10)

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand All @@ -35,45 +36,56 @@ func TestAccCivoLoadBalancer_basic(t *testing.T) {
// verify local values
resource.TestCheckResourceAttr(resName, "protocol", "http"),
resource.TestCheckResourceAttr(resName, "port", "80"),
resource.TestCheckResourceAttr(resName, "max_request_size", "30"),
resource.TestCheckResourceAttr(resName, "policy", "round_robin"),
resource.TestCheckResourceAttr(resName, "health_check_path", "/"),
resource.TestCheckResourceAttr(resName, "max_conns", "10"),
),
},
},
})
}

// func TestAccCivoLoadBalancer_update(t *testing.T) {
// var firewallRule civogo.FirewallRule

// // generate a random name for each test run
// resName := "civo_firewall_rule.testrule"
// var firewallRuleName = acctest.RandomWithPrefix("rename-fw-rule")

// resource.Test(t, resource.TestCase{
// PreCheck: func() { testAccPreCheck(t) },
// Providers: testAccProviders,
// CheckDestroy: testAccCheckCivoFirewallRuleDestroy,
// Steps: []resource.TestStep{
// {
// Config: testAccCheckCivoFirewallRuleConfigUpdates(firewallRuleName),
// Check: resource.ComposeTestCheckFunc(
// testAccCheckCivoFirewallRuleResourceExists(resName, &firewallRule),
// resource.TestCheckResourceAttr(resName, "protocol", "tcp"),
// resource.TestCheckResourceAttr(resName, "start_port", "443"),
// ),
// },
// {
// // use a dynamic configuration with the random name from above
// Config: testAccCheckCivoFirewallRuleConfigUpdates(firewallRuleName),
// Check: resource.ComposeTestCheckFunc(
// testAccCheckCivoFirewallRuleResourceExists(resName, &firewallRule),
// testAccCheckCivoFirewallRuleUpdated(&firewallRule),
// resource.TestCheckResourceAttr(resName, "protocol", "tcp"),
// resource.TestCheckResourceAttr(resName, "start_port", "443"),
// ),
// },
// },
// })
// }
func TestAccCivoLoadBalancer_update(t *testing.T) {
var loadBalancer civogo.LoadBalancer

// generate a random name for each test run
resName := "civo_loadbalancer.foobar"

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckCivoFirewallRuleDestroy,
Steps: []resource.TestStep{
{
Config: testAccCheckCivoLoadBalancerConfigBasic(domainName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoLoadBalancerResourceExists(resName, &loadBalancer),
resource.TestCheckResourceAttr(resName, "protocol", "http"),
resource.TestCheckResourceAttr(resName, "port", "80"),
resource.TestCheckResourceAttr(resName, "max_request_size", "30"),
resource.TestCheckResourceAttr(resName, "policy", "round_robin"),
resource.TestCheckResourceAttr(resName, "health_check_path", "/"),
resource.TestCheckResourceAttr(resName, "max_conns", "10"),
),
},
{
// use a dynamic configuration with the random name from above
Config: testAccCheckCivoLoadBalancerConfigUpdates(domainName),
Check: resource.ComposeTestCheckFunc(
testAccCheckCivoLoadBalancerResourceExists(resName, &loadBalancer),
testAccCheckCivoLoadBalancerUpdated(&loadBalancer, domainName),
resource.TestCheckResourceAttr(resName, "protocol", "http"),
resource.TestCheckResourceAttr(resName, "port", "80"),
resource.TestCheckResourceAttr(resName, "max_request_size", "50"),
resource.TestCheckResourceAttr(resName, "policy", "round_robin"),
resource.TestCheckResourceAttr(resName, "health_check_path", "/"),
resource.TestCheckResourceAttr(resName, "max_conns", "100"),
),
},
},
})
}

func testAccCheckCivoLoadBalancerValues(loadBalancer *civogo.LoadBalancer, name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
Expand Down Expand Up @@ -108,17 +120,14 @@ func testAccCheckCivoLoadBalancerResourceExists(n string, loadBalancer *civogo.L
}
}

// func testAccCheckCivoLoadBalancerUpdated(firewall *civogo.FirewallRule) resource.TestCheckFunc {
// return func(s *terraform.State) error {
// if firewall.Protocol != "tcp" {
// return fmt.Errorf("bad protocol, expected \"%s\", got: %#v", "tcp", firewall.Protocol)
// }
// if firewall.StartPort != "443" {
// return fmt.Errorf("bad port, expected \"%s\", got: %#v", "443", firewall.StartPort)
// }
// return nil
// }
// }
func testAccCheckCivoLoadBalancerUpdated(loadBalancer *civogo.LoadBalancer, name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
if loadBalancer.Hostname != fmt.Sprintf("rename-%s", name) {
return fmt.Errorf("bad protocol, expected \"%s\", got: %#v", fmt.Sprintf("rename-%s", name), loadBalancer.Hostname)
}
return nil
}
}

func testAccCheckCivoLoadBalancerDestroy(s *terraform.State) error {
client := testAccProvider.Meta().(*civogo.Client)
Expand Down Expand Up @@ -163,20 +172,28 @@ resource "civo_loadbalancer" "foobar" {
`, name, name)
}

// func testAccCheckCivoLoadBalancerConfigUpdates(name string) string {
// return fmt.Sprintf(`
// resource "civo_firewall" "foobar" {
// name = "%s"
// }

// resource "civo_firewall_rule" "testrule" {
// firewall_id = civo_firewall.foobar.id
// protocol = "tcp"
// start_port = "443"
// end_port = "443"
// cidr = ["192.168.1.2/32"]
// direction = "inbound"
// label = "web"
// }
// `, name)
// }
func testAccCheckCivoLoadBalancerConfigUpdates(name string) string {
return fmt.Sprintf(`
resource "civo_instance" "vm" {
hostname = "instance-%s"
}
resource "civo_loadbalancer" "foobar" {
hostname = "rename-%s"
protocol = "http"
port = 80
max_request_size = 50
policy = "round_robin"
health_check_path = "/"
max_conns = 100
fail_timeout = 40
depends_on = [civo_instance.vm]
backend {
instance_id = civo_instance.vm.id
protocol = "http"
port = 80
}
}
`, name, name)
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ require (
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/zclconf/go-cty v1.3.1 // indirect
golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 // indirect
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d // indirect
golang.org/x/tools v0.0.0-20200623045635-ff88973b1e4e // indirect
google.golang.org/genproto v0.0.0-20200311144346-b662892dd51b // indirect
google.golang.org/grpc v1.28.0 // indirect
)
Expand Down
3 changes: 3 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElyw
github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
github.com/zclconf/go-cty v1.1.0 h1:uJwc9HiBOCpoKIObTQaLR+tsEXx1HBHnOsOOpcdhZgw=
github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
Expand Down Expand Up @@ -442,6 +443,8 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb h1:iKlO7ROJc6SttHKlxzwGytR
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d h1:3K34ovZAOnVaUPxanr0j4ghTZTPTA0CnXvjCl+5lZqk=
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200623045635-ff88973b1e4e h1:Q4Er81Vpuia8wadHb49X4zp/VOBg53Sc93ArPkf5PJ4=
golang.org/x/tools v0.0.0-20200623045635-ff88973b1e4e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
Expand Down

0 comments on commit 25a1a6b

Please sign in to comment.