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

1# encoding: utf-8 

2''' 

3Created on 2025年3月7日 

4 

5@author: jingyu.wy 

6''' 

7import unittest 

8import uuid 

9 

10from dotenv import load_dotenv 

11 

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 

15 

16 

17class Test(unittest.TestCase): 

18 

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 } 

27 

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'] 

34 

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) 

41 

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,) 

54 

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,) 

66 

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,) 

78 

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,) 

90 

91 

92if __name__ == "__main__": 

93 # import sys;sys.argv = ['', 'Test.testCreateVpc'] 

94 run_unittest_with_coverage()