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

7 statements  

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

1from collections import OrderedDict 

2 

3 

4sample_channel_map = [ 

5 { 

6 "channel": { 

7 "base": { 

8 "architecture": "all", 

9 "channel": "12.04", 

10 "name": "ubuntu", 

11 }, 

12 "name": "latest/stable", 

13 "released-at": "2021-10-21T16:45:42.323000+00:00", 

14 "risk": "stable", 

15 "track": "latest", 

16 }, 

17 "revision": { 

18 "bases": [ 

19 { 

20 "architecture": "all", 

21 "channel": "12.04", 

22 "name": "ubuntu", 

23 }, 

24 { 

25 "architecture": "xyz", 

26 "channel": "14.04", 

27 "name": "ubuntu", 

28 }, 

29 ], 

30 "created-at": "2021-10-21", 

31 "download": { 

32 "hash-sha-256": "qwerty", 

33 "url": "some-random-url", 

34 "size": 1024, 

35 }, 

36 "revision": 1, 

37 "version": "1.0", 

38 }, 

39 }, 

40 { 

41 "channel": { 

42 "base": { 

43 "architecture": "amd", 

44 "channel": "18.04", 

45 "name": "ubuntu", 

46 }, 

47 "name": "channel1/stable", 

48 "released-at": "2022-10-21T16:45:42.323000+00:00", 

49 "risk": "stable", 

50 "track": "channel1", 

51 }, 

52 "revision": { 

53 "bases": [ 

54 { 

55 "architecture": "amd", 

56 "channel": "18.04", 

57 "name": "ubuntu", 

58 }, 

59 { 

60 "arhcitecture": "s390", 

61 "channel": "20.04", 

62 "name": "ubuntu", 

63 }, 

64 { 

65 "architecture": "arm", 

66 "channel": "20.04", 

67 "name": "ubuntu", 

68 }, 

69 ], 

70 "created-at": "2022-10-21", 

71 "download": { 

72 "hash-sha-256": "qwerty2", 

73 "url": "some-random-url2", 

74 "size": 1024, 

75 }, 

76 "revision": 2, 

77 "version": "2.0", 

78 }, 

79 }, 

80] 

81 

