Skip to content

Commit d72a948

Browse files
YashGaykar0309jobs62
authored andcommitted
✅ test: Review Comments
1 parent 5beb2d9 commit d72a948

File tree

4 files changed

+2
-151
lines changed

4 files changed

+2
-151
lines changed

tests/integration_utils.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import base64
22
import random
33
import string
4-
import time
54

65
def get_random_string(length=10):
76
alphabet = string.ascii_lowercase + string.digits
@@ -15,24 +14,6 @@ def get_tagged_name(prefix="osc-sdk-python-test", length=10):
1514
def log_test_step(message):
1615
print("[tests] {}".format(message), flush=True)
1716

18-
19-
def get_resource_until_ready(
20-
fetch, ready, timeout=300, interval=10, failure=None, describe=None
21-
):
22-
deadline = time.time() + timeout
23-
last_value = None
24-
while time.time() < deadline:
25-
last_value = fetch()
26-
if describe is not None:
27-
log_test_step(describe(last_value))
28-
if ready(last_value):
29-
return last_value
30-
if failure is not None and failure(last_value):
31-
raise AssertionError("Resource entered an unexpected state: {}".format(last_value))
32-
time.sleep(interval)
33-
raise AssertionError("Timed out waiting for resource state: {}".format(last_value))
34-
35-
3617
def get_first_item(items, message):
3718
if not items:
3819
raise AssertionError(message)

tests/test_load_balancer_backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def test_load_balancer_backend_lifecycle(self):
3232
MaxVmsCount=1,
3333
Placement={"SubregionName": subregion_name, "Tenancy": "default"},
3434
UserData=get_linux_http_user_data(),
35-
VmType="tinav4.c1r1p2",
35+
VmType="tinav6.c1r1p2",
3636
)
3737
vms = vm_response.get("Vms")
3838
self.assertIsInstance(vms, list)
@@ -49,7 +49,7 @@ def test_load_balancer_backend_lifecycle(self):
4949
log_test_step("VM {} state={}".format(vm_id, vm.get("State")))
5050
if vm.get("State") == "running":
5151
break
52-
if vm.get("State") in ("terminated", "shutting-down"):
52+
if vm.get("State") in ("stopped", "terminated", "shutting-down"):
5353
self.fail("VM {} entered unexpected state {}".format(vm_id, vm.get("State")))
5454
time.sleep(10)
5555

tests/test_vm.py

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
import unittest
22
import sys
3-
import time
43

54
sys.path.append("..")
65
from osc_sdk_python import Gateway
7-
from tests.integration_utils import (
8-
build_name_tag_request,
9-
get_first_subregion_name,
10-
get_latest_public_ubuntu_image_id,
11-
log_test_step,
12-
read_single_resource,
13-
)
14-
156

167
class TestVm(unittest.TestCase):
178
def test_listing(self):
@@ -26,59 +17,5 @@ def test_listing_with_context_manager(self):
2617
self.assertEqual(type(vms), dict)
2718
self.assertEqual(type(vms.get("Vms")), list)
2819

29-
def test_vm_lifecycle(self):
30-
gw = Gateway()
31-
subregion_name = get_first_subregion_name(gw)
32-
image_id = get_latest_public_ubuntu_image_id(gw)
33-
log_test_step("Using subregion {} and image {}".format(subregion_name, image_id))
34-
35-
created_vm_ids = []
36-
try:
37-
log_test_step("Creating VM")
38-
response = gw.CreateVms(
39-
ImageId=image_id,
40-
MinVmsCount=1,
41-
MaxVmsCount=1,
42-
Placement={"SubregionName": subregion_name, "Tenancy": "default"},
43-
VmType="tinav4.c1r1p2",
44-
)
45-
vms = response.get("Vms")
46-
self.assertIsInstance(vms, list)
47-
self.assertEqual(len(vms), 1)
48-
49-
vm_id = vms[0].get("VmId")
50-
self.assertTrue(vm_id)
51-
created_vm_ids = [vm_id]
52-
log_test_step("Created VM {}".format(vm_id))
53-
54-
gw.CreateTags(**build_name_tag_request(vm_id))
55-
log_test_step("Tagged VM {}".format(vm_id))
56-
57-
vm = None
58-
for _ in range(36):
59-
vm = read_single_resource(gw, "ReadVms", "Vms", "VmIds", vm_id)
60-
log_test_step("VM {} state={}".format(vm_id, vm.get("State")))
61-
if vm.get("State") == "running":
62-
break
63-
if vm.get("State") in ("terminated", "shutting-down"):
64-
self.fail("VM {} entered unexpected state {}".format(vm_id, vm.get("State")))
65-
time.sleep(10)
66-
67-
self.assertIsNotNone(vm)
68-
self.assertEqual(vm.get("State"), "running")
69-
70-
self.assertEqual(vm.get("ImageId"), image_id)
71-
self.assertTrue(
72-
any(tag.get("Key") == "Name" for tag in vm.get("Tags", [])),
73-
"expected a Name tag on the VM",
74-
)
75-
log_test_step("VM {} is running".format(vm_id))
76-
finally:
77-
if created_vm_ids:
78-
time.sleep(1)
79-
log_test_step("Deleting VM {}".format(created_vm_ids[0]))
80-
gw.DeleteVms(VmIds=created_vm_ids)
81-
82-
8320
if __name__ == "__main__":
8421
unittest.main()

