@@ -17,6 +17,12 @@ import (
17
17
const (
18
18
lbTestName = "test-lb"
19
19
lbListenerTestName = "test-listener"
20
+
21
+ lb1TestName = "test-lb1"
22
+ lb2TestName = "test-lb2"
23
+
24
+ lb1ListenerTestName = "test-listener1"
25
+ lb2ListenerTestName = "test-listener2"
20
26
)
21
27
22
28
func TestAccLoadBalancerDataSource (t * testing.T ) {
@@ -30,43 +36,73 @@ func TestAccLoadBalancerDataSource(t *testing.T) {
30
36
t .Fatal (err )
31
37
}
32
38
33
- opts := loadbalancers.CreateOpts {
34
- Name : lbTestName ,
39
+ opts1 := loadbalancers.CreateOpts {
40
+ Name : lb1TestName ,
35
41
Listeners : []loadbalancers.CreateListenerOpts {{
36
- Name : lbListenerTestName ,
42
+ Name : lb1ListenerTestName ,
37
43
ProtocolPort : 80 ,
38
44
Protocol : types .ProtocolTypeHTTP ,
39
45
}},
46
+ Metadata : map [string ]string {"key1" : "val1" , "key2" : "val2" },
47
+ }
48
+
49
+ opts2 := loadbalancers.CreateOpts {
50
+ Name : lb2TestName ,
51
+ Listeners : []loadbalancers.CreateListenerOpts {{
52
+ Name : lb2ListenerTestName ,
53
+ ProtocolPort : 80 ,
54
+ Protocol : types .ProtocolTypeHTTP ,
55
+ }},
56
+ Metadata : map [string ]string {"key1" : "val1" , "key3" : "val3" },
57
+ }
58
+
59
+ lb1ID , err := createTestLoadBalancerWithListener (client , opts1 )
60
+ if err != nil {
61
+ t .Fatal (err )
40
62
}
41
63
42
- lbID , err := createTestLoadBalancerWithListener (client , opts )
64
+ lb2ID , err := createTestLoadBalancerWithListener (client , opts2 )
43
65
if err != nil {
44
66
t .Fatal (err )
45
67
}
46
68
47
- defer loadbalancers .Delete (client , lbID )
69
+ defer loadbalancers .Delete (client , lb1ID )
70
+ defer loadbalancers .Delete (client , lb2ID )
48
71
49
72
fullName := "data.gcore_loadbalancer.acctest"
50
- tpl := func (name string ) string {
73
+ tpl := func (name string , metaQuery string ) string {
51
74
return fmt .Sprintf (`
52
75
data "gcore_loadbalancer" "acctest" {
53
76
%s
54
77
%s
55
78
name = "%s"
79
+ %s
56
80
}
57
- ` , projectInfo (), regionInfo (), name )
81
+ ` , projectInfo (), regionInfo (), name , metaQuery )
58
82
}
59
83
60
84
resource .Test (t , resource.TestCase {
61
85
PreCheck : func () { testAccPreCheck (t ) },
62
86
ProviderFactories : testAccProviders ,
63
87
Steps : []resource.TestStep {
64
88
{
65
- Config : tpl (opts .Name ),
89
+ Config : tpl (opts1 .Name , `metadata_k="key1"` ),
90
+ Check : resource .ComposeTestCheckFunc (
91
+ testAccCheckResourceExists (fullName ),
92
+ resource .TestCheckResourceAttr (fullName , "name" , opts1 .Name ),
93
+ resource .TestCheckResourceAttr (fullName , "id" , lb1ID ),
94
+ testAccCheckMetadata (fullName , true , map [string ]string {
95
+ "key1" : "val1" , "key2" : "val2" }),
96
+ ),
97
+ },
98
+ {
99
+ Config : tpl (opts2 .Name , `metadata_kv={key3 = "val3"}` ),
66
100
Check : resource .ComposeTestCheckFunc (
67
101
testAccCheckResourceExists (fullName ),
68
- resource .TestCheckResourceAttr (fullName , "name" , opts .Name ),
69
- resource .TestCheckResourceAttr (fullName , "id" , lbID ),
102
+ resource .TestCheckResourceAttr (fullName , "name" , opts2 .Name ),
103
+ resource .TestCheckResourceAttr (fullName , "id" , lb2ID ),
104
+ testAccCheckMetadata (fullName , true , map [string ]string {
105
+ "key3" : "val3" }),
70
106
),
71
107
},
72
108
},
0 commit comments