82converted_sample_channel_map = OrderedDict( 

83 [ 

84 ( 

85 "latest", 

86 OrderedDict( 

87 [ 

88 ( 

89 "stable", 

90 { 

91 "all_bases": [ 

92 { 

93 "name": "Ubuntu 14.04", 

94 "architectures": [ 

95 "amd64", 

96 "arm64", 

97 "ppc64el", 

98 "riscv64", 

99 "s390x", 

100 ], 

101 }, 

102 { 

103 "name": "Ubuntu 12.04", 

104 "architectures": [ 

105 "amd64", 

106 "arm64", 

107 "ppc64el", 

108 "riscv64", 

109 "s390x", 

110 ], 

111 }, 

112 ], 

113 "latest": { 

114 "architectures": { 

115 "amd64", 

116 "arm64", 

117 "ppc64el", 

118 "riscv64", 

119 "s390x", 

120 }, 

121 "bases": ["Ubuntu 14.04", "Ubuntu 12.04"], 

122 "channel": "latest/stable", 

123 "channel_bases": [ 

124 { 

125 "channels": ["14.04", "12.04"], 

126 "name": "ubuntu", 

127 } 

128 ], 

129 "released_at": ( 

130 "2021-10-21" "T16:45:42.323000+00:00" 

131 ), 

132 "release_date": "21 Oct 2021", 

133 "revision": { 

134 "bases": [ 

135 { 

136 "architecture": "amd64", 

137 "channel": "12.04", 

138 "name": "ubuntu", 

139 }, 

140 { 

141 "architecture": "arm64", 

142 "channel": "12.04", 

143 "name": "ubuntu", 

144 }, 

145 { 

146 "architecture": "ppc64el", 

147 "channel": "12.04", 

148 "name": "ubuntu", 

149 }, 

150 { 

151 "architecture": "riscv64", 

152 "channel": "12.04", 

153 "name": "ubuntu", 

154 }, 

155 { 

156 "architecture": "s390x", 

157 "channel": "12.04", 

158 "name": "ubuntu", 

159 }, 

160 { 

161 "architecture": "xyz", 

162 "channel": "14.04", 

163 "name": "ubuntu", 

164 }, 

165 ], 

166 "created-at": "2021-10-21", 

167 "download": { 

168 "hash-sha-256": "qwerty", 

169 "size": 1024, 

170 "url": "some-random-url", 

171 }, 

172 "revision": 1, 

173 "version": "1.0", 

174 }, 

175 "risk": "stable", 

176 "size": 1024, 

177 "version": "1.0", 

178 }, 

179 "releases": OrderedDict( 

180 [ 

181 ( 

182 1, 

183 { 

184 "architectures": { 

185 "amd64", 

186 "arm64", 

187 "ppc64el", 

188 "riscv64", 

189 "s390x", 

190 }, 

191 "bases": [ 

192 "Ubuntu 14.04", 

193 "Ubuntu 12.04", 

194 ], 

195 "channel": "latest/stable", 

196 "channel_bases": [ 

197 { 

198 "channels": [ 

199 "14.04", 

200 "12.04", 

201 ], 

202 "name": "ubuntu", 

203 } 

204 ], 

205 "released_at": ( 

206 "2021-10-21" 

207 "T16:45:42.323000+00:00" 

208 ), 

209 "release_date": "21 Oct 2021", 

210 "revision": { 

211 "bases": [ 

212 { 

213 "arch" 

214 "itecture": "amd64", 

215 "channel": "12.04", 

216 "name": "ubuntu", 

217 }, 

218 { 

219 "arch" 

220 "itecture": "arm64", 

221 "channel": "12.04", 

222 "name": "ubuntu", 

223 }, 

224 { 

225 "arch" 

226 "itecture": "ppc64el", 

227 "channel": "12.04", 

228 "name": "ubuntu", 

229 }, 

230 { 

231 "arch" 

232 "itecture": "riscv64", 

233 "channel": "12.04", 

234 "name": "ubuntu", 

235 }, 

236 { 

237 "arch" 

238 "itecture": "s390x", 

239 "channel": "12.04", 

240 "name": "ubuntu", 

241 }, 

242 { 

243 "architecture": "xyz", 

244 "channel": "14.04", 

245 "name": "ubuntu", 

246 }, 

247 ], 

248 "created-at": "2021-10-21", 

249 "download": { 

250 "hash-sha-256": "qwerty", 

251 "size": 1024, 

252 "url": "some-random-url", 

253 }, 

254 "revision": 1, 

255 "version": "1.0", 

256 }, 

257 "risk": "stable", 

258 "size": 1024, 

259 "version": "1.0", 

260 }, 

261 ) 

262 ] 

263 ), 

264 }, 

265 ) 

266 ] 

267 ), 

268 ), 

269 ( 

270 "channel1", 

271 OrderedDict( 

272 [ 

273 ( 

274 "stable", 

275 { 

276 "all_bases": [ 

277 { 

278 "name": "Ubuntu 20.04", 

279 "architectures": ["amd"], 

280 }, 

281 { 

282 "name": "Ubuntu 18.04", 

283 "architectures": ["amd"], 

284 }, 

285 ], 

286 "latest": { 

287 "architectures": {"amd"}, 

288 "bases": ["Ubuntu 20.04", "Ubuntu 18.04"], 

289 "channel": "channel1/stable", 

290 "channel_bases": [ 

291 { 

292 "channels": ["20.04", "18.04"], 

293 "name": "ubuntu", 

294 } 

295 ], 

296 "released_at": ( 

297 "2022-10-21" "T16:45:42.323000+00:00" 

298 ), 

299 "release_date": "21 Oct 2022", 

300 "revision": { 

301 "bases": [ 

302 { 

303 "architecture": "amd", 

304 "channel": "18.04", 

305 "name": "ubuntu", 

306 }, 

307 { 

308 "arhcitecture": "s390", 

309 "channel": "20.04", 

310 "name": "ubuntu", 

311 }, 

312 { 

313 "architecture": "arm", 

314 "channel": "20.04", 

315 "name": "ubuntu", 

316 }, 

317 ], 

318 "created-at": "2022-10-21", 

319 "download": { 

320 "hash-sha-256": "qwerty2", 

321 "size": 1024, 

322 "url": "some-random-url2", 

323 }, 

324 "revision": 2, 

325 "version": "2.0", 

326 }, 

327 "risk": "stable", 

328 "size": 1024, 

329 "version": "2.0", 

330 }, 

331 "releases": OrderedDict( 

332 [ 

333 ( 

334 2, 

335 { 

336 "architectures": {"amd"}, 

337 "bases": [ 

338 "Ubuntu 20.04", 

339 "Ubuntu 18.04", 

340 ], 

341 "channel": "channel1/stable", 

342 "channel_bases": [ 

343 { 

344 "channels": [ 

345 "20.04", 

346 "18.04", 

347 ], 

348 "name": "ubuntu", 

349 } 

350 ], 

351 "released_at": ( 

352 "2022-10-21" 

353 "T16:45:42.323000+00:00" 

354 ), 

355 "release_date": "21 Oct 2022", 

356 "revision": { 

357 "bases": [ 

358 { 

359 "architecture": "amd", 

360 "channel": "18.04", 

361 "name": "ubuntu", 

362 }, 

363 { 

364 "arhcitecture": "s390", 

365 "channel": "20.04", 

366 "name": "ubuntu", 

367 }, 

368 { 

369 "architecture": "arm", 

370 "channel": "20.04", 

371 "name": "ubuntu", 

372 }, 

373 ], 

374 "created-at": "2022-10-21", 

375 "download": { 

376 "hash-sha-256": "qwerty2", 

377 "size": 1024, 

378 "url": "some-random-url2", 

379 }, 

380 "revision": 2, 

381 "version": "2.0", 

382 }, 

383 "risk": "stable", 

384 "size": 1024, 

385 "version": "2.0", 

386 }, 

387 ) 

388 ] 

389 ), 

390 }, 

391 ) 

392 ] 

393 ), 

394 ), 

395 ] 

396) 

