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

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_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 

16 

17 

18class Test(unittest.TestCase): 

19 

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 } 

34 

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

44 

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) 

55 

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

68 

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

80 

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

92 

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

104 

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

116 

117 

118if __name__ == "__main__": 

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

120 run_unittest_with_coverage()