orionis 0.431.0__py3-none-any.whl → 0.434.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- orionis/app.py +17 -0
- orionis/console/commands/version.py +2 -2
- orionis/console/core/reactor.py +1 -1
- orionis/foundation/config/roots/paths.py +2 -2
- orionis/metadata/framework.py +38 -65
- orionis/metadata/package.py +280 -54
- orionis/support/entities/base.py +18 -37
- orionis/support/facades/console.py +3 -9
- orionis/support/facades/dumper.py +3 -9
- orionis/support/facades/logger.py +3 -9
- orionis/support/facades/path_resolver.py +3 -10
- orionis/support/facades/progress_bar.py +3 -10
- orionis/support/facades/testing.py +4 -10
- orionis/support/facades/workers.py +4 -9
- orionis/support/formatter/exceptions/contracts/parser.py +10 -7
- orionis/support/formatter/exceptions/parser.py +28 -26
- orionis/support/formatter/serializer.py +12 -5
- orionis/support/patterns/singleton/meta.py +17 -21
- orionis/support/standard/contracts/std.py +25 -24
- orionis/support/standard/exceptions/value.py +2 -2
- orionis/support/standard/std.py +26 -24
- orionis/support/wrapper/dot_dict.py +16 -51
- orionis/test/cases/asynchronous.py +17 -81
- orionis/test/cases/synchronous.py +17 -73
- orionis/test/contracts/dumper.py +17 -21
- orionis/test/contracts/kernel.py +5 -12
- orionis/test/contracts/logs.py +16 -21
- orionis/test/contracts/printer.py +70 -8
- orionis/test/contracts/render.py +7 -13
- orionis/test/contracts/test_result.py +58 -27
- orionis/test/contracts/unit_test.py +18 -18
- orionis/test/core/unit_test.py +162 -519
- orionis/test/entities/result.py +49 -21
- orionis/test/enums/status.py +11 -17
- orionis/test/exceptions/config.py +4 -8
- orionis/test/exceptions/failure.py +2 -18
- orionis/test/exceptions/persistence.py +4 -8
- orionis/test/exceptions/runtime.py +4 -8
- orionis/test/exceptions/value.py +5 -13
- orionis/test/kernel.py +14 -42
- orionis/test/output/dumper.py +21 -43
- orionis/test/output/printer.py +6 -146
- orionis/test/records/logs.py +57 -121
- orionis/test/validators/base_path.py +8 -6
- orionis/test/validators/execution_mode.py +2 -3
- orionis/test/validators/fail_fast.py +4 -8
- orionis/test/validators/folder_path.py +5 -7
- orionis/test/validators/module_name.py +3 -3
- orionis/test/validators/name_pattern.py +4 -9
- orionis/test/validators/pattern.py +4 -9
- orionis/test/validators/persistent.py +4 -14
- orionis/test/validators/persistent_driver.py +7 -12
- orionis/test/validators/print_result.py +4 -9
- orionis/test/validators/tags.py +6 -7
- orionis/test/validators/throw_exception.py +7 -14
- orionis/test/validators/verbosity.py +15 -5
- orionis/test/validators/web_report.py +6 -10
- orionis/test/validators/workers.py +9 -4
- orionis/test/view/render.py +9 -26
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/METADATA +1 -1
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/RECORD +82 -81
- tests/metadata/test_metadata_framework.py +64 -90
- tests/metadata/test_metadata_package.py +31 -31
- tests/support/entities/mock_dataclass.py +16 -10
- tests/support/entities/test_base.py +6 -14
- tests/support/patterns/singleton/test_patterns_singleton.py +7 -8
- tests/support/standard/test_services_std.py +113 -37
- tests/support/wrapper/test_services_wrapper_docdict.py +25 -40
- tests/testing/cases/test_testing_asynchronous.py +14 -14
- tests/testing/cases/test_testing_synchronous.py +12 -14
- tests/testing/entities/test_testing_result.py +12 -51
- tests/testing/enums/test_testing_status.py +8 -13
- tests/testing/output/test_testing_dumper.py +3 -6
- tests/testing/output/test_testing_printer.py +5 -5
- tests/testing/records/test_testing_records.py +16 -26
- tests/testing/test_testing_unit.py +8 -94
- tests/testing/validators/test_testing_validators.py +55 -112
- tests/testing/view/test_render.py +4 -5
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/WHEEL +0 -0
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/licenses/LICENCE +0 -0
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/top_level.txt +0 -0
- {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/zip-safe +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
orionis/app.py,sha256=b69fOzj2J8Aw5g0IldWZXixUDeeTO9vcHc_Njses9HU,603
|
|
2
3
|
orionis/console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
4
|
orionis/console/kernel.py,sha256=1CuBCLR6KItRt0_m50YQXirJUMX6lJf4Z4vvOjBqaUU,856
|
|
4
5
|
orionis/console/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
6
|
orionis/console/base/command.py,sha256=2kKyTaEzI16Up-XCUeNeJmDWPLN-CweQm3EgrN9U8NQ,3027
|
|
6
7
|
orionis/console/base/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
8
|
orionis/console/base/contracts/command.py,sha256=s9yjma-s1URkVm0EbVvSkETAm-N8xX7OnZS43P8pvk8,1957
|
|
8
|
-
orionis/console/commands/version.py,sha256=
|
|
9
|
+
orionis/console/commands/version.py,sha256=TfiuMCcESdlNuhnbl_h9qbOb8aYDXcc5X1J5LfD1v7M,1041
|
|
9
10
|
orionis/console/contracts/kernel.py,sha256=fzD8FNVSKEQ5gW5D83hVecz9dVHgy28rRDORDdghp4s,409
|
|
10
|
-
orionis/console/core/reactor.py,sha256=
|
|
11
|
+
orionis/console/core/reactor.py,sha256=lNfj-L4MKZhBn07l4H5L5dVW2xBRiq6-kyIuqnUNawQ,73
|
|
11
12
|
orionis/console/dumper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
13
|
orionis/console/dumper/dump.py,sha256=CATERiQ6XuIrKQsDaWcVxzTtlAJI9qLJX44fQxEX8ws,22443
|
|
13
14
|
orionis/console/dumper/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -140,7 +141,7 @@ orionis/foundation/config/queue/entities/queue.py,sha256=YiWPeEg5e0fd_DJM2ogska6
|
|
|
140
141
|
orionis/foundation/config/queue/enums/__init__.py,sha256=oWY8GWwr5mex7szs_bLVqAS1jbyuIAvKl7XFGSlU9A0,64
|
|
141
142
|
orionis/foundation/config/queue/enums/strategy.py,sha256=S_kw7KZtoCk5FTOkbuXepdy_fOl9Eav4uT2K0OyzBa0,602
|
|
142
143
|
orionis/foundation/config/roots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
|
-
orionis/foundation/config/roots/paths.py,sha256=
|
|
144
|
+
orionis/foundation/config/roots/paths.py,sha256=YosRpL9R6sSaEkW2PnymTCXSxPQb3-miWoUAC0pVYvw,10676
|
|
144
145
|
orionis/foundation/config/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
146
|
orionis/foundation/config/session/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
147
|
orionis/foundation/config/session/entities/session.py,sha256=sJoD-_CiwUR88tva-rO22bagG3RTcHXrQGWbq4B5joM,5998
|
|
@@ -172,8 +173,8 @@ orionis/foundation/providers/progress_bar_provider.py,sha256=WW3grNgH-yV2meSSTeO
|
|
|
172
173
|
orionis/foundation/providers/testing_provider.py,sha256=iJSN2RIChbYIL-1ue6vmPmDMCSrvERDkti4Er9MPiLA,1102
|
|
173
174
|
orionis/foundation/providers/workers_provider.py,sha256=kiQjQRyUEyiBX2zcbF_KmqRgvc7Bvxsvg5oMtIvYniM,1075
|
|
174
175
|
orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
-
orionis/metadata/framework.py,sha256=
|
|
176
|
-
orionis/metadata/package.py,sha256=
|
|
176
|
+
orionis/metadata/framework.py,sha256=1M3mvFtAf9Oy_DQRsl17tgyk_z8D92EU7Z_AZQ-CxQo,4088
|
|
177
|
+
orionis/metadata/package.py,sha256=k7Yriyp5aUcR-iR8SK2ec_lf0_Cyc-C7JczgXa-I67w,16039
|
|
177
178
|
orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
179
|
orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
180
|
orionis/services/asynchrony/coroutines.py,sha256=Aj5a1LTosnGUA0meSHivC1OJBYOQ7xq3US_PzWTc91w,3113
|
|
@@ -266,81 +267,81 @@ orionis/services/system/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
266
267
|
orionis/services/system/runtime/imports.py,sha256=iIwIx8RjBHaiveCdj_WPiMMbWsKGbIs02qpAzL_L3Z0,3158
|
|
267
268
|
orionis/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
268
269
|
orionis/support/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
|
-
orionis/support/entities/base.py,sha256=
|
|
270
|
+
orionis/support/entities/base.py,sha256=kVx9YWZjYS6C9MraarU7U12OeT5enBp5XqizrQm4RQs,4801
|
|
270
271
|
orionis/support/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
271
|
-
orionis/support/facades/console.py,sha256=
|
|
272
|
-
orionis/support/facades/dumper.py,sha256=
|
|
273
|
-
orionis/support/facades/logger.py,sha256=
|
|
274
|
-
orionis/support/facades/path_resolver.py,sha256=
|
|
275
|
-
orionis/support/facades/progress_bar.py,sha256=
|
|
276
|
-
orionis/support/facades/testing.py,sha256=
|
|
277
|
-
orionis/support/facades/workers.py,sha256=
|
|
272
|
+
orionis/support/facades/console.py,sha256=OvxQ-r8PsPocJTaIUftmJnnr4SuONHQWYFz2_r1CcR4,412
|
|
273
|
+
orionis/support/facades/dumper.py,sha256=XAHJTXrMjPchGQMIAU0hlcUjMZQK_ogrE0voRm2HdI8,434
|
|
274
|
+
orionis/support/facades/logger.py,sha256=2EbSbJDSyKFUQmZUpoMsc5704Mzj2Skehx_9UpDluhc,450
|
|
275
|
+
orionis/support/facades/path_resolver.py,sha256=lRLbu69i8PzM-I53gzXroHIurxzyFdssNWOYMjPgqco,442
|
|
276
|
+
orionis/support/facades/progress_bar.py,sha256=NOCwAV873GptedgySMZpM_A_DoM-UQrMg2kDHpS6zi8,423
|
|
277
|
+
orionis/support/facades/testing.py,sha256=FJy7bnDiNHMe7jutARELHom6umDxlLVMMOj6aLm0Vak,490
|
|
278
|
+
orionis/support/facades/workers.py,sha256=DJ_mSnD4budFBrPGf-epVYrSQ1AzDcJ82db0QmNTAyU,479
|
|
278
279
|
orionis/support/formatter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
279
|
-
orionis/support/formatter/serializer.py,sha256=
|
|
280
|
+
orionis/support/formatter/serializer.py,sha256=SGii2rPei1QR-W1KQTA_IpH4a_46AgaUzSaruwRlcdM,662
|
|
280
281
|
orionis/support/formatter/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
281
|
-
orionis/support/formatter/exceptions/parser.py,sha256=
|
|
282
|
+
orionis/support/formatter/exceptions/parser.py,sha256=GY538PvRmX5Ry7uO3_yfbUVDM2igSAJJnxIDgw61qns,3927
|
|
282
283
|
orionis/support/formatter/exceptions/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
283
|
-
orionis/support/formatter/exceptions/contracts/parser.py,sha256=
|
|
284
|
+
orionis/support/formatter/exceptions/contracts/parser.py,sha256=onLMtggihUGPhCavPnYeiheLlVEHBJCq8XijdraBjm8,1136
|
|
284
285
|
orionis/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
285
286
|
orionis/support/patterns/singleton/__init__.py,sha256=BIyMYL5yXpzv_F-jsSEtoKYseGlM8jdJT8hwGuXZZl8,62
|
|
286
|
-
orionis/support/patterns/singleton/meta.py,sha256=
|
|
287
|
+
orionis/support/patterns/singleton/meta.py,sha256=TmrE-QlkglBChD4bmMgQRGT3nli6Kf6UvDl1tiEjQ_o,3801
|
|
287
288
|
orionis/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
288
|
-
orionis/support/standard/std.py,sha256=
|
|
289
|
+
orionis/support/standard/std.py,sha256=zwXOellgGy9LTmeAK-rCIr7CgKYg5iQijMjdwmMblFA,3800
|
|
289
290
|
orionis/support/standard/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
290
|
-
orionis/support/standard/contracts/std.py,sha256=
|
|
291
|
+
orionis/support/standard/contracts/std.py,sha256=SJ44qIFDCp4jHL18k4sji5Mt_MN16lpg-0ku1qudh04,3331
|
|
291
292
|
orionis/support/standard/exceptions/__init__.py,sha256=MPwL4i8GSUtLJ82wQ_SlcdgtnIBRk3_CR7JbDhxHf20,93
|
|
292
|
-
orionis/support/standard/exceptions/value.py,sha256=
|
|
293
|
+
orionis/support/standard/exceptions/value.py,sha256=rsyWFQweImaJGTJa7Id7RhPlwWJ4SNf3MONxlH-1VMk,476
|
|
293
294
|
orionis/support/wrapper/__init__.py,sha256=jGoWoIGYuRYqMYQKlrX7Dpcbg-AGkHoB_aM2xhu73yc,62
|
|
294
|
-
orionis/support/wrapper/dot_dict.py,sha256=
|
|
295
|
+
orionis/support/wrapper/dot_dict.py,sha256=T8xWwwOhBZHNeXRwE_CxvOwG9UFxsLqNmOJjV2CNIrc,7284
|
|
295
296
|
orionis/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
|
-
orionis/test/kernel.py,sha256=
|
|
297
|
+
orionis/test/kernel.py,sha256=OXsrfm0wLdm8eg1dvmE6kqK_0xXI6RcZJ5HUaGteGas,5185
|
|
297
298
|
orionis/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
298
|
-
orionis/test/cases/asynchronous.py,sha256=
|
|
299
|
-
orionis/test/cases/synchronous.py,sha256=
|
|
299
|
+
orionis/test/cases/asynchronous.py,sha256=3e1Y3qzIxVU7i7lbLFEVyJ89IA74JsB7famx71W-p2E,1974
|
|
300
|
+
orionis/test/cases/synchronous.py,sha256=S5jhuDEZ5I9wosrTFaCtowkD5r5HzJH6mKPOdEJcDJE,1734
|
|
300
301
|
orionis/test/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
301
|
-
orionis/test/contracts/dumper.py,sha256
|
|
302
|
-
orionis/test/contracts/kernel.py,sha256=
|
|
303
|
-
orionis/test/contracts/logs.py,sha256=
|
|
304
|
-
orionis/test/contracts/printer.py,sha256=
|
|
305
|
-
orionis/test/contracts/render.py,sha256=
|
|
306
|
-
orionis/test/contracts/test_result.py,sha256=
|
|
307
|
-
orionis/test/contracts/unit_test.py,sha256=
|
|
302
|
+
orionis/test/contracts/dumper.py,sha256=-QKcbD1afjjRQ4oDwJuCZ0c1TyKa4YK_g_5gX6t0kA8,1356
|
|
303
|
+
orionis/test/contracts/kernel.py,sha256=tBUt8cr6HGE16lsIaRp1FoDcr46tiEta5PaasfbHe-w,732
|
|
304
|
+
orionis/test/contracts/logs.py,sha256=kRH3TGQcTNI0kRxFyEs13Y7NOPP9x9WGitPexnoLzQo,2352
|
|
305
|
+
orionis/test/contracts/printer.py,sha256=iBz8wHAGaS21VBsHlZQVcx0xu9Bqusb-CLAjj-R1Sjg,3412
|
|
306
|
+
orionis/test/contracts/render.py,sha256=wpDQzUtT0r8KFZ7zPcxWHXQ1EVNKxzA_rZ6ZKUcZO1c,744
|
|
307
|
+
orionis/test/contracts/test_result.py,sha256=SNXJ2UerkweYn7uCT0i0HmMGP0XBrL_9KJs-0ZvIYU4,4002
|
|
308
|
+
orionis/test/contracts/unit_test.py,sha256=PSnjEyM-QGQ3Pm0ZOqaa8QdPOtilGBVO4R87JYdVa-8,5386
|
|
308
309
|
orionis/test/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
|
-
orionis/test/core/unit_test.py,sha256=
|
|
310
|
+
orionis/test/core/unit_test.py,sha256=Am3o3xc91CZkVYd-Kn9JypSig3ZYbC8eHcEK2YLncKs,44598
|
|
310
311
|
orionis/test/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
311
|
-
orionis/test/entities/result.py,sha256=
|
|
312
|
+
orionis/test/entities/result.py,sha256=IMAd1AiwOf2z8krTDBFMpQe_1PG4YJ5Z0qpbr9xZwjg,4507
|
|
312
313
|
orionis/test/enums/__init__.py,sha256=M3imAgMvKFTKg55FbtVoY3zxj7QRY9AfaUWxiSZVvn4,66
|
|
313
|
-
orionis/test/enums/status.py,sha256=
|
|
314
|
+
orionis/test/enums/status.py,sha256=5SXvDQEFOT4Jkzdndw6hV8Tc2k4gm9XGjyZp0Qa55Zk,757
|
|
314
315
|
orionis/test/exceptions/__init__.py,sha256=HcFudBMqi86hzgxEyNhh29hNMOle4KZmKosJRqX5ayc,424
|
|
315
|
-
orionis/test/exceptions/config.py,sha256=
|
|
316
|
-
orionis/test/exceptions/failure.py,sha256=
|
|
317
|
-
orionis/test/exceptions/persistence.py,sha256=
|
|
318
|
-
orionis/test/exceptions/runtime.py,sha256=
|
|
319
|
-
orionis/test/exceptions/value.py,sha256=
|
|
316
|
+
orionis/test/exceptions/config.py,sha256=tzwTyfxuriALzH39VRtNcpO9iA64OuZTXPCJEbEG1C4,579
|
|
317
|
+
orionis/test/exceptions/failure.py,sha256=IlaH45y1D0kypu6uaNbi4iCzYrhZUxxO5hQ9DtGv0Gg,2020
|
|
318
|
+
orionis/test/exceptions/persistence.py,sha256=8Oakaey35DpByLoGnfbwHxFKntxgWaGl496hlyeosxU,619
|
|
319
|
+
orionis/test/exceptions/runtime.py,sha256=h9gQ0pS8tJTmuXNG-GHky8tTqpdz-cNqkntOOlRXZJg,612
|
|
320
|
+
orionis/test/exceptions/value.py,sha256=CoqYOkViU_RaKCMNpB82tgEsR3XhI1pw6YQ8sH8CJh4,588
|
|
320
321
|
orionis/test/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
321
|
-
orionis/test/output/dumper.py,sha256=
|
|
322
|
-
orionis/test/output/printer.py,sha256=
|
|
322
|
+
orionis/test/output/dumper.py,sha256=I2uHjy-sokj3cJyO_bOwBUMvIVNoU3um1jb4-vGe39k,5907
|
|
323
|
+
orionis/test/output/printer.py,sha256=lW29hkrpPQLW0Q0AF39vBXRsQrUgYDru-SA2QyQ9Qqs,20820
|
|
323
324
|
orionis/test/records/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
324
|
-
orionis/test/records/logs.py,sha256=
|
|
325
|
+
orionis/test/records/logs.py,sha256=7XIdzDmQpb2HLUoAUWVj8UKiQDOnCkLD7ttro-Lv5UY,14223
|
|
325
326
|
orionis/test/validators/__init__.py,sha256=RpuZFsrmxzLjRERyJ2fcZIQ27xuq2DedDlao2zmFE_U,991
|
|
326
|
-
orionis/test/validators/base_path.py,sha256=
|
|
327
|
-
orionis/test/validators/execution_mode.py,sha256=
|
|
328
|
-
orionis/test/validators/fail_fast.py,sha256=
|
|
329
|
-
orionis/test/validators/folder_path.py,sha256=
|
|
330
|
-
orionis/test/validators/module_name.py,sha256=
|
|
331
|
-
orionis/test/validators/name_pattern.py,sha256=
|
|
332
|
-
orionis/test/validators/pattern.py,sha256=
|
|
333
|
-
orionis/test/validators/persistent.py,sha256=
|
|
334
|
-
orionis/test/validators/persistent_driver.py,sha256=
|
|
335
|
-
orionis/test/validators/print_result.py,sha256=
|
|
336
|
-
orionis/test/validators/tags.py,sha256=
|
|
337
|
-
orionis/test/validators/throw_exception.py,sha256=
|
|
338
|
-
orionis/test/validators/verbosity.py,sha256=
|
|
339
|
-
orionis/test/validators/web_report.py,sha256
|
|
340
|
-
orionis/test/validators/workers.py,sha256=
|
|
327
|
+
orionis/test/validators/base_path.py,sha256=wAn5_HG0vQ5GH7wDKriO33Ijl1L1F3882BH67oraJnQ,1477
|
|
328
|
+
orionis/test/validators/execution_mode.py,sha256=YnrQlnIaoPtM0xjW7jJ2170m1aHwAPPIZBjSVe9g2QM,1693
|
|
329
|
+
orionis/test/validators/fail_fast.py,sha256=Z54GSQ2KxYeLy2gZwo51sYYMXH-6mj1w09okhI1MWOQ,850
|
|
330
|
+
orionis/test/validators/folder_path.py,sha256=Pfy65fANR6eY-8665exTOhzzzEUvblYSOFGEuJMiGxA,953
|
|
331
|
+
orionis/test/validators/module_name.py,sha256=A5Ng8LW2pPfgPKm0Vs_Y0oiP8Pe8Nfz8kV1zv_y7fbo,928
|
|
332
|
+
orionis/test/validators/name_pattern.py,sha256=I0DRZ7Nhtlzw33urmlr3EoGH6eJ8TdeFnpeRmqliThg,1139
|
|
333
|
+
orionis/test/validators/pattern.py,sha256=NYc_qsjd0Y1J0tmioW7nmlBVowbzkhGA17e4AdxfcA8,881
|
|
334
|
+
orionis/test/validators/persistent.py,sha256=8y6rkseAG4yobbw9AFvVjKlMl2HL_w5i6rH9LNNYZAU,851
|
|
335
|
+
orionis/test/validators/persistent_driver.py,sha256=9t832vIZyBAdIyKn-nZ-_nKs0Oxf2uvmR7K9ncWdRpw,1545
|
|
336
|
+
orionis/test/validators/print_result.py,sha256=heUVid49clGfk9-glzVX5NGz69bKqMr0yx2dJnG9rD4,902
|
|
337
|
+
orionis/test/validators/tags.py,sha256=Qv-p8XFyAjY7OI861s52eADGf3LqzOWYfKt4L1cpo4Q,1118
|
|
338
|
+
orionis/test/validators/throw_exception.py,sha256=PLtM94BArQf11VJhxfBHJSHARZSia-Q8ePixctU2JwQ,893
|
|
339
|
+
orionis/test/validators/verbosity.py,sha256=rADzM82cPcJ2_6crszpobJuwb5WihWNQf6i4M_yrCpw,1785
|
|
340
|
+
orionis/test/validators/web_report.py,sha256=n9BfzOZz6aEiNTypXcwuWbFRG0OdHNSmCNusHqc02R8,853
|
|
341
|
+
orionis/test/validators/workers.py,sha256=HcZ3cnrk6u7cvM1xZpn_lsglHAq69_jx9RcTSvLrdb0,1204
|
|
341
342
|
orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
342
|
-
orionis/test/view/render.py,sha256=
|
|
343
|
-
orionis-0.
|
|
343
|
+
orionis/test/view/render.py,sha256=f-zNhtKSg9R5Njqujbg2l2amAs2-mRVESneLIkWOZjU,4082
|
|
344
|
+
orionis-0.434.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
|
|
344
345
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
345
346
|
tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
346
347
|
tests/container/test_container.py,sha256=asv8TkkupVoex6SWod74NBl4dSs7wb9mLmu_glNdNy8,14815
|
|
@@ -426,8 +427,8 @@ tests/foundation/config/startup/test_foundation_config_startup.py,sha256=9ZFwbWx
|
|
|
426
427
|
tests/foundation/config/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
427
428
|
tests/foundation/config/testing/test_foundation_config_testing.py,sha256=YsXTVxq-S1KVlLK5fe2qL0CpQrulaLmy6sMSm3oPhbA,8237
|
|
428
429
|
tests/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
429
|
-
tests/metadata/test_metadata_framework.py,sha256=
|
|
430
|
-
tests/metadata/test_metadata_package.py,sha256=
|
|
430
|
+
tests/metadata/test_metadata_framework.py,sha256=vOsp5owDMMoL5dtgiN9EC5Sdj8pemXVh62MzYpPUK4Q,5327
|
|
431
|
+
tests/metadata/test_metadata_package.py,sha256=AcD5rlkD5MeX2tJvQkIHeGeAl88k0tsF2wOU5v4JVN0,4894
|
|
431
432
|
tests/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
432
433
|
tests/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
433
434
|
tests/services/asynchrony/test_services_asynchrony_coroutine.py,sha256=34Y0D6w2bVo_dm3oj0wzedMIJuSYieUG9Y2J1EQmZeo,3439
|
|
@@ -458,35 +459,35 @@ tests/services/system/test_services_system_imports.py,sha256=jbtIQkw_4DI6x2E-4Lg
|
|
|
458
459
|
tests/services/system/test_services_system_workers.py,sha256=wITbpJHKW_OXqTaFeteNRFuw5Q3_7d9lWNJnFE2r6to,5052
|
|
459
460
|
tests/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
460
461
|
tests/support/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
461
|
-
tests/support/entities/mock_dataclass.py,sha256
|
|
462
|
-
tests/support/entities/test_base.py,sha256=
|
|
462
|
+
tests/support/entities/mock_dataclass.py,sha256=-xPr-zsTO-rG_AgP9cJfiQmyhJecTA_S-6NHIeVo4yQ,1471
|
|
463
|
+
tests/support/entities/test_base.py,sha256=ClAKC6tlVKObM16-Um82hCtsZQbLyKgJMhXFbDW55Y0,2153
|
|
463
464
|
tests/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
464
465
|
tests/support/patterns/singleton/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
465
|
-
tests/support/patterns/singleton/test_patterns_singleton.py,sha256=
|
|
466
|
+
tests/support/patterns/singleton/test_patterns_singleton.py,sha256=92kpAJpwc77FgSVjvaYhBpftxoOV1Su8zuJKa2cuyfE,1429
|
|
466
467
|
tests/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
467
|
-
tests/support/standard/test_services_std.py,sha256=
|
|
468
|
+
tests/support/standard/test_services_std.py,sha256=I9UeUkjrDdhvfSL3ao6wx2rLysXi6WZPbCOBmHC6ELI,6176
|
|
468
469
|
tests/support/wrapper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
469
|
-
tests/support/wrapper/test_services_wrapper_docdict.py,sha256=
|
|
470
|
+
tests/support/wrapper/test_services_wrapper_docdict.py,sha256=K-u5Z744Nj4dVie9tmLmnFxjN5vwHz_mDf6S0tZN97o,6822
|
|
470
471
|
tests/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
471
|
-
tests/testing/test_testing_unit.py,sha256=
|
|
472
|
+
tests/testing/test_testing_unit.py,sha256=6dKIg4s_sEk1uQh9dw7rF75QP-N0ChugBDOk4tAHLPk,6810
|
|
472
473
|
tests/testing/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
473
|
-
tests/testing/cases/test_testing_asynchronous.py,sha256=
|
|
474
|
-
tests/testing/cases/test_testing_synchronous.py,sha256=
|
|
474
|
+
tests/testing/cases/test_testing_asynchronous.py,sha256=3ji_jajS3bGdmMbAUQc9rBfcOTVnReklkgmAjYKL7SQ,1963
|
|
475
|
+
tests/testing/cases/test_testing_synchronous.py,sha256=Y-0teflDsL1B3nAVrGywMTY0u5a7tlAKXw9Oq1pF24M,1947
|
|
475
476
|
tests/testing/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
476
|
-
tests/testing/entities/test_testing_result.py,sha256=
|
|
477
|
+
tests/testing/entities/test_testing_result.py,sha256=U9ntvyXqCIDKkPutY8akLi_xzq-WzH7dU9DDqnCi-Lk,4731
|
|
477
478
|
tests/testing/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
478
|
-
tests/testing/enums/test_testing_status.py,sha256=
|
|
479
|
+
tests/testing/enums/test_testing_status.py,sha256=jxaxaBH6Zt9wsyNQU_IzIbBTf3KTeXaD1H-W9nMAMuU,2080
|
|
479
480
|
tests/testing/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
480
|
-
tests/testing/output/test_testing_dumper.py,sha256=
|
|
481
|
-
tests/testing/output/test_testing_printer.py,sha256=
|
|
481
|
+
tests/testing/output/test_testing_dumper.py,sha256=gk8jL-fAfBXi7rbt448KIf9gVOrfpSEN-ysExwwV7p8,943
|
|
482
|
+
tests/testing/output/test_testing_printer.py,sha256=zJI2NHsdNGagqcCO6kF7su4dSll0BZTu9jnIBy4t8H0,1348
|
|
482
483
|
tests/testing/records/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
483
|
-
tests/testing/records/test_testing_records.py,sha256=
|
|
484
|
+
tests/testing/records/test_testing_records.py,sha256=0XU3zu0mUla5FQ0Ij3H_8sVh_Yl_xduIkbHE3lUHbDI,5666
|
|
484
485
|
tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
485
|
-
tests/testing/validators/test_testing_validators.py,sha256=
|
|
486
|
+
tests/testing/validators/test_testing_validators.py,sha256=WPo5GxTP6xE-Dw3X1vZoqOMpb6HhokjNSbgDsDRDvy4,16588
|
|
486
487
|
tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
487
|
-
tests/testing/view/test_render.py,sha256
|
|
488
|
-
orionis-0.
|
|
489
|
-
orionis-0.
|
|
490
|
-
orionis-0.
|
|
491
|
-
orionis-0.
|
|
492
|
-
orionis-0.
|
|
488
|
+
tests/testing/view/test_render.py,sha256=tnnMBwS0iKUIbogLvu-7Rii50G6Koddp3XT4wgdFEYM,1050
|
|
489
|
+
orionis-0.434.0.dist-info/METADATA,sha256=OhYJIu6SlGHskK8ZSYOhErAlvWr6O3qkrWHYRyG7Gbw,4772
|
|
490
|
+
orionis-0.434.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
491
|
+
orionis-0.434.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
|
492
|
+
orionis-0.434.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
493
|
+
orionis-0.434.0.dist-info/RECORD,,
|
|
@@ -4,163 +4,137 @@ from orionis.test.cases.asynchronous import AsyncTestCase
|
|
|
4
4
|
class TestMetadataFramework(AsyncTestCase):
|
|
5
5
|
"""
|
|
6
6
|
Test cases for the metadata constants and utility functions in orionis.metadata.framework.
|
|
7
|
-
|
|
8
|
-
Notes
|
|
9
|
-
-----
|
|
10
|
-
This test suite validates the existence, type, and structure of metadata constants and utility
|
|
11
|
-
functions provided by the `orionis.metadata.framework` module.
|
|
12
7
|
"""
|
|
13
8
|
|
|
14
9
|
async def testConstantsExistAndAreStr(self):
|
|
15
10
|
"""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
This test iterates over a predefined list of metadata constants and checks
|
|
19
|
-
that each constant is present and its type is `str`.
|
|
11
|
+
Test that all required metadata constants exist and are of type `str`.
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
If any constant is not a string.
|
|
13
|
+
This method iterates over a predefined list of metadata constants and checks
|
|
14
|
+
that each is an instance of `str`. This ensures that the metadata values
|
|
15
|
+
required by the framework are properly defined and typed.
|
|
25
16
|
|
|
26
17
|
Returns
|
|
27
18
|
-------
|
|
28
19
|
None
|
|
29
|
-
This method does not return any value.
|
|
20
|
+
This is a test method and does not return any value. Assertions are used
|
|
21
|
+
to validate the conditions.
|
|
30
22
|
"""
|
|
31
23
|
|
|
32
|
-
#
|
|
24
|
+
# List of metadata constants to check
|
|
33
25
|
for const in [
|
|
34
26
|
NAME, VERSION, AUTHOR, AUTHOR_EMAIL, DESCRIPTION,
|
|
35
27
|
SKELETON, FRAMEWORK, DOCS, API, PYTHON_REQUIRES
|
|
36
28
|
]:
|
|
29
|
+
# Assert that each constant is a string
|
|
37
30
|
self.assertIsInstance(const, str)
|
|
38
31
|
|
|
39
32
|
async def testClassifiersStructure(self):
|
|
40
33
|
"""
|
|
41
|
-
|
|
34
|
+
Validate the structure and type of the `CLASSIFIERS` metadata constant.
|
|
42
35
|
|
|
43
|
-
This test
|
|
44
|
-
|
|
36
|
+
This test ensures that the `CLASSIFIERS` constant is a list of strings,
|
|
37
|
+
and that each string contains at least one '::' separator, which is
|
|
38
|
+
typical for Python package classifiers.
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
Parameters
|
|
41
|
+
----------
|
|
42
|
+
self : TestMetadataFramework
|
|
43
|
+
The test case instance.
|
|
50
44
|
|
|
51
45
|
Returns
|
|
52
46
|
-------
|
|
53
47
|
None
|
|
54
|
-
This method does not return any value.
|
|
48
|
+
This method does not return any value. Assertions are used to
|
|
49
|
+
validate the structure and contents of `CLASSIFIERS`.
|
|
55
50
|
"""
|
|
56
51
|
|
|
57
|
-
#
|
|
52
|
+
# Assert that CLASSIFIERS is a list
|
|
58
53
|
self.assertIsInstance(CLASSIFIERS, list)
|
|
59
|
-
|
|
60
|
-
# Check each item in CLASSIFIERS for tuple of strings
|
|
61
54
|
for item in CLASSIFIERS:
|
|
62
|
-
self.assertIsInstance(item, tuple)
|
|
63
|
-
self.assertTrue(all(isinstance(part, str) for part in item))
|
|
64
|
-
|
|
65
|
-
async def testGetClassifiers(self):
|
|
66
|
-
"""
|
|
67
|
-
Verify that `get_classifiers` returns a list of classifier strings.
|
|
68
|
-
|
|
69
|
-
This test calls the `get_classifiers` utility function and checks that
|
|
70
|
-
the returned value is a list of strings, each representing a classifier.
|
|
71
|
-
|
|
72
|
-
Raises
|
|
73
|
-
------
|
|
74
|
-
AssertionError
|
|
75
|
-
If the returned value is not a list of strings containing '::'.
|
|
76
55
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
None
|
|
80
|
-
This method does not return any value.
|
|
81
|
-
"""
|
|
56
|
+
# Assert that each item in CLASSIFIERS is a string
|
|
57
|
+
self.assertIsInstance(item, str)
|
|
82
58
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
self.assertIsInstance(classifiers, list)
|
|
86
|
-
for c in classifiers:
|
|
87
|
-
self.assertIsInstance(c, str)
|
|
88
|
-
self.assertTrue(" :: " in c or len(c.split(" :: ")) > 1)
|
|
59
|
+
# Assert that each classifier string contains at least one '::' separator
|
|
60
|
+
self.assertTrue("::" in item or len(item.split("::")) > 1)
|
|
89
61
|
|
|
90
62
|
async def testKeywords(self):
|
|
91
63
|
"""
|
|
92
|
-
|
|
64
|
+
Validate the structure and contents of the `KEYWORDS` metadata constant.
|
|
93
65
|
|
|
94
|
-
This test
|
|
95
|
-
|
|
66
|
+
This test checks that the `KEYWORDS` constant is a list of strings, ensuring
|
|
67
|
+
that each keyword is properly typed. Additionally, it verifies that the list
|
|
68
|
+
contains the essential keywords "orionis" and "framework", which are required
|
|
69
|
+
for accurate metadata representation.
|
|
96
70
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
71
|
+
Parameters
|
|
72
|
+
----------
|
|
73
|
+
self : TestMetadataFramework
|
|
74
|
+
The test case instance.
|
|
101
75
|
|
|
102
76
|
Returns
|
|
103
77
|
-------
|
|
104
78
|
None
|
|
105
|
-
This method does not return any value.
|
|
79
|
+
This method does not return any value. Assertions are used to validate
|
|
80
|
+
the structure and contents of `KEYWORDS`.
|
|
106
81
|
"""
|
|
107
82
|
|
|
108
|
-
#
|
|
83
|
+
# Assert that KEYWORDS is a list
|
|
109
84
|
self.assertIsInstance(KEYWORDS, list)
|
|
85
|
+
|
|
86
|
+
# Check that each keyword in KEYWORDS is a string
|
|
110
87
|
for kw in KEYWORDS:
|
|
111
88
|
self.assertIsInstance(kw, str)
|
|
112
89
|
|
|
113
|
-
#
|
|
90
|
+
# Ensure essential keywords are present in the list
|
|
114
91
|
self.assertIn("orionis", KEYWORDS)
|
|
115
92
|
self.assertIn("framework", KEYWORDS)
|
|
116
93
|
|
|
117
94
|
async def testRequiresStructure(self):
|
|
118
95
|
"""
|
|
119
|
-
Validate
|
|
96
|
+
Validate the structure and contents of the `REQUIRES` metadata constant.
|
|
120
97
|
|
|
121
|
-
This test checks
|
|
122
|
-
a
|
|
98
|
+
This test checks that the `REQUIRES` constant is a list of strings, where each string
|
|
99
|
+
represents a package requirement and contains the '>=' version specifier. This ensures
|
|
100
|
+
that all requirements are properly typed and formatted for dependency management.
|
|
123
101
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
102
|
+
Parameters
|
|
103
|
+
----------
|
|
104
|
+
self : TestMetadataFramework
|
|
105
|
+
The test case instance.
|
|
128
106
|
|
|
129
107
|
Returns
|
|
130
108
|
-------
|
|
131
109
|
None
|
|
132
|
-
This method does not return any value.
|
|
110
|
+
This method does not return any value. Assertions are used to validate
|
|
111
|
+
the structure and contents of `REQUIRES`.
|
|
133
112
|
"""
|
|
134
113
|
|
|
135
|
-
#
|
|
114
|
+
# Assert that REQUIRES is a list
|
|
136
115
|
self.assertIsInstance(REQUIRES, list)
|
|
116
|
+
|
|
117
|
+
# Check that each requirement in REQUIRES is a string and contains '>='
|
|
137
118
|
for req in REQUIRES:
|
|
138
|
-
self.assertIsInstance(req,
|
|
139
|
-
self.
|
|
140
|
-
self.assertTrue(all(isinstance(part, str) for part in req))
|
|
119
|
+
self.assertIsInstance(req, str) # Each requirement should be a string
|
|
120
|
+
self.assertIn(">=", req) # Each requirement should specify a minimum version
|
|
141
121
|
|
|
142
|
-
async def
|
|
122
|
+
async def testIconFunction(self):
|
|
143
123
|
"""
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
This test calls the `get_requires` utility function and checks that the
|
|
147
|
-
returned value is a list of strings, each representing a requirement and
|
|
148
|
-
containing the '>=' version specifier.
|
|
124
|
+
Test the behavior and return type of the `icon()` utility function.
|
|
149
125
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
If the returned value is not a list of strings containing '>='.
|
|
126
|
+
This test verifies that the `icon()` function returns either a string containing
|
|
127
|
+
SVG data or `None` if the icon file is not found. It ensures that the function's
|
|
128
|
+
output is correctly typed and handles missing resources gracefully.
|
|
154
129
|
|
|
155
130
|
Returns
|
|
156
131
|
-------
|
|
157
132
|
None
|
|
158
|
-
This method does not return any value.
|
|
133
|
+
This method does not return any value. Assertions are used to validate
|
|
134
|
+
the type and behavior of the `icon()` function.
|
|
159
135
|
"""
|
|
136
|
+
# Call the icon() function and store the result
|
|
137
|
+
result = icon()
|
|
160
138
|
|
|
161
|
-
#
|
|
162
|
-
|
|
163
|
-
self.assertIsInstance(requires, list)
|
|
164
|
-
for req in requires:
|
|
165
|
-
self.assertIsInstance(req, str)
|
|
166
|
-
self.assertIn(">=", req)
|
|
139
|
+
# Assert that the result is either a string (SVG data) or None (file not found)
|
|
140
|
+
self.assertTrue(isinstance(result, str) or result is None)
|