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.
Files changed (82) hide show
  1. orionis/app.py +17 -0
  2. orionis/console/commands/version.py +2 -2
  3. orionis/console/core/reactor.py +1 -1
  4. orionis/foundation/config/roots/paths.py +2 -2
  5. orionis/metadata/framework.py +38 -65
  6. orionis/metadata/package.py +280 -54
  7. orionis/support/entities/base.py +18 -37
  8. orionis/support/facades/console.py +3 -9
  9. orionis/support/facades/dumper.py +3 -9
  10. orionis/support/facades/logger.py +3 -9
  11. orionis/support/facades/path_resolver.py +3 -10
  12. orionis/support/facades/progress_bar.py +3 -10
  13. orionis/support/facades/testing.py +4 -10
  14. orionis/support/facades/workers.py +4 -9
  15. orionis/support/formatter/exceptions/contracts/parser.py +10 -7
  16. orionis/support/formatter/exceptions/parser.py +28 -26
  17. orionis/support/formatter/serializer.py +12 -5
  18. orionis/support/patterns/singleton/meta.py +17 -21
  19. orionis/support/standard/contracts/std.py +25 -24
  20. orionis/support/standard/exceptions/value.py +2 -2
  21. orionis/support/standard/std.py +26 -24
  22. orionis/support/wrapper/dot_dict.py +16 -51
  23. orionis/test/cases/asynchronous.py +17 -81
  24. orionis/test/cases/synchronous.py +17 -73
  25. orionis/test/contracts/dumper.py +17 -21
  26. orionis/test/contracts/kernel.py +5 -12
  27. orionis/test/contracts/logs.py +16 -21
  28. orionis/test/contracts/printer.py +70 -8
  29. orionis/test/contracts/render.py +7 -13
  30. orionis/test/contracts/test_result.py +58 -27
  31. orionis/test/contracts/unit_test.py +18 -18
  32. orionis/test/core/unit_test.py +162 -519
  33. orionis/test/entities/result.py +49 -21
  34. orionis/test/enums/status.py +11 -17
  35. orionis/test/exceptions/config.py +4 -8
  36. orionis/test/exceptions/failure.py +2 -18
  37. orionis/test/exceptions/persistence.py +4 -8
  38. orionis/test/exceptions/runtime.py +4 -8
  39. orionis/test/exceptions/value.py +5 -13
  40. orionis/test/kernel.py +14 -42
  41. orionis/test/output/dumper.py +21 -43
  42. orionis/test/output/printer.py +6 -146
  43. orionis/test/records/logs.py +57 -121
  44. orionis/test/validators/base_path.py +8 -6
  45. orionis/test/validators/execution_mode.py +2 -3
  46. orionis/test/validators/fail_fast.py +4 -8
  47. orionis/test/validators/folder_path.py +5 -7
  48. orionis/test/validators/module_name.py +3 -3
  49. orionis/test/validators/name_pattern.py +4 -9
  50. orionis/test/validators/pattern.py +4 -9
  51. orionis/test/validators/persistent.py +4 -14
  52. orionis/test/validators/persistent_driver.py +7 -12
  53. orionis/test/validators/print_result.py +4 -9
  54. orionis/test/validators/tags.py +6 -7
  55. orionis/test/validators/throw_exception.py +7 -14
  56. orionis/test/validators/verbosity.py +15 -5
  57. orionis/test/validators/web_report.py +6 -10
  58. orionis/test/validators/workers.py +9 -4
  59. orionis/test/view/render.py +9 -26
  60. {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/METADATA +1 -1
  61. {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/RECORD +82 -81
  62. tests/metadata/test_metadata_framework.py +64 -90
  63. tests/metadata/test_metadata_package.py +31 -31
  64. tests/support/entities/mock_dataclass.py +16 -10
  65. tests/support/entities/test_base.py +6 -14
  66. tests/support/patterns/singleton/test_patterns_singleton.py +7 -8
  67. tests/support/standard/test_services_std.py +113 -37
  68. tests/support/wrapper/test_services_wrapper_docdict.py +25 -40
  69. tests/testing/cases/test_testing_asynchronous.py +14 -14
  70. tests/testing/cases/test_testing_synchronous.py +12 -14
  71. tests/testing/entities/test_testing_result.py +12 -51
  72. tests/testing/enums/test_testing_status.py +8 -13
  73. tests/testing/output/test_testing_dumper.py +3 -6
  74. tests/testing/output/test_testing_printer.py +5 -5
  75. tests/testing/records/test_testing_records.py +16 -26
  76. tests/testing/test_testing_unit.py +8 -94
  77. tests/testing/validators/test_testing_validators.py +55 -112
  78. tests/testing/view/test_render.py +4 -5
  79. {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/WHEEL +0 -0
  80. {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/licenses/LICENCE +0 -0
  81. {orionis-0.431.0.dist-info → orionis-0.434.0.dist-info}/top_level.txt +0 -0
  82. {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=6usAWQnhmpCY5S95gRm1xVQc0ph-qd7UwMI_5OaDKmQ,1031
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=MIAMrulZKZalJ8Fz6YiyBVpMD-SQh8-rgrHauVz4kWE,72
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=kmUsuurIwQrOXZrkcQbXyvaDx2LfyxSHf7R0EsVNTsg,10670
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=jUpRhT0gwyJCTGRjokcPsJ_5xAzwPm8DiXbkVCPLTTs,4960
176
- orionis/metadata/package.py,sha256=tqLfBRo-w1j_GN4xvzUNFyweWYFS-qhSgAEc-AmCH1M,5452
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=tmnNhacKUf-T5ghj4vczY93gg0TAU_gosr6kRJ6PrK4,5540
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=YAVAdP0TjLjKoBVU18mVl1MtMGWjbKJoYxZRlm1ZwUI,792
272
- orionis/support/facades/dumper.py,sha256=Yxn_6sU3ijo8dXGZRDLi_S2lNJoeJtCeLX5GI4Jn0u4,803
273
- orionis/support/facades/logger.py,sha256=VpDp7iXfAnkHxCQvwhcIT1XdJAWOfLsEkY-u_mGIuN8,796
274
- orionis/support/facades/path_resolver.py,sha256=V_Mxf5-REBp9boeTR4FGM4M_QwGlIeRQIEoX-kb164g,845
275
- orionis/support/facades/progress_bar.py,sha256=JB3CvXrlnBLONdQ0lygOYs1FAzYnXQLtih8C3R7xP8g,824
276
- orionis/support/facades/testing.py,sha256=ZGRe0zhcgybKb8yx-Ysskg2c7FlTdss52uBYdGV8EeU,796
277
- orionis/support/facades/workers.py,sha256=jJNFE_yjy-3uaqG8ynPTagnwOFLSGC50PsveDG4t4uE,763
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=g816osgwYzAzCnduDh2IyHvXx-fEhnVmw8EPZkDT5Ak,522
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=h2it9wN24ned1ogSnd4viRUOJlQgsT-60Z6JIp08YC8,3636
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=HcWN7nJrvD7xLREPKEnBhyG30IkkAB7Bx_hGpcfb0ZE,912
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=Flq6UNaBPJqx8gZv7m6lEAbgorPjkbEWH4LVRKt-Vs8,4114
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=afe3m7XzzzbFa89RhPVN11LKcgkL3afQHNXHhH3GwjQ,3679
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=w4F0fIHIOhCPPiBgTLIIWR9EFdjeTjLsDktiLaUgmj8,3108
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=7xry_TZz3k-BLAZTR_uDiQ0RfXOkSBOnBzp9kKUl5xE,471
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=L4J_3id0EHXyjv5FCofXK0ONC2WOoAXZSwX1csitf5E,9299
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=ClBrsS0D9jRjlrE3Wqs1plODVlw2GrEN8rodEmTdiqE,6270
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=PLdeU4-oked-wU4Z8e588RE09aip2MnkNpLkLpR1J_Q,4304
299
- orionis/test/cases/synchronous.py,sha256=qAGxxYD9OR9hk54uzOBtZGlkhk7F5XN5-sQ22HIInjU,3526
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=9StkGejt4p9bmArHA9YQXi3HnFA5GJcgd2fuwWV51ak,1566
302
- orionis/test/contracts/kernel.py,sha256=9x67dDymjJWcHik_I6MSvIDGuONL0iyhR6m7Hp9ysX8,961
303
- orionis/test/contracts/logs.py,sha256=qBhMbB6DGzMFlNaZcHWHpl3MQITT0k-wtceUud0ye74,2320
304
- orionis/test/contracts/printer.py,sha256=IUZyaMkr5XkQ4oP2hpH1NOAca3N0RHEx_SJ95TrhIOw,1858
305
- orionis/test/contracts/render.py,sha256=0o6NjrKx2ewBf1JvAf8BaAtJQPb64yq1FJCeKb3iXys,967
306
- orionis/test/contracts/test_result.py,sha256=vTNdVbWlzp0rsZ7KFPpFi6YjQMhUeurkRPLjBBcHRvc,3371
307
- orionis/test/contracts/unit_test.py,sha256=ZfgcB3JGBCcIOQ17uM6x355bHlGRHAR1uPBR4K-zCuc,5497
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=QJa_xleHdMEQUdfxzv8OuNWFeiXMsjJSGju4885GZnA,67381
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=eO9YWZ-I3ABNzlJ6jk09BUqnXjaHQ8mqeur2-pRGK9s,4041
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=U69nYyqb8OaztbgGOjtUDw7nN-qwwqEXHcek18Zsrj8,1025
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=BFqO65Zw3mr7HGy0uJm58pbEk_W4rID56UmdPBfcP_8,793
316
- orionis/test/exceptions/failure.py,sha256=dK4KoclnGFAIEsNr_oaR646wSgZxM_Yo7f5KF25lwAI,2626
317
- orionis/test/exceptions/persistence.py,sha256=GbNwpUfrtZ-VstX_Amflg8OwQ3WEWOnDmnfMD9y3Ezo,809
318
- orionis/test/exceptions/runtime.py,sha256=yLLBtDR61k53OIAwi5wVLxap79Agh2khXrhRb4bTe9k,778
319
- orionis/test/exceptions/value.py,sha256=P9SD64EWATKneV-QP-yhfJ2GxyypKxqgmk5MqiguxV0,1001
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=7NRrFCFcMmI5T_1oHT90ymJOfhtfBRg0LXo5Io_dgzY,7147
322
- orionis/test/output/printer.py,sha256=cpElVLaK94JtQeHpgN-HTSuE8dJhPhZMt51L7Lramz8,29080
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=WhOmRJhQck76vx8l_c_7M-H8_RS9p3yB_jJ39Rnx-Lc,19050
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=bxo5hW4qbmhTaNkHf52nzJ2REJZ4lDVP50IGhpiew0Q,1652
327
- orionis/test/validators/execution_mode.py,sha256=ALFPOBUFqwpT-zRVyyqzzxT_XaD4Fzj_QYRQ7pm-5eY,1809
328
- orionis/test/validators/fail_fast.py,sha256=8_I46vaN6kGxX4DSHyh_mIXI94Pr_yuvA6iZuHXIKs4,1135
329
- orionis/test/validators/folder_path.py,sha256=ZZ20xnKavi0a1y_MeYgekJLvItpyqVzJSy9QvHAGCRM,939
330
- orionis/test/validators/module_name.py,sha256=6kzLVvZn2LYfpT0-SKE6lkXZpOlMpnKUGUVzJwPmIA8,960
331
- orionis/test/validators/name_pattern.py,sha256=UvPyyybDOy-gIDvymRp0SEydJpI8pKbNG8g5pYMQfhc,1426
332
- orionis/test/validators/pattern.py,sha256=JKz0IdbauDlt6zyBpbIVNkK3SnTx3G1yOMnvq5pEiGQ,1193
333
- orionis/test/validators/persistent.py,sha256=XD7wAWiMkVfkWshRMPl2NjqQJcWD2m4GUCqTW4amciA,1249
334
- orionis/test/validators/persistent_driver.py,sha256=c5_HTxtLSbNvLRqa8TE_48ybyvn3o4i6P680s-Yegl0,1945
335
- orionis/test/validators/print_result.py,sha256=NcbwFUlB9vwPY1JgOOmXBPPrqPH2uieFLsfWn3dTDsk,1146
336
- orionis/test/validators/tags.py,sha256=i_nf6gOEg3AdCQ23EkMVZKfiaRwSeHuhJsc0SFCNHSo,1092
337
- orionis/test/validators/throw_exception.py,sha256=MpV1s316c12Gn1_fdf8cFkZr8qf6Vh553m1gkyBR0jE,1255
338
- orionis/test/validators/verbosity.py,sha256=vyjJ82DekDxfNbDoW2VPjQvqFNKywlGKVOsEQxpEdys,1417
339
- orionis/test/validators/web_report.py,sha256=-h3Fe9jY93_kzUhd2NBIqEfCcBpu-8Ei9x3Q5VNHqpI,1091
340
- orionis/test/validators/workers.py,sha256=LGffDKtK6SKixFKzIYPQpI5aFeQPAGXpv_LUtmEu6g4,1102
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=3ICz68l-WF3BtnYqH5m-ktN9UD00MELMbmMnyJDV74A,4768
343
- orionis-0.431.0.dist-info/licenses/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
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=1tCNciuPVgZPK-V8PzENJCXN-1bTktWPN9u03N4Eelw,5499
430
- tests/metadata/test_metadata_package.py,sha256=gXIX-N9toEHJsmFkdhAvJRnz2T5e6pbgK37I1eFYTGM,4770
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=TZk4D1SdKqqz1kNaqLoMPlsl8s7dWOHIkSK5FsbyPRI,990
462
- tests/support/entities/test_base.py,sha256=z9lpDm8iY-gP-jv2VsLD-60NT-peBoTpB5jUsLt6V-A,2441
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=L7Q2QEBwSdG_JGfSB4s4AKqxsV4cXeKR1d8V7MbyzFY,1461
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=U0hNF50YE4aLE3Z9yWB2awl9owFQRIV8ptSN7G3xZSk,5517
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=Q_qyqZodLiTQ6Pv9zILfIoZj6l-WPzNWuIoRf1GTGY0,7535
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=IeYvCpImjXFO0J8OeF0YxRHYIRrywqIrAhuEx0Zn75Q,10207
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=gBcUyx1gmhulC-51BLtJOCwQOK6EMBaUws8eG8nxYOs,2218
474
- tests/testing/cases/test_testing_synchronous.py,sha256=n7btUA-2cXPx-HLRfyI7YtVuJvcSuYVC-z843SktPCk,2427
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=WtuoZarANSgcLeYSIU3heO-K8YORZkEgsQmHYPj1qPo,6734
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=Jld1j4nn1IvK_Cok4k-BIRUg3DiB55LZVVxXEnHsTdo,2479
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=QWuHEN-ImwiqNszqnsYUOJNwgZB1WM8ussw_DqFkfEY,1063
481
- tests/testing/output/test_testing_printer.py,sha256=ov4u0FLHtdWt3onXDQr4-uaMMKE3QYZ4Z-K9LGOuUiM,1366
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=1MY5bCzY9yapjlOPB8t2SJz63V2_iGczqTmtnyHpnlE,6446
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=QdcF0Vhnnl_kD-PzceHJbUYOqwPTB1Td7YaTv8LTr30,19612
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=-ghGG8rimyb2b2wtvMuSPPH7Zac5_NlVCiUcHRA5SNg,1172
488
- orionis-0.431.0.dist-info/METADATA,sha256=N5ix3L6pXjR5vmSl7I9rPjmmV98VTGw5XQ7gjHAHN1Y,4772
489
- orionis-0.431.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
490
- orionis-0.431.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
491
- orionis-0.431.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
492
- orionis-0.431.0.dist-info/RECORD,,
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
- Validate that all metadata constants exist and are of type `str`.
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
- Raises
22
- ------
23
- AssertionError
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
- # Check each metadata constant for type str
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
- Ensure that `CLASSIFIERS` is a list of tuples containing strings.
34
+ Validate the structure and type of the `CLASSIFIERS` metadata constant.
42
35
 
43
- This test verifies the structure of the `CLASSIFIERS` constant, ensuring
44
- it is a list where each element is a tuple, and each tuple contains only strings.
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
- Raises
47
- ------
48
- AssertionError
49
- If `CLASSIFIERS` is not a list of tuples of strings.
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
- # Confirm CLASSIFIERS is a list
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
- Returns
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
- # Retrieve classifiers and validate their format
84
- classifiers = get_classifiers()
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
- Check that `KEYWORDS` is a list of strings and contains required keywords.
64
+ Validate the structure and contents of the `KEYWORDS` metadata constant.
93
65
 
94
- This test ensures that the `KEYWORDS` constant is a list of strings and
95
- verifies the presence of specific keywords relevant to the framework.
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
- Raises
98
- ------
99
- AssertionError
100
- If `KEYWORDS` is not a list of strings or required keywords are missing.
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
- # Confirm KEYWORDS is a list of strings
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
- # Check for required keywords
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 that `REQUIRES` is a list of 2-element tuples of strings.
96
+ Validate the structure and contents of the `REQUIRES` metadata constant.
120
97
 
121
- This test checks the structure of the `REQUIRES` constant, ensuring it is
122
- a list where each element is a tuple of length 2, and both elements are strings.
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
- Raises
125
- ------
126
- AssertionError
127
- If `REQUIRES` is not a list of 2-element tuples of strings.
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
- # Confirm REQUIRES is a list of 2-element tuples of strings
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, tuple)
139
- self.assertEqual(len(req), 2)
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 testGetRequires(self):
122
+ async def testIconFunction(self):
143
123
  """
144
- Ensure that `get_requires` returns a list of requirement strings.
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
- Raises
151
- ------
152
- AssertionError
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
- # Retrieve requirements and validate their format
162
- requires = get_requires()
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)