Coverage for tests/mock_data/mock_publisher_logic.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-27 22:07 +0000

1from typing import Dict, List 

2from webapp.publisher.logic import ReleaseMap, Revision 

3 

4 

5channel_map_basic = [ 

6 { 

7 "base": {"architecture": "all", "channel": "14.04", "name": "ubuntu"}, 

8 "channel": "latest/edge", 

9 "expiration-date": None, 

10 "progressive": {"paused": None, "percentage": None}, 

11 "resources": [], 

12 "revision": 5, 

13 "when": "2021-03-19T03:47:27Z", 

14 }, 

15 { 

16 "base": {"architecture": "all", "channel": "14.04", "name": "ubuntu"}, 

17 "channel": "latest/stable", 

18 "expiration-date": None, 

19 "progressive": {"paused": None, "percentage": None}, 

20 "resources": [], 

21 "revision": 5, 

22 "when": "2021-03-19T03:47:27Z", 

23 }, 

24] 

25 

26 

27channels_basic = [ 

28 { 

29 "branch": None, 

30 "fallback": None, 

31 "name": "latest/stable", 

32 "risk": "stable", 

33 "track": "latest", 

34 }, 

35 { 

36 "branch": None, 

37 "fallback": "latest/stable", 

38 "name": "latest/candidate", 

39 "risk": "candidate", 

40 "track": "latest", 

41 }, 

42 { 

43 "branch": None, 

44 "fallback": "latest/candidate", 

45 "name": "latest/beta", 

46 "risk": "beta", 

47 "track": "latest", 

48 }, 

49 { 

50 "branch": None, 

51 "fallback": "latest/beta", 

52 "name": "latest/edge", 

53 "risk": "edge", 

54 "track": "latest", 

55 }, 

56] 

57revisions_basic: List[Revision] = [ 

58 { 

59 "bases": [ 

60 {"architecture": "all", "channel": "14.04", "name": "ubuntu"} 

61 ], 

62 "created-at": "2015-09-22T12:31:29Z", 

63 "errors": None, 

64 "revision": 5, 

65 "sha3-384": "1234", 

66 "size": 135247, 

67 "status": "released", 

68 "version": "5", 

69 } 

70] 

71 

72 

73expected_result_basic: Dict[str, ReleaseMap] = { 

74 "latest/stable": { 

75 "track": "latest", 

76 "risk": "stable", 

77 "releases": [ 

78 { 

79 "revision": { 

80 "bases": [ 

81 { 

82 "architecture": "amd64", 

83 "channel": "14.04", 

84 "name": "ubuntu", 

85 }, 

86 { 

87 "architecture": "arm64", 

88 "channel": "14.04", 

89 "name": "ubuntu", 

90 }, 

91 { 

92 "architecture": "ppc64el", 

93 "channel": "14.04", 

94 "name": "ubuntu", 

95 }, 

96 { 

97 "architecture": "riscv64", 

98 "channel": "14.04", 

99 "name": "ubuntu", 

100 }, 

101 { 

102 "architecture": "s390x", 

103 "channel": "14.04", 

104 "name": "ubuntu", 

105 }, 

106 ], 

107 "created-at": "2015-09-22T12:31:29Z", 

108 "errors": None, 

109 "revision": 5, 

110 "sha3-384": "1234", 

111 "size": 135247, 

112 "status": "released", 

113 "version": "5", 

114 }, 

115 "resources": [], 

116 } 

117 ], 

118 }, 

119 "latest/candidate": { 

120 "track": "latest", 

121 "risk": "candidate", 

122 "releases": [], 

123 }, 

124 "latest/beta": {"track": "latest", "risk": "beta", "releases": []}, 

125 "latest/edge": { 

126 "track": "latest", 

127 "risk": "edge", 

128 "releases": [ 

129 { 

130 "revision": { 

131 "bases": [ 

132 { 

133 "architecture": "amd64", 

134 "channel": "14.04", 

135 "name": "ubuntu", 

136 }, 

137 { 

138 "architecture": "arm64", 

139 "channel": "14.04", 

140 "name": "ubuntu", 

141 }, 

142 { 

143 "architecture": "ppc64el", 

144 "channel": "14.04", 

145 "name": "ubuntu", 

146 }, 

147 { 

148 "architecture": "riscv64", 

149 "channel": "14.04", 

150 "name": "ubuntu", 

151 }, 

152 { 

153 "architecture": "s390x", 

154 "channel": "14.04", 

155 "name": "ubuntu", 

156 }, 

157 ], 

158 "created-at": "2015-09-22T12:31:29Z", 

159 "errors": None, 

160 "revision": 5, 

161 "sha3-384": "1234", 

162 "size": 135247, 

163 "status": "released", 

164 "version": "5", 

165 }, 

166 "resources": [], 

167 } 

168 ], 

169 }, 

170} 

171 

172test_case_basic_flow = ( 

173 (channel_map_basic, channels_basic, revisions_basic), 

174 expected_result_basic, 

175)