Coverage for test_ali_vswtich_info.py: 79%
66 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-11 11:21 +0800
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-11 11:21 +0800
1# encoding: utf-8
2'''
3Created on 2025年3月7日
5@author: jingyu.wy
6'''
7import unittest
8import uuid
10from dotenv import load_dotenv
12from ansible_collections.alibaba.apsarastack.plugins.modules.ali_vpc import main as vpc_main
13from ansible_collections.alibaba.apsarastack.plugins.modules.ali_vswitch import main as vswtich_main
14from ansible_collections.alibaba.apsarastack.plugins.modules.ali_vswitch_info import main as vswtich_info_main
15from ansible_collections.alibaba.apsarastack.tests.test_utils import run_module, run_unittest_with_coverage
18class Test(unittest.TestCase):
20 def __init__(self, methodName:str="runTest") -> None:
21 unittest.TestCase.__init__(self, methodName=methodName)
22 name = "ansible_test_vswtich_info_%s" % uuid.uuid1()
23 self._vpc_info = {
24 "cidr_block": "172.16.0.0/16",
25 "vpc_name": name,
26 "description": "create by ansible unit test",
27 "tags": {"key1":"value1"}
28 }
29 self._vswtich_info = {
30 "cidr_block": "172.16.1.0/24",
31 "name": name,
32 "tags": {"key1":"value1"}
33 }
35 def setUp(self)->None:
36 unittest.TestCase.setUp(self)
37 load_dotenv()
38 vpc_args = self._vpc_info
39 result = run_module(vpc_main, vpc_args)
40 self._vpc_info['id'] = result['vpc']['vpc_id']
41 self._vswtich_info["vpc_id"] = self._vpc_info['id']
42 result = run_module(vswtich_main, self._vswtich_info)
43 self._vswtich_info["id"] = result['vswitch']['id']
45 def tearDown(self) -> None:
46 unittest.TestCase.tearDown(self)
47 vswtich_args = {
48 "state": "absent",
49 } | self._vswtich_info
50 run_module(vswtich_main, vswtich_args)
51 vpc_args = {
52 "state": "absent",
53 } | self._vpc_info
54 run_module(vpc_main, vpc_args)
56 def testDescribeVpcInfo(self):
57 vswtich_args = {
58 "vswitch_ids": self._vswtich_info['id'],
59 }
60 result = run_module(vswtich_info_main, vswtich_args)
61 self.assertEqual(len(result['vswitches']), 1,)
62 self.assertEqual(result['vswitches'][0]['id'], self._vswtich_info['id'])
63 vswtich_args = {
64 "vswitch_ids": self._vswtich_info['id'] + "_",
65 }
66 result = run_module(vswtich_info_main, vswtich_args)
67 self.assertEqual(len(result['vswitches']), 0,)
69 vswtich_args = {
70 "vswitch_name": self._vswtich_info['name'],
71 }
72 result = run_module(vswtich_info_main, vswtich_args)
73 self.assertEqual(len(result['vswitches']), 1,)
74 self.assertEqual(result['vswitches'][0]['id'], self._vswtich_info['id'])
75 vswtich_args = {
76 "vswitch_name": self._vswtich_info['name'] + "_",
77 }
78 result = run_module(vswtich_info_main, vswtich_args)
79 self.assertEqual(len(result['vswitches']), 0,)
81 vswtich_args = {
82 "name_prefix": 'ansible_test_vswtich_info_',
83 }
84 result = run_module(vswtich_info_main, vswtich_args)
85 self.assertEqual(len(result['vswitches']), 1,)
86 self.assertEqual(result['vswitches'][0]['id'], self._vswtich_info['id'])
87 vswtich_args = {
88 "name_prefix": '_ansible_test_vswtich_info',
89 }
90 result = run_module(vswtich_info_main, vswtich_args)
91 self.assertEqual(len(result['vswitches']), 0,)
93 vswtich_args = {
94 "cidr_block": self._vswtich_info['cidr_block'],
95 }
96 result = run_module(vswtich_info_main, vswtich_args)
97 self.assertEqual(len(result['vswitches']), 1,)
98 self.assertEqual(result['vswitches'][0]['id'], self._vswtich_info['id'])
99 vswtich_args = {
100 "cidr_block": '10.0.0.1/8',
101 }
102 result = run_module(vswtich_info_main, vswtich_args)
103 self.assertEqual(len(result['vswitches']), 0,)
105 vswtich_args = {
106 "cidr_prefix": self._vswtich_info['cidr_block'],
107 }
108 result = run_module(vswtich_info_main, vswtich_args)
109 self.assertEqual(len(result['vswitches']), 1,)
110 self.assertEqual(result['vswitches'][0]['id'], self._vswtich_info['id'])
111 vswtich_args = {
112 "cidr_prefix": '10.0.0.1/8',
113 }
114 result = run_module(vswtich_info_main, vswtich_args)
115 self.assertEqual(len(result['vswitches']), 0,)
118if __name__ == "__main__":
119 # import sys;sys.argv = ['', 'Test.testCreateVpc']
120 run_unittest_with_coverage()