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
« 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
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]
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]
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}
172test_case_basic_flow = (
173 (channel_map_basic, channels_basic, revisions_basic),
174 expected_result_basic,
175)