Skip to content

Commit 43e4195

Browse files
committed
Add more accptance tests to LBs, test all objects with/without certs, test backends without optional options.
1 parent 4a31c89 commit 43e4195

File tree

4 files changed

+76
-3
lines changed

4 files changed

+76
-3
lines changed

resource_obmcs_loadbalancer_backend.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func LoadBalancerBackendResource() *schema.Resource {
5959
"weight": {
6060
Type: schema.TypeInt,
6161
Optional: true,
62+
Computed: true,
6263
},
6364
// internal for work request access
6465
"state": {

resource_obmcs_loadbalancer_listener.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,17 @@ func (s *LoadBalancerListenerResourceCrud) DeletedTarget() []string {
129129
}
130130

131131
func (s *LoadBalancerListenerResourceCrud) sslConfig() (sslConfig *baremetal.SSLConfiguration) {
132-
sslConfig = &baremetal.SSLConfiguration{}
133132
vs := s.D.Get("ssl_configuration").([]interface{})
134133
if len(vs) == 1 {
134+
sslConfig = new(baremetal.SSLConfiguration)
135135
v := vs[0].(map[string]interface{})
136136
sslConfig.CertificateName = v["certificate_name"].(string)
137137
sslConfig.VerifyDepth = v["verify_depth"].(int)
138138
sslConfig.VerifyPeerCertificate = v["verify_peer_certificate"].(bool)
139+
return sslConfig
139140
}
140141

141-
return
142+
return nil
142143
}
143144

144145
func (s *LoadBalancerListenerResourceCrud) Create() (e error) {

resource_obmcs_loadbalancer_loadbalancer.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/oracle/terraform-provider-baremetal/client"
1010
"github.com/oracle/terraform-provider-baremetal/crud"
11+
"strings"
1112
)
1213

1314
func LoadBalancerResource() *schema.Resource {
@@ -228,6 +229,10 @@ func (s *LoadBalancerResourceCrud) SetData() {
228229

229230
// Delete makes a request to delete the load balancer
230231
func (s *LoadBalancerResourceCrud) Delete() (e error) {
232+
// TODO: make sure this actually works
233+
if strings.Contains(s.D.Id(), "ocid1.loadbalancerworkrequest") {
234+
return
235+
}
231236
var workReqID string
232237
workReqID, e = s.Client.DeleteLoadBalancer(s.D.Id(), nil)
233238
if e != nil {

resource_obmcs_loadbalancer_test.go

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,21 @@ resource "baremetal_load_balancer_backendset" "t" {
7070
}
7171
}
7272
73+
74+
resource "baremetal_load_balancer_backendset" "tcp" {
75+
load_balancer_id = "${baremetal_load_balancer.t.id}"
76+
name = "stub_backendset_name_tcp"
77+
policy = "ROUND_ROBIN"
78+
79+
health_checker {
80+
interval_ms = 30000
81+
port = 1234
82+
protocol = "TCP"
83+
response_body_regex = ".*"
84+
url_path = "/"
85+
}
86+
}
87+
7388
resource "baremetal_load_balancer_listener" "t" {
7489
load_balancer_id = "${baremetal_load_balancer.t.id}"
7590
name = "stub_listener_name"
@@ -84,6 +99,22 @@ resource "baremetal_load_balancer_listener" "t" {
8499
}
85100
}
86101
102+
resource "baremetal_load_balancer_listener" "tcp" {
103+
load_balancer_id = "${baremetal_load_balancer.t.id}"
104+
name = "stub_listener_name_tcp"
105+
default_backend_set_name = "${baremetal_load_balancer_backendset.tcp.name}"
106+
port = 8080
107+
protocol = "TCP"
108+
}
109+
110+
resource "baremetal_load_balancer_listener" "no_cert" {
111+
load_balancer_id = "${baremetal_load_balancer.t.id}"
112+
name = "stub_listener_name_no_cert"
113+
default_backend_set_name = "${baremetal_load_balancer_backendset.t.name}"
114+
port = 80
115+
protocol = "HTTP"
116+
}
117+
87118
resource "baremetal_load_balancer_backend" "t" {
88119
load_balancer_id = "${baremetal_load_balancer.t.id}"
89120
backendset_name = "${baremetal_load_balancer_backendset.t.name}"
@@ -94,6 +125,24 @@ resource "baremetal_load_balancer_backend" "t" {
94125
offline = true
95126
weight = 1
96127
}
128+
129+
resource "baremetal_load_balancer_backend" "f" {
130+
load_balancer_id = "${baremetal_load_balancer.t.id}"
131+
backendset_name = "${baremetal_load_balancer_backendset.t.name}"
132+
ip_address = "1.2.3.5"
133+
port = 1234
134+
backup = false
135+
drain = false
136+
offline = false
137+
weight = 1
138+
}
139+
140+
resource "baremetal_load_balancer_backend" "minimal" {
141+
load_balancer_id = "${baremetal_load_balancer.t.id}"
142+
backendset_name = "${baremetal_load_balancer_backendset.t.name}"
143+
ip_address = "1.2.3.6"
144+
port = 1234
145+
}
97146
`
98147
s.Config += testProviderConfig()
99148
}
@@ -131,17 +180,34 @@ func (s *ResourceLoadBalancerTestSuite) TestCreateResourceLoadBalancerMaximal()
131180

132181
// Listener
133182
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.t", "name", "stub_listener_name"),
134-
135183
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.t", "ssl_configuration.0.certificate_name", "stub_certificate_name"),
136184
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.t", "ssl_configuration.0.verify_depth", "6"),
137185
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.t", "ssl_configuration.0.verify_peer_certificate", "false"),
138186

187+
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.no_cert", "name", "stub_listener_name_no_cert"),
188+
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.no_cert", "port", "80"),
189+
190+
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.tcp", "name", "stub_listener_name_tcp"),
191+
resource.TestCheckResourceAttr("baremetal_load_balancer_listener.tcp", "port", "8080"),
192+
139193
// Backend
140194
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.t", "ip_address", "1.2.3.4"),
141195
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.t", "backup", "true"),
142196
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.t", "drain", "true"),
143197
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.t", "offline", "true"),
144198
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.t", "weight", "1"),
199+
200+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "ip_address", "1.2.3.5"),
201+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "backup", "false"),
202+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "drain", "false"),
203+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "offline", "false"),
204+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "weight", "1"),
205+
206+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.minimal", "ip_address", "1.2.3.6"),
207+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.minimal", "backup", "false"),
208+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.minimal", "drain", "false"),
209+
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.minimal", "offline", "false"),
210+
resource.TestCheckResourceAttrSet("baremetal_load_balancer_backend.minimal", "weight"),
145211
),
146212
},
147213
},

0 commit comments

Comments
 (0)