397 

398sample_libraries = { 

399 "libraries": [ 

400 { 

401 "library-name": "library1", 

402 "library-id": "lb1", 

403 "hash": "123", 

404 "created-at": "2021-10-21T00:00:00Z", 

405 }, 

406 { 

407 "library-name": "library2", 

408 "library-id": "lb2", 

409 "hash": "456", 

410 "created-at": "2021-11-21T00:00:00Z", 

411 }, 

412 { 

413 "library-name": "library3", 

414 "library-id": "lb3", 

415 "hash": "789", 

416 "created-at": "2021-12-21T00:00:00Z", 

417 }, 

418 { 

419 "library-name": "library4", 

420 "library-id": "lb4", 

421 "hash": "101", 

422 "created-at": "2022-12-21T00:00:00Z", 

423 }, 

424 { 

425 "library-name": "library5", 

426 "library-id": "lb5", 

427 "hash": "112", 

428 "created-at": "2023-12-21T00:00:00Z", 

429 }, 

430 ] 

431} 

432 

433sample_processed_libraries = [ 

434 { 

435 "name": "library1", 

436 "id": "lb1", 

437 "hash": "123", 

438 "created_at": "2021-10-21T00:00:00Z", 

439 }, 

440 { 

441 "name": "library2", 

442 "id": "lb2", 

443 "hash": "456", 

444 "created_at": "2021-11-21T00:00:00Z", 

445 }, 

446 { 

447 "name": "library3", 

448 "id": "lb3", 

449 "hash": "789", 

450 "created_at": "2021-12-21T00:00:00Z", 

451 }, 

452 { 

453 "name": "library4", 

454 "id": "lb4", 

455 "hash": "101", 

456 "created_at": "2022-12-21T00:00:00Z", 

457 }, 

458 { 

459 "name": "library5", 

460 "id": "lb5", 

461 "hash": "112", 

462 "created_at": "2023-12-21T00:00:00Z", 

463 }, 

464] 

465 

466sample_charm = { 

467 "default-release": { 

468 "channel": { 

469 "base": { 

470 "architecture": "all", 

471 "channel": "10.04", 

472 "name": "ubuntu", 

473 }, 

474 "name": "stable", 

475 "released-at": "2021-06-28T14:47:17.575150+00:00", 

476 "risk": "stable", 

477 "track": "latest", 

478 }, 

479 "revision": {"revision": 1}, 

480 }, 

481 "id": "someraondomid", 

482 "name": "hello-world", 

483 "result": { 

484 "categories": [], 

485 "deployable-on": [], 

486 "media": [ 

487 { 

488 "height": None, 

489 "type": "icon", 

490 "url": "https://api.charmhub.io/some-random-long-url.png", 

491 "width": None, 

492 } 

493 ], 

494 "publisher": {"display-name": "Test Publisher"}, 

495 "summary": "A sample charm package.", 

496 "title": "", 

497 }, 

498 "type": "charm", 

499} 

