orionis 0.246.0__py3-none-any.whl → 0.247.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 (90) hide show
  1. orionis/framework.py +1 -1
  2. orionis/luminate/config/app/__init__.py +10 -0
  3. orionis/luminate/config/app/entities/app.py +205 -0
  4. orionis/luminate/config/app/enums/ciphers.py +34 -0
  5. orionis/luminate/config/app/enums/environments.py +15 -0
  6. orionis/luminate/config/auth/__init__.py +7 -0
  7. orionis/luminate/config/auth/entities/auth.py +11 -0
  8. orionis/luminate/config/cache/__init__.py +9 -0
  9. orionis/luminate/config/cache/entities/cache.py +58 -0
  10. orionis/luminate/config/cache/entities/file.py +29 -0
  11. orionis/luminate/config/cache/entities/stores.py +35 -0
  12. orionis/luminate/config/cache/enums/drivers.py +12 -0
  13. orionis/luminate/config/entities/testing.py +192 -14
  14. orionis/luminate/config/exceptions/integrity_exception.py +30 -0
  15. orionis/luminate/console/dumper/dump_die.py +418 -0
  16. orionis/luminate/contracts/facades/commands/scheduler_facade.py +1 -1
  17. orionis/luminate/facades/files/path_facade.py +1 -1
  18. orionis/luminate/patterns/__init__.py +4 -0
  19. orionis/luminate/patterns/singleton/__init__.py +10 -0
  20. orionis/luminate/patterns/singleton/meta_class.py +56 -0
  21. orionis/luminate/providers/commands/reactor_commands_service_provider.py +3 -3
  22. orionis/luminate/providers/commands/scheduler_provider.py +1 -1
  23. orionis/luminate/providers/config/config_service_provider.py +1 -1
  24. orionis/luminate/providers/environment/environment__service_provider.py +2 -2
  25. orionis/luminate/providers/files/paths_provider.py +1 -1
  26. orionis/luminate/providers/log/log_service_provider.py +2 -2
  27. orionis/luminate/services/environment/__init__.py +10 -0
  28. orionis/luminate/services/environment/contracts/__init__.py +5 -0
  29. orionis/luminate/services/environment/contracts/env.py +93 -0
  30. orionis/luminate/services/environment/dot_env.py +293 -0
  31. orionis/luminate/services/environment/env.py +77 -0
  32. orionis/luminate/services/paths/__init__.py +9 -0
  33. orionis/luminate/services/paths/contracts/resolver.py +67 -0
  34. orionis/luminate/services/paths/resolver.py +83 -0
  35. orionis/luminate/services/workers/__init__.py +10 -0
  36. orionis/luminate/services/workers/maximum_workers.py +36 -0
  37. orionis/luminate/services_/commands/__init__.py +0 -0
  38. orionis/luminate/services_/config/__init__.py +0 -0
  39. orionis/luminate/services_/log/__init__.py +0 -0
  40. orionis/luminate/test/__init__.py +11 -1
  41. orionis/luminate/test/cases/test_async.py +1 -10
  42. orionis/luminate/test/cases/test_case.py +8 -3
  43. orionis/luminate/test/cases/test_sync.py +1 -0
  44. orionis/luminate/test/core/contracts/test_suite.py +19 -31
  45. orionis/luminate/test/core/contracts/test_unit.py +4 -0
  46. orionis/luminate/test/core/test_suite.py +27 -26
  47. orionis/luminate/test/core/test_unit.py +28 -45
  48. orionis/luminate/test/entities/test_result.py +13 -16
  49. orionis/luminate/test/exceptions/test_exception.py +1 -1
  50. orionis/luminate/test/output/contracts/test_std_out.py +22 -11
  51. orionis/luminate/test/output/test_std_out.py +69 -80
  52. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/METADATA +4 -1
  53. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/RECORD +80 -51
  54. tests/config/__init__.py +0 -0
  55. tests/config/test_app.py +122 -0
  56. tests/config/test_auth.py +21 -0
  57. tests/config/test_cache.py +20 -0
  58. tests/patterns/__init__.py +0 -0
  59. tests/patterns/singleton/__init__.py +0 -0
  60. tests/patterns/singleton/test_singleton.py +18 -0
  61. tests/services/__init__.py +0 -0
  62. tests/services/environment/__init__.py +0 -0
  63. tests/services/environment/test_env.py +33 -0
  64. orionis/luminate/config/entities/app.py +0 -47
  65. orionis/luminate/config/entities/auth.py +0 -15
  66. orionis/luminate/config/entities/cache.py +0 -51
  67. orionis/luminate/support/environment/contracts/env.py +0 -68
  68. orionis/luminate/support/environment/env.py +0 -139
  69. orionis/luminate/support/environment/functions.py +0 -49
  70. orionis/luminate/support/environment/helper.py +0 -26
  71. orionis/luminate/support/patterns/singleton.py +0 -44
  72. tests/support/environment/test_env.py +0 -91
  73. tests/support/patterns/test_singleton.py +0 -18
  74. /orionis/luminate/config/{entities → app/entities}/__init__.py +0 -0
  75. /orionis/luminate/{services/commands → config/app/enums}/__init__.py +0 -0
  76. /orionis/luminate/{services/config → config/auth/entities}/__init__.py +0 -0
  77. /orionis/luminate/{services/log → config/cache/entities}/__init__.py +0 -0
  78. /orionis/luminate/{support/environment → config/cache/enums}/__init__.py +0 -0
  79. /orionis/luminate/{support/environment/contracts → config/exceptions}/__init__.py +0 -0
  80. /orionis/luminate/{support/patterns → console/dumper}/__init__.py +0 -0
  81. {tests/support/environment → orionis/luminate/services/paths/contracts}/__init__.py +0 -0
  82. {tests/support/patterns → orionis/luminate/services_}/__init__.py +0 -0
  83. /orionis/luminate/{services → services_}/commands/reactor_commands_service.py +0 -0
  84. /orionis/luminate/{services → services_}/commands/scheduler_service.py +0 -0
  85. /orionis/luminate/{services → services_}/config/config_service.py +0 -0
  86. /orionis/luminate/{services → services_}/log/log_service.py +0 -0
  87. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/LICENCE +0 -0
  88. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/WHEEL +0 -0
  89. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/entry_points.txt +0 -0
  90. {orionis-0.246.0.dist-info → orionis-0.247.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  orionis/console.py,sha256=4gYWxf0fWYgJ4RKwARvnTPh06FL3GJ6SAZ7R2NzOICw,1342
3
- orionis/framework.py,sha256=dKRDGDAVMq3aFJsdj4yleU3LoWT9ynsUyVhwfX8YnOY,1458
3
+ orionis/framework.py,sha256=pPcIGMfjI8lHaDldDZhGcdCWbNPiBOnwkD0M6_ta1pk,1458
4
4
  orionis/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  orionis/installer/manager.py,sha256=Li4TVziRXWfum02xNG4JHwbnLk-u8xzHjdqKz-D894k,2755
6
6
  orionis/installer/output.py,sha256=7O9qa2xtXMB_4ZvVi-Klneom9YazwygAd_4uYAoxhbU,8548
@@ -12,12 +12,24 @@ orionis/installer/contracts/setup.py,sha256=aWYkCv-z48bXXZynYapc3uMIE1gyO6XnkTw3
12
12
  orionis/luminate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  orionis/luminate/application.py,sha256=6pnmBJVjiTY8O0MXfCXt1nX7PzslBPTFyol_3uwjqnQ,9475
14
14
  orionis/luminate/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ orionis/luminate/config/app/__init__.py,sha256=rlb-io5G7ZUAI-bASYLp3FG-2BAicQ5V3Oy8tUDaU6Q,336
16
+ orionis/luminate/config/app/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ orionis/luminate/config/app/entities/app.py,sha256=I2vDLvmJKb7ZSwNOCjO31cWN1a5U5O5qe1WgJCeW2Zs,8927
18
+ orionis/luminate/config/app/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ orionis/luminate/config/app/enums/ciphers.py,sha256=N9qdLw47ug9FslHFckP8Sz7MfDN74zujZLh37mtLzW8,1249
20
+ orionis/luminate/config/app/enums/environments.py,sha256=W81oUasW__nRDiyhScMfaBpQ65RXkAAvRGd4ShDFTvE,409
21
+ orionis/luminate/config/auth/__init__.py,sha256=Y03oQUS8SJMnphTETjAjwsnBl2C68HK-KjOM7-1CCVw,261
22
+ orionis/luminate/config/auth/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ orionis/luminate/config/auth/entities/auth.py,sha256=xmX_sC8gIWEP2UHzzkps0xkbJpFonQtvnelry_UwHM8,398
24
+ orionis/luminate/config/cache/__init__.py,sha256=zRPsWk1pGyd_nSs7V47ZRvuR2t0XAehRdsHPbLPUx84,236
25
+ orionis/luminate/config/cache/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ orionis/luminate/config/cache/entities/cache.py,sha256=5sqFACVRNLSWdbj_sdE_n7I14jSYwKBZD-O6n6s81iM,2690
27
+ orionis/luminate/config/cache/entities/file.py,sha256=n7gJeu4_xN7nLLU6aWMOLFauG-1oRiAxsh49_5YSFzg,853
28
+ orionis/luminate/config/cache/entities/stores.py,sha256=1suC5jy31LMg2N2rFvKrrK4SPzpfsqug5QivJTVcvcI,1326
29
+ orionis/luminate/config/cache/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ orionis/luminate/config/cache/enums/drivers.py,sha256=saAPBQofa-_BocXNcNiju0XLaOApfPICZa7ZP23qIJs,277
15
31
  orionis/luminate/config/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
32
  orionis/luminate/config/contracts/config.py,sha256=rbeojO2gm8XhSXIPY8EnUt4e0wO633OKF9Nx_tN5y60,785
17
- orionis/luminate/config/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- orionis/luminate/config/entities/app.py,sha256=o-Ons0LMp77_E18e_dx_DqGVbjaY2l-5RdVSCILxgfg,1655
19
- orionis/luminate/config/entities/auth.py,sha256=ivAUgoEYEtfdC49vDwOl_MXFUVAQnUJTc8iG3Lu0Stc,430
20
- orionis/luminate/config/entities/cache.py,sha256=nBKmDFDb91sbBriEsVLjMhrNb__j7YsRzZGQRDdALtA,1338
21
33
  orionis/luminate/config/entities/cors.py,sha256=zWKUylPiaUzGXTJM3eLmwY0HcAD7iOLp9QiAoTyAL08,2275
22
34
  orionis/luminate/config/entities/database.py,sha256=9PrAOIcM4QrkYCIm7g-gN3p-yZn9JuolLlyjxLPkTJ0,5539
23
35
  orionis/luminate/config/entities/filesystems.py,sha256=yr_bB4jQbk3yAU-tqcAPII4nUQpwR31sY_MTzyy1fSw,2354
@@ -25,7 +37,9 @@ orionis/luminate/config/entities/logging.py,sha256=aKfM8Get5G4k-N7MtyPuTg8Lt4-I2
25
37
  orionis/luminate/config/entities/mail.py,sha256=i7von352c0hujaIATEvlNBHlpWRZYNAeT3lbwA59dxk,2010
26
38
  orionis/luminate/config/entities/queue.py,sha256=4ww3OA4V0nCO93llKW3J3aeV29JSsWoi5lqA_sFLUUY,1653
27
39
  orionis/luminate/config/entities/session.py,sha256=xppot_rPAajfGR9o-wfMDwRyWMDSnI2Q7PDyutyEVcI,1809
28
- orionis/luminate/config/entities/testing.py,sha256=9SKFQdxWd793_7_rewQ4E76q5Ezji8YyH-tcR1Nb-rg,1900
40
+ orionis/luminate/config/entities/testing.py,sha256=BAlQFFt5l3A8aYRcvx9ofBuN1RP6ezRpzFX36vX57rM,9372
41
+ orionis/luminate/config/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ orionis/luminate/config/exceptions/integrity_exception.py,sha256=9Fkd-KsWiTqFRvLXoDPtGIo2k2R0zpWcJhl5D9uOyh0,1313
29
43
  orionis/luminate/console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
44
  orionis/luminate/console/command_filter.py,sha256=y13ZMEvUqSXOUtT6jXvKlzfMXZt3_UJOwLrAFhxz3yM,1219
31
45
  orionis/luminate/console/kernel.py,sha256=knzOpbsHJJpAbCSrnFXgRHK9Uk4OisEW_jiylaR-PLA,891
@@ -37,6 +51,8 @@ orionis/luminate/console/commands/cache_clear.py,sha256=rHQugB7dmBgaLTW3r3XzPysn
37
51
  orionis/luminate/console/commands/help.py,sha256=uzWK20xzheWPDFp4Ct040RXl6GbXoB2PuvYEnv1314U,2562
38
52
  orionis/luminate/console/commands/schedule_work.py,sha256=cVhZDswp73bZLgOi49HLaTe_AknSeaxcl3bB-QqHZwk,2074
39
53
  orionis/luminate/console/commands/version.py,sha256=W1DikoBXSZmU-SxvL1LDZbj3GnkmlptlJRyu1lJV3to,1058
54
+ orionis/luminate/console/dumper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ orionis/luminate/console/dumper/dump_die.py,sha256=wiMjpxFttqAqaSpPttd58lMSShcuYgKx2KNgoochvTY,17075
40
56
  orionis/luminate/console/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
57
  orionis/luminate/console/exceptions/cli-orionis-value-error.py,sha256=RQP0HRwxDG8hxFOT1kUoZ1Ab1CZ1KLoSIl5yqlmgG4M,1147
42
58
  orionis/luminate/console/exceptions/cli_exception.py,sha256=HsZ_vSeNiJWQ0gznVFNcIdhM0Bj_vkSRVBJs0wMjEKY,1141
@@ -74,7 +90,7 @@ orionis/luminate/contracts/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
74
90
  orionis/luminate/contracts/facades/facade.py,sha256=LYrZ8tE86w6GpFqMpBQE49KZShL5xAk3qhsig8jh8RQ,1506
75
91
  orionis/luminate/contracts/facades/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
92
  orionis/luminate/contracts/facades/commands/commands_facade.py,sha256=LpSfZb3lTmhgMx0H42NmFbKLvcOqSDIbpQrkQpF9RPY,1274
77
- orionis/luminate/contracts/facades/commands/scheduler_facade.py,sha256=CR2E7WbYGt8ZMpekUzWBHCor3FEnBmYMDwPfKSYPq84,947
93
+ orionis/luminate/contracts/facades/commands/scheduler_facade.py,sha256=C-rUza6NqcFp7oNahd5j_VUNxeKkmLUBa26rpHd1J1s,948
78
94
  orionis/luminate/contracts/facades/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
95
  orionis/luminate/contracts/facades/config/config_facade.py,sha256=Yzc0mB4W9XF8cZTdTO78AKUiyGaiShl1k8nJiecvKTc,970
80
96
  orionis/luminate/contracts/facades/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -121,7 +137,7 @@ orionis/luminate/facades/config/config_facade.py,sha256=z1cbpcss-pdD-V2PTOY4VA2u
121
137
  orionis/luminate/facades/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
138
  orionis/luminate/facades/environment/environment_facade.py,sha256=byjVQWCQuqjgc2sbwzjGaMO-sP2N1YwxZ70FjsPf8G8,2120
123
139
  orionis/luminate/facades/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
- orionis/luminate/facades/files/path_facade.py,sha256=z6DLW7IiBc6nonEwcIbylgpbrM9hgVzZ2Cptdxjr93I,9219
140
+ orionis/luminate/facades/files/path_facade.py,sha256=Sx-0gq40UTRKGeHRTPpK-ozwsn6RsTUOc-Ce993cwco,9220
125
141
  orionis/luminate/facades/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
142
  orionis/luminate/facades/log/log_facade.py,sha256=8WTLtCvfSdF9ve3lrc3GV0hXxNtolah8WJWfkMUQ_JI,699
127
143
  orionis/luminate/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -136,27 +152,42 @@ orionis/luminate/foundation/exceptions/exception_bootstrapper.py,sha256=wDKfEW29
136
152
  orionis/luminate/foundation/exceptions/exception_providers.py,sha256=VxrzuDRKXn8b73xKINPb-FxBusUz8ITXCu0KZh7Pm2o,1329
137
153
  orionis/luminate/foundation/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
154
  orionis/luminate/foundation/providers/service_providers_bootstrapper.py,sha256=lFlg9U2TIg165Nq9VdDnjVJ9eGDMbU8HST0NJb9YbCY,4590
155
+ orionis/luminate/patterns/__init__.py,sha256=mThwnTC01RFUYS6eFHP85nLfloAezHzU7Ti-RBVvhIk,136
156
+ orionis/luminate/patterns/singleton/__init__.py,sha256=YkRlH8HxcK6gPslIcJ-56A92AUG5fUznHVe1Os1D1yA,324
157
+ orionis/luminate/patterns/singleton/meta_class.py,sha256=YN5mSSQeIX_Gh_TK5HD-ms6IYBTRsRcuzoUtpX-9kYY,2134
139
158
  orionis/luminate/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
159
  orionis/luminate/providers/service_provider.py,sha256=QG5TXP9oXsCdUhnMyCBEn0G_CnUJQD_u7wd_4LXE9yc,1135
141
160
  orionis/luminate/providers/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- orionis/luminate/providers/commands/reactor_commands_service_provider.py,sha256=l4LoMtDgXYlmXiqPEsafS6HI_A8YUMsjGPJA8Lra-Wo,1366
143
- orionis/luminate/providers/commands/scheduler_provider.py,sha256=7Pq6V58UcJrQvhSDgNrQ6Z4KTO6_Jzp6EoP8oqPLsQg,485
161
+ orionis/luminate/providers/commands/reactor_commands_service_provider.py,sha256=YdOzbywgsrURFYrsIKwoYo6TKCp1wDx3VK6mOmI_3po,1369
162
+ orionis/luminate/providers/commands/scheduler_provider.py,sha256=7TBXdyOyNVfYeyMpIZ7Ozv60iuLESIH0Zf3Q27usP8k,486
144
163
  orionis/luminate/providers/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
- orionis/luminate/providers/config/config_service_provider.py,sha256=UWozQ84StJjn3x2gjqslLAu5P1GqgPzSvj-91hgfapk,466
164
+ orionis/luminate/providers/config/config_service_provider.py,sha256=CA6wvd2Qpn1KVoM8f0z1vGWp5rhKpQ6krD_1CIW1ZKw,467
146
165
  orionis/luminate/providers/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- orionis/luminate/providers/environment/environment__service_provider.py,sha256=Mk3CzEPlANZyuvfwBlMJi3eI91MU4wkfvUme-GEwDfg,887
166
+ orionis/luminate/providers/environment/environment__service_provider.py,sha256=sc0g_KWvsuH--bGx0vhjuh6LECE7hGe_Sgs61V4jCVo,889
148
167
  orionis/luminate/providers/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- orionis/luminate/providers/files/paths_provider.py,sha256=S9wm9r2jaMwFcz3qpOTHKCwvqccqaU40xyAiBOhbZTs,791
168
+ orionis/luminate/providers/files/paths_provider.py,sha256=-ZpHOlPu3cO7HA8lgTpURKhRaWcR8wG2mL9OHaOk41E,792
150
169
  orionis/luminate/providers/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
- orionis/luminate/providers/log/log_service_provider.py,sha256=c4pTAbeBtLll6LzPPphgIM1XReUfj-E8Hry5R8i1SHI,1011
170
+ orionis/luminate/providers/log/log_service_provider.py,sha256=35AK_4x3frWakBalba9ueqn57PsTP5cT3PqjYfxme1Y,1013
152
171
  orionis/luminate/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
- orionis/luminate/services/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- orionis/luminate/services/commands/reactor_commands_service.py,sha256=oca_xPEQ_dyJKsYfUgsNK3WpMR-f0JabNE8C5pD8hoc,6250
155
- orionis/luminate/services/commands/scheduler_service.py,sha256=mKy5I293GtpH98U4rOGXvcpqYwPVvp1cfceXdk53dsQ,22483
156
- orionis/luminate/services/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
- orionis/luminate/services/config/config_service.py,sha256=RKZ194_0RAEkRFSm3OPoDDdme0_wyBZNLaEQhIVdbYk,2114
158
- orionis/luminate/services/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
- orionis/luminate/services/log/log_service.py,sha256=jrCrKz7Uj6n_ri-v5A4YOILQGUQ9MAmrlSizbbOvKhI,8303
172
+ orionis/luminate/services/environment/__init__.py,sha256=Z2buvG44zdPspxpMNjkZjhWYbICpL_CFlUlzAbXIAgk,307
173
+ orionis/luminate/services/environment/dot_env.py,sha256=4w6UYCg1E9PVawq5a4qkbVxr4ABHKa1ZUYSkj-5Jh44,12953
174
+ orionis/luminate/services/environment/env.py,sha256=NyhXc7zKYBwUBILu7I8pDGY12TqkY4Z7mXz9A8lbfsw,2393
175
+ orionis/luminate/services/environment/contracts/__init__.py,sha256=DC0Nwu9gO7zrVX1UYOoJ3zGOutQhKObk6oh_rSNai_8,97
176
+ orionis/luminate/services/environment/contracts/env.py,sha256=9kkGYdAgAfqq4Ls-PY8_UJd5NyH5DH3U2Nj6wojtM7U,2030
177
+ orionis/luminate/services/paths/__init__.py,sha256=oj25CzdibH-Yk7Gb7WMZbgv3LvVz9xvLVVHSVZyVxWI,279
178
+ orionis/luminate/services/paths/resolver.py,sha256=hsJCY0kvYGqSGuiZL-IdVp2YShiaOvbWKcbwqTHc9X0,2829
179
+ orionis/luminate/services/paths/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ orionis/luminate/services/paths/contracts/resolver.py,sha256=v7uTgByE2nQS2ZM_b1rtMzY6HH03MNKfAYQoTswPf9o,1627
181
+ orionis/luminate/services/workers/__init__.py,sha256=KZzbnkjcq9vRMAtKV4kNHveHf0XA1cL_KXeMkgoJezE,342
182
+ orionis/luminate/services/workers/maximum_workers.py,sha256=22NRYfwvb83f_pLI2aaXxi0cfmyOltcrOLDyjALlTao,1298
183
+ orionis/luminate/services_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
+ orionis/luminate/services_/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
+ orionis/luminate/services_/commands/reactor_commands_service.py,sha256=oca_xPEQ_dyJKsYfUgsNK3WpMR-f0JabNE8C5pD8hoc,6250
186
+ orionis/luminate/services_/commands/scheduler_service.py,sha256=mKy5I293GtpH98U4rOGXvcpqYwPVvp1cfceXdk53dsQ,22483
187
+ orionis/luminate/services_/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
+ orionis/luminate/services_/config/config_service.py,sha256=RKZ194_0RAEkRFSm3OPoDDdme0_wyBZNLaEQhIVdbYk,2114
189
+ orionis/luminate/services_/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
+ orionis/luminate/services_/log/log_service.py,sha256=jrCrKz7Uj6n_ri-v5A4YOILQGUQ9MAmrlSizbbOvKhI,8303
160
191
  orionis/luminate/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
192
  orionis/luminate/support/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
193
  orionis/luminate/support/adapters/dot_dict.py,sha256=FVHfBuAGTTVMjNG01Fix645fRNKKUMmNx61pYkxPL5c,1253
@@ -164,12 +195,6 @@ orionis/luminate/support/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
164
195
  orionis/luminate/support/asynchrony/async_io.py,sha256=IkgVrJnnvNExkhy9brfZpTq2EXptyg3ZB2_ZSH9xDe8,1591
165
196
  orionis/luminate/support/asynchrony/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
197
  orionis/luminate/support/asynchrony/contracts/async_coroutine.py,sha256=lwtDa6r7I6qbxzKr5MyJtMRaYW6e5j2dbymEPNaNIEo,614
167
- orionis/luminate/support/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
- orionis/luminate/support/environment/env.py,sha256=ZblRCtq8Pe8kl8GG7aapryNuZw3F1N-Q9F3S7DqZdl4,4156
169
- orionis/luminate/support/environment/functions.py,sha256=L6gL4z3c89ZU17IWvOXyQ2_GdzA3XOmXeQpIpnQRios,1330
170
- orionis/luminate/support/environment/helper.py,sha256=G1670w1xkI1pj-rW_inv6D3XmU4oliwnWnrJO5CBm2E,818
171
- orionis/luminate/support/environment/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- orionis/luminate/support/environment/contracts/env.py,sha256=buJfzebBOUuq2CnhQCWlnJuzJAEo06-S0_SPR4N_mOY,1647
173
198
  orionis/luminate/support/introspection/__init__.py,sha256=Mf9u1ZQNvC4-Y_Ycl-qIBQr3SoJ315ZBtOb4-JoykxI,108
174
199
  orionis/luminate/support/introspection/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
175
200
  orionis/luminate/support/introspection/reflect_decorators.py,sha256=fnxnkEcRSU8TxDGdjCNlvXMNHEKzW7AwO_aPOVCbs9w,11548
@@ -213,41 +238,49 @@ orionis/luminate/support/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
213
238
  orionis/luminate/support/paths/resolver.py,sha256=hsJCY0kvYGqSGuiZL-IdVp2YShiaOvbWKcbwqTHc9X0,2829
214
239
  orionis/luminate/support/paths/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
240
  orionis/luminate/support/paths/contracts/resolver.py,sha256=v7uTgByE2nQS2ZM_b1rtMzY6HH03MNKfAYQoTswPf9o,1627
216
- orionis/luminate/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
- orionis/luminate/support/patterns/singleton.py,sha256=b3U0nubKSQWyal5wTXADVPtOztkaTk-M8Zwy-bje1L0,1425
218
241
  orionis/luminate/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
242
  orionis/luminate/support/standard/std.py,sha256=t6dkZxOmSsu3yaIwlvRwdTcV-6KS8lZE5YuYv7FpCb0,3573
220
243
  orionis/luminate/support/standard/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
244
  orionis/luminate/support/standard/contracts/std.py,sha256=x9sVir2yg4hve56cCklIdVSr8utruIO_sUdlTNfZ1Ds,3109
222
- orionis/luminate/test/__init__.py,sha256=mvFsupq5S36CmD7PJwDqz39ZO9_Cfdac6ihK8kFpmiE,421
245
+ orionis/luminate/test/__init__.py,sha256=lPSxOwY5N75qUOw6OwxrYF7Avpbu0WeaqtVTmWzyDBg,908
223
246
  orionis/luminate/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
- orionis/luminate/test/cases/test_async.py,sha256=1wbeGkzlD4Q_e1BsSzhkiEjffIWx7d173l0Sx500FjQ,1335
225
- orionis/luminate/test/cases/test_case.py,sha256=YhhPxOBd-_eZz8xBtbcKtnQxEhEU151IHc3bL6aCSiA,922
226
- orionis/luminate/test/cases/test_sync.py,sha256=XnA3eC6xvfBXD3h7xqt6db5rIhYbhSlYaUWotatBxdg,380
247
+ orionis/luminate/test/cases/test_async.py,sha256=7hTlagAj0Z4FPQvL31pKGhlzWF_hX6aus57wn9cXwek,897
248
+ orionis/luminate/test/cases/test_case.py,sha256=xaK7_pJrfQM72etGYEqZH5F1nu6Y-bvYBoPkwmA6HG0,1167
249
+ orionis/luminate/test/cases/test_sync.py,sha256=537oKVkUNwkUVFYEMzGpF4zResymhlGe4YX17LHo7Go,382
227
250
  orionis/luminate/test/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
- orionis/luminate/test/core/test_suite.py,sha256=Xw_x4FL2TW1AaqJO1smv63Nfzj5OobpohX0ZusGCsw0,4482
229
- orionis/luminate/test/core/test_unit.py,sha256=tepNlb_gjWBpoV1LW8F8iO0LzQh3cZvw76ueXPwXJ44,43309
251
+ orionis/luminate/test/core/test_suite.py,sha256=Qrpy_m-Mv4xpe3pIE4PHwtEA8_DGBIXq4B9rCignHww,4642
252
+ orionis/luminate/test/core/test_unit.py,sha256=z86WF1Q8ttDFshT1zuaOJM5Y23wj2cP52gy_knVo4K4,41584
230
253
  orionis/luminate/test/core/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
231
- orionis/luminate/test/core/contracts/test_suite.py,sha256=TOIys-Z1HllUJe-qMY9mOfZGiZPXlKRuAZtJ-B2iDz8,1375
232
- orionis/luminate/test/core/contracts/test_unit.py,sha256=ipLnKOu8B5usX2En1KhPfzY96XFbgwDdtUUS2IXzNv8,5040
254
+ orionis/luminate/test/core/contracts/test_suite.py,sha256=MdpoYSEeWqqj4IxPLAOf9gszaLFX6-rhycgiOOiZXE0,1495
255
+ orionis/luminate/test/core/contracts/test_unit.py,sha256=wWIlSNX-C2Yi98UrU-B_1bEpjj8iewlD_FQzulqszmk,5605
233
256
  orionis/luminate/test/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
- orionis/luminate/test/entities/test_result.py,sha256=GffqWyjNG107-OdHU6cwXZy4CMXh5XzQtdxfp26faMI,1147
257
+ orionis/luminate/test/entities/test_result.py,sha256=qcajbRuf6d-yUBClp8exnRfphaai5KJROYyPTLqsXa8,1382
235
258
  orionis/luminate/test/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
259
  orionis/luminate/test/enums/test_mode.py,sha256=CHstYZ180MEX84AjZIoyA1l8gKxFLp_eciLOj2in57E,481
237
260
  orionis/luminate/test/enums/test_status.py,sha256=vNKRmp1lud_ZGTayf3A8wO_0vEYdFABy_oMw-RcEc1c,673
238
261
  orionis/luminate/test/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
262
  orionis/luminate/test/exceptions/test_config_exception.py,sha256=yJv0JUTkZcF0Z4J8UHtffUipNgwNgmLhaqlOnnXFLyQ,995
240
- orionis/luminate/test/exceptions/test_exception.py,sha256=JmSYQzIb1HiL_Sp5_XLwQfhK7LL1r3MBmUSyXrqZHh4,2201
263
+ orionis/luminate/test/exceptions/test_exception.py,sha256=pcMhzF1Z5kkJm4yM7gZiQI0SvGjKFixJkRd6VBE03AY,2199
241
264
  orionis/luminate/test/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
- orionis/luminate/test/output/test_std_out.py,sha256=eZYiG_J4wtAcQYUyXArsMyWbdh6PnmgkjOAdfUMYrjI,4634
265
+ orionis/luminate/test/output/test_std_out.py,sha256=A649nWFi3cL7VDwHSbyfWPQs635Cw1jEODgiOaICYhY,3721
243
266
  orionis/luminate/test/output/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
- orionis/luminate/test/output/contracts/test_std_out.py,sha256=ryvMotj-rpVKOsyGqW0B0IEHuF8DdQj1Rn0K8xiyBOE,489
267
+ orionis/luminate/test/output/contracts/test_std_out.py,sha256=TdO0z-wxQcJ58koda0hNifDrZDgZenGeikRbfWdQE6E,1159
245
268
  orionis/static/ascii/icon.ascii,sha256=IgrlVjcYxcCrr0cJuJkOnEz0aEdAQBTyLzO5ainKsWc,398
246
269
  orionis/static/ascii/info.ascii,sha256=HF_o2eXaiw5iqcOhHfnPByn5GJ_O2eBwSK3IpTfYOwY,457
247
270
  orionis/static/bg/galaxy.jpg,sha256=_FuPghOe9LBrIWv1eKZ9fiZR72sEz5obvXGDnD7MzTc,172244
248
271
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
272
+ tests/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
273
+ tests/config/test_app.py,sha256=iACn9Bfn3bMsOEcqGhi3J-ibkeutD4r6q7ZpfnLdyCI,4431
274
+ tests/config/test_auth.py,sha256=VTEFSZkUucg3wd4WzurdmtwmH0sQ2gr58zBOne4HOh8,680
275
+ tests/config/test_cache.py,sha256=CHdVSFhLrttEin3PfAFzIRV3ph6BrAYfBrTEhTuwGmc,676
249
276
  tests/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
277
  tests/example/test_example.py,sha256=pzVMpvFXxmSep0FeRiZQqMKV8dlf1lM_7cLUAkc5YTI,576
278
+ tests/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
+ tests/patterns/singleton/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
+ tests/patterns/singleton/test_singleton.py,sha256=An30sHE_oxPiTGNLyucN-opJdjPDnCD8cY5UElibT3I,590
281
+ tests/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
282
+ tests/services/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
+ tests/services/environment/test_env.py,sha256=rsP5oTgEXnXpGwz5TsP56YC2elHveWi0tWn11kEyob0,1052
251
284
  tests/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
285
  tests/support/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
286
  tests/support/adapters/test_doct_dict.py,sha256=YOYXdYZngSwZfesqTDfYtwb1I_HaUKyfruxz6Njli1c,796
@@ -255,8 +288,6 @@ tests/support/adapters/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
255
288
  tests/support/adapters/fakes/fake_dict.py,sha256=KD48_xBc8pqj3LAe1_v1esu-1Fdz8fL5eZ70LSqkcbg,393
256
289
  tests/support/async_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
257
290
  tests/support/async_io/test_async_coroutine.py,sha256=rMpjIH3DDjMDIqZkaDGv1q1yGlDI3vjfbnAGLZKkAp8,1522
258
- tests/support/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
259
- tests/support/environment/test_env.py,sha256=fcMyvGnDnP2qamhG7yDRN9MyUDjeYN-oSmlno2mc7dQ,2652
260
291
  tests/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
292
  tests/support/inspection/test_reflect_abstract.py,sha256=VwUWHHjoWa_BSXdG5mWklx1EBe0JAm0E13XLFO9Nps4,13466
262
293
  tests/support/inspection/test_reflect_dependencies.py,sha256=frROd9NDbzwmEpb7TEOpikshFJKbPN5NvJ62ZWUm11E,3686
@@ -277,13 +308,11 @@ tests/support/parsers/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
277
308
  tests/support/parsers/fakes/fake_custom_error.py,sha256=BD8tQPhmIYFYVcaeMpEQ6uK1d6pcU4EGbwRkVfCZp7c,802
278
309
  tests/support/path/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
310
  tests/support/path/test_resolver.py,sha256=tcgKwxBRIWK6JEK18Va99GEOui3XTWoCh8x2n1MDkGQ,1238
280
- tests/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
- tests/support/patterns/test_singleton.py,sha256=I0Cawq0C5mV5v2I1mLmxJeXw9Vt3B1iq1RgLePsG30I,624
282
311
  tests/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
312
  tests/support/standard/test_std.py,sha256=g_iU9Pa6W9XDnxwdLB_NAmD60547VAReXe_Vhyrhf4M,2032
284
- orionis-0.246.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
285
- orionis-0.246.0.dist-info/METADATA,sha256=cQEcTgWppzM1HwJ0-wMt5Mu6TG-LneJFkWkiopbElaw,3003
286
- orionis-0.246.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
287
- orionis-0.246.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
288
- orionis-0.246.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
289
- orionis-0.246.0.dist-info/RECORD,,
313
+ orionis-0.247.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
314
+ orionis-0.247.0.dist-info/METADATA,sha256=2fqhdTj-DCtICN3E6Q7OskCnE5GF64h26nyZb77kqYI,3099
315
+ orionis-0.247.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
316
+ orionis-0.247.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
317
+ orionis-0.247.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
318
+ orionis-0.247.0.dist-info/RECORD,,
File without changes
@@ -0,0 +1,122 @@
1
+ from orionis.luminate.config.exceptions.integrity_exception import OrionisIntegrityException
2
+ from orionis.luminate.test import TestCase
3
+ from orionis.luminate.config.app import App
4
+ from orionis.luminate.config.app.enums.environments import Environments
5
+ from orionis.luminate.services.workers.maximum_workers import MaximumWorkers
6
+ from orionis.luminate.config.app.enums.ciphers import Cipher
7
+
8
+ class TestConfigApp(TestCase):
9
+ """
10
+ Unit tests for App configuration defaults.
11
+ """
12
+
13
+ async def testDefaultName(self):
14
+ """
15
+ Test that the default name of the App instance is 'Orionis Application'.
16
+
17
+ This test creates a new App object and asserts that its 'name' attribute
18
+ is set to the expected default value.
19
+ """
20
+ app = App()
21
+ self.assertEqual(app.name, 'Orionis Application')
22
+
23
+ async def testDefaultEnv(self):
24
+ """
25
+ Test that the default environment of the App instance is set to Environments.DEVELOPMENT.
26
+
27
+ This test creates a new App object and asserts that its 'env' attribute is equal to
28
+ Environments.DEVELOPMENT, ensuring that the application initializes with the correct
29
+ default environment setting.
30
+ """
31
+ app = App()
32
+ self.assertEqual(app.env, Environments.DEVELOPMENT)
33
+
34
+ async def testDefaultDebug(self):
35
+ """
36
+ Test that the default value of the 'debug' attribute in the App class is set to True upon initialization.
37
+ """
38
+ app = App()
39
+ self.assertTrue(app.debug)
40
+
41
+ async def testDefaultUrl(self):
42
+ """
43
+ Test that the default URL of the App instance is set to 'http://127.0.0.1'.
44
+ """
45
+ app = App()
46
+ self.assertEqual(app.url, 'http://127.0.0.1')
47
+
48
+ async def testDefaultPort(self):
49
+ """
50
+ Test that the default port for the App instance is set to 8000.
51
+ """
52
+ app = App()
53
+ self.assertEqual(app.port, 8000)
54
+
55
+ async def testDefaultWorkers(self):
56
+ """
57
+ Test that the default number of workers in the App instance is set to the value calculated by MaximumWorkers.
58
+ """
59
+ app = App()
60
+ self.assertEqual(app.workers, MaximumWorkers().calculate())
61
+
62
+ async def testDefaultReload(self):
63
+ """
64
+ Test that the default value of the 'reload' attribute in the App class is True.
65
+ """
66
+ app = App()
67
+ self.assertTrue(app.reload)
68
+
69
+ async def testDefaultTimezone(self):
70
+ """
71
+ Test that the default timezone of the App instance is set to 'UTC'.
72
+ """
73
+ app = App()
74
+ self.assertEqual(app.timezone, 'UTC')
75
+
76
+ async def testDefaultLocale(self):
77
+ """
78
+ Test that the default locale of the App instance is set to 'en'.
79
+
80
+ This test creates a new App object and asserts that its 'locale' attribute
81
+ is equal to 'en', ensuring the default locale configuration is correct.
82
+ """
83
+ app = App()
84
+ self.assertEqual(app.locale, 'en')
85
+
86
+ async def testDefaultFallbackLocale(self):
87
+ """
88
+ Test that the default fallback locale for the App instance is set to 'en'.
89
+ """
90
+ app = App()
91
+ self.assertEqual(app.fallback_locale, 'en')
92
+
93
+ async def testDefaultCipher(self):
94
+ """
95
+ Test that the default cipher for the App instance is set to AES_256_CBC.
96
+ """
97
+ app = App()
98
+ self.assertEqual(app.cipher, Cipher.AES_256_CBC)
99
+
100
+ async def testDefaultKey(self):
101
+ """
102
+ Test that the default value of the 'key' attribute in the App instance is None.
103
+
104
+ This test creates a new App object and asserts that its 'key' attribute is not set,
105
+ ensuring that the default state is as expected.
106
+ """
107
+ app = App()
108
+ self.assertIsNone(app.key)
109
+
110
+ async def testDefaultMaintenance(self):
111
+ """
112
+ Test that the default value of the 'maintenance' attribute in the App class is set to '/maintenance'.
113
+ """
114
+ app = App()
115
+ self.assertEqual(app.maintenance, '/maintenance')
116
+
117
+ async def testDefaultMaintenanceMode(self):
118
+ """
119
+ Test that creating an App with an invalid 'name' type raises an OrionisIntegrityException.
120
+ """
121
+ with self.assertRaises(OrionisIntegrityException):
122
+ App(name=tuple)
@@ -0,0 +1,21 @@
1
+ from orionis.luminate.test import TestCase
2
+ from orionis.luminate.config.auth import Auth
3
+
4
+ class TestConfigApp(TestCase):
5
+ """
6
+ Unit tests for App configuration defaults.
7
+ """
8
+
9
+ async def testNewValue(self):
10
+ """
11
+ Test that the default name of the App instance is 'Orionis Application'.
12
+
13
+ This test creates a new App object and asserts that its 'name' attribute
14
+ is set to the expected default value.
15
+ """
16
+ auth = Auth()
17
+ auth.new_value = 'new_value'
18
+ auth.new_value2 = 'new_value2'
19
+
20
+ self.assertEqual(auth.new_value, 'new_value')
21
+ self.assertEqual(auth.new_value2, 'new_value2')
@@ -0,0 +1,20 @@
1
+ from dataclasses import asdict
2
+ import json
3
+ from orionis.luminate.test import TestCase
4
+ from orionis.luminate.config.cache import Cache
5
+
6
+ class TestConfigApp(TestCase):
7
+ """
8
+ Unit tests for App configuration defaults.
9
+ """
10
+
11
+ async def testNewValue(self):
12
+ """
13
+ Test that the default name of the App instance is 'Orionis Application'.
14
+
15
+ This test creates a new App object and asserts that its 'name' attribute
16
+ is set to the expected default value.
17
+ """
18
+ cache = Cache()
19
+ self.assertEqual(cache.default.value, "memory")
20
+ self.assertEqual(cache.stores.file.path, "storage/framework/cache/data")
File without changes
File without changes
@@ -0,0 +1,18 @@
1
+ from orionis.luminate.patterns import Singleton
2
+ from orionis.luminate.test import TestCase
3
+
4
+ class TestsAsyncCoroutine(TestCase):
5
+
6
+ async def testSingleton(self):
7
+ """
8
+ Test the Singleton metaclass to ensure that only one instance of a class is created.
9
+ """
10
+ class SingletonClass(metaclass=Singleton):
11
+ def __init__(self, value):
12
+ self.value = value
13
+
14
+ instance1 = SingletonClass(1)
15
+ instance2 = SingletonClass(2)
16
+
17
+ self.assertIs(instance1, instance2)
18
+ self.assertEqual(instance1.value, 1)
File without changes
File without changes
@@ -0,0 +1,33 @@
1
+ from orionis.luminate.services.environment.env import Env, env
2
+ from orionis.luminate.test import TestCase
3
+ from orionis.framework import *
4
+
5
+ class TestDotEnv(TestCase):
6
+
7
+ async def testDotEnv(self):
8
+
9
+ # Test set and get environment variable.
10
+ Env.set('NAME', NAME)
11
+ result = Env.get('NAME')
12
+ self.assertEqual(result, NAME)
13
+
14
+ # Test unset environment variable.
15
+ Env.set('VERSION', VERSION)
16
+ Env.unset('VERSION')
17
+ result = Env.get('VERSION')
18
+ self.assertIsNone(result)
19
+
20
+ # Test env helper function retrieves variable.
21
+ Env.set('DOCS', DOCS)
22
+ result = env('DOCS')
23
+ self.assertEqual(result, DOCS)
24
+
25
+ # Test retrieving all environment variables.
26
+ Env.set('SKELETON', SKELETON)
27
+ Env.set('FRAMEWORK', FRAMEWORK)
28
+ result = Env.all()
29
+ self.assertEqual(result.get('SKELETON'), SKELETON)
30
+ self.assertEqual(result.get('FRAMEWORK'), FRAMEWORK)
31
+
32
+ # Destroy the environment
33
+ Env.destroy()
@@ -1,47 +0,0 @@
1
- from dataclasses import dataclass, field
2
- from typing import Dict
3
-
4
- @dataclass
5
- class App:
6
- """
7
- Represents the application's core configuration.
8
-
9
- This class defines the essential settings for the application, including
10
- its name, debugging mode, encryption settings, and server-related properties.
11
-
12
- Attributes
13
- ----------
14
- name : str
15
- The name of the application, used in logs, UI elements, and notifications.
16
- debug : bool
17
- Determines whether debugging mode is enabled. Should be `False` in production.
18
- bytecode : bool
19
- Indicates whether Python bytecode caching (.pyc files) is enabled.
20
- timezone : str
21
- The default timezone for the application, used for logging and scheduled tasks.
22
- url : str
23
- The base URL or host address where the application runs.
24
- port : int
25
- The port number the application listens on.
26
- workers : int
27
- The number of worker processes handling requests (affects performance).
28
- reload : bool
29
- Enables automatic server reloading when code changes (useful for development).
30
- cipher : str
31
- The encryption algorithm used for secure data handling (e.g., "AES-256-GCM").
32
- key : str
33
- The encryption key used for cryptographic operations.
34
- custom : dict
35
- A dictionary for storing additional custom properties. Defaults to an empty dictionary.
36
- """
37
- name: str
38
- debug: bool
39
- bytecode: bool
40
- timezone: str
41
- url: str
42
- port: int
43
- workers: int
44
- reload: bool
45
- cipher: str
46
- key: str
47
- custom: Dict[str, any] = field(default_factory=dict)
@@ -1,15 +0,0 @@
1
- from dataclasses import dataclass, field
2
- from typing import Dict
3
-
4
- @dataclass
5
- class Auth:
6
- """
7
- Represents a class that holds custom properties in a dictionary.
8
-
9
- Attributes
10
- ----------
11
- custom : dict
12
- A dictionary to store any additional custom properties.
13
- This field is initialized with an empty dictionary by default.
14
- """
15
- custom: Dict[str, any] = field(default_factory=dict)
@@ -1,51 +0,0 @@
1
- from dataclasses import dataclass, field
2
- from typing import Dict, Any
3
-
4
- @dataclass
5
- class File:
6
- """
7
- Represents a file storage path.
8
-
9
- Attributes
10
- ----------
11
- path : str
12
- The file path used for caching.
13
- """
14
- path: str
15
-
16
- @dataclass
17
- class Stores:
18
- """
19
- Defines available cache stores.
20
-
21
- Attributes
22
- ----------
23
- file : File
24
- An instance of `File` representing file-based cache storage.
25
- """
26
- file: File
27
-
28
- @dataclass
29
- class Cache:
30
- """
31
- Configuration for a cache system.
32
-
33
- Attributes
34
- ----------
35
- default : str
36
- The default cache storage type (e.g., "ram" or "file").
37
- stores : Stores
38
- An instance of `Stores` containing cache storage configurations.
39
- custom : Dict[str, Any], optional
40
- A dictionary containing additional custom properties for cache configuration.
41
- Defaults to an empty dictionary.
42
-
43
- Notes
44
- -----
45
- - The `default` attribute defines the main cache type.
46
- - The `stores` attribute holds configurations for different cache stores.
47
- - The `custom` attribute allows for dynamic additional properties if needed.
48
- """
49
- default: str
50
- stores: Stores = field(default_factory=lambda: Stores(File("")))
51
- custom: Dict[str, Any] = field(default_factory=dict)