17
17
from google .cloud import compute_v1
18
18
import pytest
19
19
20
-
21
20
from quickstart import delete_instance , wait_for_operation
21
+
22
22
from sample_create_vm import (
23
23
create_from_custom_image ,
24
24
create_from_public_image ,
29
29
)
30
30
31
31
PROJECT = google .auth .default ()[1 ]
32
- INSTANCE_ZONE = "europe-central2-b"
32
+ REGION = 'us-central1'
33
+ INSTANCE_ZONE = "us-central1-b"
33
34
34
35
35
36
def get_active_debian ():
@@ -48,13 +49,13 @@ def src_disk(request):
48
49
op = disk_client .insert (project = PROJECT , zone = INSTANCE_ZONE , disk_resource = disk )
49
50
50
51
wait_for_operation (op , PROJECT )
51
- disk = disk_client . get ( project = PROJECT , zone = INSTANCE_ZONE , disk = disk . name )
52
- request . cls . disk = disk
53
-
54
- yield disk
55
-
56
- op = disk_client .delete (project = PROJECT , zone = INSTANCE_ZONE , disk = disk .name )
57
- wait_for_operation (op , PROJECT )
52
+ try :
53
+ disk = disk_client . get ( project = PROJECT , zone = INSTANCE_ZONE , disk = disk . name )
54
+ request . cls . disk = disk
55
+ yield disk
56
+ finally :
57
+ op = disk_client .delete (project = PROJECT , zone = INSTANCE_ZONE , disk = disk .name )
58
+ wait_for_operation (op , PROJECT )
58
59
59
60
60
61
@pytest .fixture (scope = "class" )
@@ -70,14 +71,16 @@ def snapshot(request, src_disk):
70
71
snapshot_resource = snapshot ,
71
72
)
72
73
wait_for_operation (op , PROJECT )
74
+ try :
75
+ request .cls .snapshot = snapshot_client .get (
76
+ project = PROJECT , snapshot = snapshot .name
77
+ )
78
+ snapshot = request .cls .snapshot
73
79
74
- request .cls .snapshot = snapshot_client .get (project = PROJECT , snapshot = snapshot .name )
75
- snapshot = request .cls .snapshot
76
-
77
- yield snapshot
78
-
79
- op = snapshot_client .delete (project = PROJECT , snapshot = snapshot .name )
80
- wait_for_operation (op , PROJECT )
80
+ yield snapshot
81
+ finally :
82
+ op = snapshot_client .delete (project = PROJECT , snapshot = snapshot .name )
83
+ wait_for_operation (op , PROJECT )
81
84
82
85
83
86
@pytest .fixture (scope = "class" )
@@ -89,46 +92,13 @@ def image(request, src_disk):
89
92
op = image_client .insert (project = PROJECT , image_resource = image )
90
93
91
94
wait_for_operation (op , PROJECT )
92
-
93
- image = image_client .get (project = PROJECT , image = image .name )
94
- request .cls .image = image
95
- yield image
96
-
97
- op = image_client .delete (project = PROJECT , image = image .name )
98
- wait_for_operation (op , PROJECT )
99
-
100
-
101
- @pytest .fixture ()
102
- def subnetwork ():
103
- network_client = compute_v1 .NetworksClient ()
104
- network = compute_v1 .Network ()
105
- network .name = "test-network-" + uuid .uuid4 ().hex [:10 ]
106
- network .auto_create_subnetworks = True
107
- op = network_client .insert (project = PROJECT , network_resource = network )
108
- wait_for_operation (op , PROJECT )
109
- network = network_client .get (project = PROJECT , network = network .name )
110
-
111
- subnet = compute_v1 .Subnetwork ()
112
- subnet .name = "test-subnet-" + uuid .uuid4 ().hex [:10 ]
113
- subnet .network = network_client .get (project = PROJECT , network = network .name ).self_link
114
- subnet .region = "europe-central2"
115
- subnet .ip_cidr_range = "10.0.0.0/20"
116
- subnet_client = compute_v1 .SubnetworksClient ()
117
- op = subnet_client .insert (
118
- project = PROJECT , region = "europe-central2" , subnetwork_resource = subnet
119
- )
120
- wait_for_operation (op , PROJECT )
121
- subnet = subnet_client .get (
122
- project = PROJECT , region = "europe-central2" , subnetwork = subnet .name
123
- )
124
-
125
- yield subnet
126
-
127
- op = subnet_client .delete (project = PROJECT , region = 'europe-central2' , subnetwork = subnet .name )
128
- wait_for_operation (op , PROJECT )
129
-
130
- op = network_client .delete (project = PROJECT , network = network .name )
131
- wait_for_operation (op , PROJECT )
95
+ try :
96
+ image = image_client .get (project = PROJECT , image = image .name )
97
+ request .cls .image = image
98
+ yield image
99
+ finally :
100
+ op = image_client .delete (project = PROJECT , image = image .name )
101
+ wait_for_operation (op , PROJECT )
132
102
133
103
134
104
@pytest .mark .usefixtures ("image" , "snapshot" )
@@ -201,17 +171,17 @@ def test_create_with_snapshotted_data_disk(self):
201
171
finally :
202
172
delete_instance (PROJECT , INSTANCE_ZONE , instance_name )
203
173
204
- def test_create_with_subnet (self , subnetwork ):
174
+ def test_create_with_subnet (self ):
205
175
instance_name = "i" + uuid .uuid4 ().hex [:10 ]
206
176
instance = create_with_subnet (
207
177
PROJECT ,
208
178
INSTANCE_ZONE ,
209
179
instance_name ,
210
- subnetwork . network ,
211
- subnetwork . self_link ,
180
+ "global/networks/default" ,
181
+ f"regions/ { REGION } /subnetworks/default" ,
212
182
)
213
183
try :
214
- assert instance .network_interfaces [0 ].name == subnetwork . network
215
- assert instance .network_interfaces [0 ].subnetwork == subnetwork . self_link
184
+ assert instance .network_interfaces [0 ].name == "global/networks/default"
185
+ assert instance .network_interfaces [0 ].subnetwork == f"regions/ { REGION } /subnetworks/default"
216
186
finally :
217
187
delete_instance (PROJECT , INSTANCE_ZONE , instance_name )
0 commit comments