Coverage for test_ali_vpc_info.py: 75%
51 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-10 19:46 +0800
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-10 19:46 +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_vpc_info import main as vpc_info_main
14from ansible_collections.alibaba.apsarastack.tests.test_utils import run_module, run_unittest_with_coverage
17class Test(unittest.TestCase):
19 def __init__(self, methodName:str="runTest") -> None:
20 unittest.TestCase.__init__(self, methodName=methodName)
21 self._vpc_info = {
22 "cidr_block": "192.168.0.0/24",
23 "vpc_name": "ansible_test_vpc_info_%s" % uuid.uuid1(),
24 "description": "create by ansible unit test",
25 "tags": {"key1":"value1"}
26 }
28 def setUp(self)->None:
29 unittest.TestCase.setUp(self)
30 load_dotenv()
31 vpc_args = self._vpc_info
32 result = run_module(vpc_main, vpc_args)
33 self._vpc_info['id'] = result['vpc']['vpc_id']
35 def tearDown(self) -> None:
36 unittest.TestCase.tearDown(self)
37 vpc_args = {
38 "state": "absent",
39 } | self._vpc_info
40 run_module(vpc_main, vpc_args)
42 def testDescribeVpcInfo(self):
43 vpc_info_args = {
44 "vpc_ids": self._vpc_info['id'],
45 }
46 result = run_module(vpc_info_main, vpc_info_args)
47 self.assertEqual(len(result['vpcs']), 1,)
48 self.assertEqual(result['vpcs'][0]['id'], self._vpc_info['id'])
49 vpc_info_args = {
50 "vpc_ids": self._vpc_info['id'] + "_",
51 }
52 result = run_module(vpc_info_main, vpc_info_args)
53 self.assertEqual(len(result['vpcs']), 0,)
55 vpc_info_args = {
56 "vpc_name": self._vpc_info['vpc_name'],
57 }
58 result = run_module(vpc_info_main, vpc_info_args)
59 self.assertEqual(len(result['vpcs']), 1,)
60 self.assertEqual(result['vpcs'][0]['id'], self._vpc_info['id'])
61 vpc_info_args = {
62 "vpc_name": self._vpc_info['vpc_name'] + "_",
63 }
64 result = run_module(vpc_info_main, vpc_info_args)
65 self.assertEqual(len(result['vpcs']), 0,)
67 vpc_info_args = {
68 "name_prefix": 'ansible_test_vpc_info_',
69 }
70 result = run_module(vpc_info_main, vpc_info_args)
71 self.assertEqual(len(result['vpcs']), 1,)
72 self.assertEqual(result['vpcs'][0]['id'], self._vpc_info['id'])
73 vpc_info_args = {
74 "name_prefix": '_ansible_test_vpc_info',
75 }
76 result = run_module(vpc_info_main, vpc_info_args)
77 self.assertEqual(len(result['vpcs']), 0,)
79 vpc_info_args = {
80 "cidr_prefix": self._vpc_info['cidr_block'],
81 }
82 result = run_module(vpc_info_main, vpc_info_args)
83 self.assertEqual(len(result['vpcs']), 1,)
84 self.assertEqual(result['vpcs'][0]['id'], self._vpc_info['id'])
85 vpc_info_args = {
86 "cidr_prefix": '10.0.0.1/8',
87 }
88 result = run_module(vpc_info_main, vpc_info_args)
89 self.assertEqual(len(result['vpcs']), 0,)
92if __name__ == "__main__":
93 # import sys;sys.argv = ['', 'Test.testCreateVpc']
94 run_unittest_with_coverage()