tests/test_volume.py

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
11
import unittest
22
import sys
3-
import time
43

54
sys.path.append("..")
65
from osc_sdk_python import Gateway
7-
from tests.integration_utils import (
8-
build_name_tag_request,
9-
get_first_subregion_name,
10-
log_test_step,
11-
read_single_resource,
12-
)
13-
146

157
class TestVolume(unittest.TestCase):
168
def test_listing(self):
@@ -19,64 +11,5 @@ def test_listing(self):
1911
self.assertEqual(type(volumes), dict)
2012
self.assertEqual(type(volumes.get("Volumes")), list)
2113

22-
def test_volume_lifecycle(self):
23-
gw = Gateway()
24-
subregion_name = get_first_subregion_name(gw)
25-
log_test_step("Using subregion {}".format(subregion_name))
26-
volume_id = None
27-
try:
28-
log_test_step("Creating volume")
29-
response = gw.CreateVolume(Size=10, SubregionName=subregion_name)
30-
volume = response.get("Volume")
31-
self.assertIsInstance(volume, dict)
32-
volume_id = volume.get("VolumeId")
33-
self.assertTrue(volume_id)
34-
log_test_step("Created volume {}".format(volume_id))
35-
36-
gw.CreateTags(**build_name_tag_request(volume_id))
37-
log_test_step("Tagged volume {}".format(volume_id))
38-
39-
volume = None
40-
for _ in range(30):
41-
volume = read_single_resource(gw, "ReadVolumes", "Volumes", "VolumeIds", volume_id)
42-
log_test_step("Volume {} state={}".format(volume_id, volume.get("State")))
43-
if volume.get("State") == "available":
44-
break
45-
if volume.get("State") == "error":
46-
self.fail(
47-
"Volume {} entered unexpected state {}".format(
48-
volume_id, volume.get("State")
49-
)
50-
)
51-
time.sleep(10)
52-
53-
self.assertIsNotNone(volume)
54-
55-
# volume = get_resource_until_ready(
56-
# fetch=lambda: read_single_resource(
57-
# gw, "ReadVolumes", "Volumes", "VolumeIds", volume_id
58-
# ),
59-
# ready=lambda item: item.get("State") == "available",
60-
# timeout=300,
61-
# interval=10,
62-
# failure=lambda item: item.get("State") == "error",
63-
# describe=lambda item: "Volume {} state={}".format(
64-
# volume_id, item.get("State")
65-
# ),
66-
# )
67-
68-
self.assertEqual(volume.get("State"), "available")
69-
self.assertTrue(
70-
any(tag.get("Key") == "Name" for tag in volume.get("Tags", [])),
71-
"expected a Name tag on the volume",
72-
)
73-
log_test_step("Volume {} is available".format(volume_id))
74-
finally:
75-
if volume_id:
76-
time.sleep(1)
77-
log_test_step("Deleting volume {}".format(volume_id))
78-
gw.DeleteVolume(VolumeId=volume_id)
79-
80-
8114
if __name__ == "__main__":
8215
unittest.main()

0 commit comments

Comments
 (0)