500 

501sample_package_detail = { 

502 "channel-map": [ 

503 { 

504 "channel": { 

505 "base": { 

506 "architecture": "amd64", 

507 "channel": "22.04", 

508 "name": "ubuntu", 

509 }, 

510 "name": "1.16/stable", 

511 "released-at": "2025-01-20T21:44:16.705435+00:00", 

512 "risk": "stable", 

513 "track": "1.16", 

514 }, 

515 "revision": { 

516 "attributes": {"framework": "operator", "language": "python"}, 

517 "bases": [ 

518 { 

519 "architecture": "amd64", 

520 "channel": "22.04", 

521 "name": "ubuntu", 

522 } 

523 ], 

524 "created-at": "2025-01-17T21:09:54.005947+00:00", 

525 "download": { 

526 "hash-sha-256": "xx", 

527 "size": 35749287, 

528 "url": "https://api.charmhub.io/xxx.charm", 

529 }, 

530 "revision": 323, 

531 "version": "323", 

532 }, 

533 } 

534 ], 

535 "default-release": { 

536 "channel": { 

537 "base": { 

538 "architecture": "amd64", 

539 "channel": "22.04", 

540 "name": "ubuntu", 

541 }, 

542 "name": "1.16/stable", 

543 "released-at": "2025-01-20T21:44:16.705435+00:00", 

544 "risk": "stable", 

545 "track": "1.16", 

546 }, 

547 "resources": [ 

548 { 

549 "created-at": "2024-08-07T10:21:41.554301", 

550 "description": "OCI image for Vault", 

551 "download": { 

552 "hash-sha-256": "xxxx", 

553 "hash-sha-384": "xxxx", 

554 "hash-sha-512": "xxxx", 

555 "hash-sha3-384": "xxxx", 

556 "size": 501, 

557 "url": "https://xxx", 

558 }, 

559 "filename": "", 

560 "name": "vault-image", 

561 "revision": 84, 

562 "type": "oci-image", 

563 } 

564 ], 

565 "revision": { 

566 "actions-yaml": "{}\n", 

567 "attributes": {"framework": "operator", "language": "python"}, 

568 "bases": [ 

569 {"architecture": "amd64", "channel": "22.04", "name": "ubuntu"} 

570 ], 

571 "bundle-yaml": "{}\n", 

572 "config-yaml": "{}\n", 

573 "created-at": "2025-01-17T21:09:54.005947+00:00", 

574 "download": { 

575 "hash-sha-256": "xxx", 

576 "size": 35749287, 

577 "url": "https://xxx", 

578 }, 

579 "metadata-yaml": "{}\n", 

580 "readme-md": "# Vault", 

581 "relations": { 

582 "provides": { 

583 "grafana-dashboard": {"interface": "grafana_dashboard"}, 

584 }, 

585 "requires": { 

586 "ingress": {"interface": "ingress"}, 

587 }, 

588 }, 

589 "revision": 323, 

590 "version": "323", 

591 }, 

592 }, 

593 "id": "mangoawzhPY46mXnnG8h9MKhY6SUF5Pn", 

594 "name": "test", 

595 "result": { 

596 "bugs-url": "https://github.com/canonical/xxx", 

597 "categories": [], 

598 "deployable-on": ["kubernetes"], 

599 "links": { 

600 "contact": ["https://test"], 

601 "docs": ["https://discourse.charmhub.io/t/xxx"], 

602 "issues": ["https://github.com/canonical/xxx"], 

603 "source": ["https://github.com/canonical/xxx"], 

604 "website": ["https://charmhub.io/xxx"], 

605 }, 

606 "media": [ 

607 { 

608 "height": None, 

609 "type": "icon", 

610 "url": "https://api.charmhub.io/xxx", 

611 "width": None, 

612 } 

613 ], 

614 "publisher": { 

615 "display-name": "Test Publisher", 

616 "id": "xxxx", 

617 "username": "publisher", 

618 "validation": "unproven", 

619 }, 

620 "summary": "A tool for managing secrets", 

621 "title": "Test", 

622 "unlisted": False, 

623 "website": "https://charmhub.io/xxx", 

624 }, 

625 "type": "charm", 

626}