orionis 0.223.0__tar.gz → 0.225.0__tar.gz

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 (264) hide show
  1. {orionis-0.223.0/orionis.egg-info → orionis-0.225.0}/PKG-INFO +1 -1
  2. {orionis-0.223.0 → orionis-0.225.0}/orionis/framework.py +1 -1
  3. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/application.py +2 -3
  4. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/resolve.py +1 -2
  5. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/environment/environment_bootstrapper.py +3 -2
  6. orionis-0.225.0/orionis/luminate/support/environment/env.py +104 -0
  7. orionis-0.225.0/orionis/luminate/support/environment/functions.py +41 -0
  8. orionis-0.225.0/orionis/luminate/support/environment/helper.py +26 -0
  9. orionis-0.225.0/orionis/luminate/support/paths/contracts/resolver.py +67 -0
  10. orionis-0.225.0/orionis/luminate/support/paths/resolver.py +83 -0
  11. {orionis-0.223.0 → orionis-0.225.0/orionis.egg-info}/PKG-INFO +1 -1
  12. {orionis-0.223.0 → orionis-0.225.0}/orionis.egg-info/SOURCES.txt +14 -4
  13. orionis-0.225.0/tests/support/environment/test_env.py +64 -0
  14. orionis-0.225.0/tests/support/environment/test_helper.py +11 -0
  15. orionis-0.225.0/tests/support/parsers/fakes/__init__.py +0 -0
  16. orionis-0.225.0/tests/support/path/__init__.py +0 -0
  17. orionis-0.225.0/tests/support/path/test_resolver.py +33 -0
  18. orionis-0.225.0/tests/support/patterns/__init__.py +0 -0
  19. orionis-0.225.0/tests/support/standard/__init__.py +0 -0
  20. orionis-0.223.0/orionis/luminate/services/environment/environment_service.py +0 -154
  21. orionis-0.223.0/orionis/luminate/services/files/path_resolver_service.py +0 -50
  22. {orionis-0.223.0 → orionis-0.225.0}/LICENCE +0 -0
  23. {orionis-0.223.0 → orionis-0.225.0}/MANIFEST.in +0 -0
  24. {orionis-0.223.0 → orionis-0.225.0}/README.md +0 -0
  25. {orionis-0.223.0 → orionis-0.225.0}/orionis/__init__.py +0 -0
  26. {orionis-0.223.0 → orionis-0.225.0}/orionis/console.py +0 -0
  27. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/__init__.py +0 -0
  28. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/contracts/__init__.py +0 -0
  29. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/contracts/manager.py +0 -0
  30. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/contracts/output.py +0 -0
  31. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/contracts/setup.py +0 -0
  32. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/manager.py +0 -0
  33. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/output.py +0 -0
  34. {orionis-0.223.0 → orionis-0.225.0}/orionis/installer/setup.py +0 -0
  35. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/__init__.py +0 -0
  36. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/__init__.py +0 -0
  37. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/app.py +0 -0
  38. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/auth.py +0 -0
  39. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/cache.py +0 -0
  40. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/cors.py +0 -0
  41. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/database.py +0 -0
  42. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/filesystems.py +0 -0
  43. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/logging.py +0 -0
  44. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/mail.py +0 -0
  45. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/queue.py +0 -0
  46. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/config/session.py +0 -0
  47. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/__init__.py +0 -0
  48. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/base/__init__.py +0 -0
  49. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/base/command.py +0 -0
  50. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/command_filter.py +0 -0
  51. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/commands/__init__.py +0 -0
  52. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  53. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/commands/help.py +0 -0
  54. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/commands/schedule_work.py +0 -0
  55. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/commands/version.py +0 -0
  56. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/exceptions/__init__.py +0 -0
  57. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/exceptions/cli-orionis-value-error.py +0 -0
  58. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  59. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/exceptions/cli_runtime_error.py +0 -0
  60. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/exceptions/cli_schedule_exception.py +0 -0
  61. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/kernel.py +0 -0
  62. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/output/__init__.py +0 -0
  63. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/output/console.py +0 -0
  64. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/output/executor.py +0 -0
  65. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  66. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/output/styles.py +0 -0
  67. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/console/parser.py +0 -0
  68. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/__init__.py +0 -0
  69. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/container.py +0 -0
  70. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/container_integrity.py +0 -0
  71. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/exception.py +0 -0
  72. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/container/lifetimes.py +0 -0
  73. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/__init__.py +0 -0
  74. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/application.py +0 -0
  75. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/config/__init__.py +0 -0
  76. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/config/config.py +0 -0
  77. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/__init__.py +0 -0
  78. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/base/__init__.py +0 -0
  79. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/base/command.py +0 -0
  80. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/command_filter.py +0 -0
  81. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/kernel.py +0 -0
  82. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/output/__init__.py +0 -0
  83. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/output/console.py +0 -0
  84. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/output/executor.py +0 -0
  85. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/output/progress_bar.py +0 -0
  86. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/parser.py +0 -0
  87. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/console/task_manager.py +0 -0
  88. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/container/container.py +0 -0
  89. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/container/container_integrity.py +0 -0
  90. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/__init__.py +0 -0
  91. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/commands/__init__.py +0 -0
  92. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/commands/commands_facade.py +0 -0
  93. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/commands/scheduler_facade.py +0 -0
  94. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/config/__init__.py +0 -0
  95. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/config/config_facade.py +0 -0
  96. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/environment/__init__.py +0 -0
  97. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/environment/environment_facade.py +0 -0
  98. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/facade.py +0 -0
  99. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/files/__init__.py +0 -0
  100. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/files/path_facade.py +0 -0
  101. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/log/__init__.py +0 -0
  102. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/log/log_facade.py +0 -0
  103. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/tests/__init__.py +0 -0
  104. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/facades/tests/tests_facade.py +0 -0
  105. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/__init__.py +0 -0
  106. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/bootstraper.py +0 -0
  107. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/config/__init__.py +0 -0
  108. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/config/config_bootstrapper.py +0 -0
  109. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/console/__init__.py +0 -0
  110. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/console/command_bootstrapper.py +0 -0
  111. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/environment/__init__.py +0 -0
  112. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/environment/environment_bootstrapper.py +0 -0
  113. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/providers/__init__.py +0 -0
  114. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/foundation/providers/service_providers_bootstrapper.py +0 -0
  115. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/providers/__init__.py +0 -0
  116. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/providers/service_provider.py +0 -0
  117. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/__init__.py +0 -0
  118. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/commands/__init__.py +0 -0
  119. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/commands/reactor_commands_service.py +0 -0
  120. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/commands/schedule_service.py +0 -0
  121. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/config/__init__.py +0 -0
  122. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/config/config_service.py +0 -0
  123. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/environment/__init__.py +0 -0
  124. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/environment/environment_service.py +0 -0
  125. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/files/__init__.py +0 -0
  126. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/files/path_resolver_service.py +0 -0
  127. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/log/__init__.py +0 -0
  128. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/services/log/log_service.py +0 -0
  129. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/support/exception_parse.py +0 -0
  130. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/contracts/support/reflection.py +0 -0
  131. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/__init__.py +0 -0
  132. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/app_facade.py +0 -0
  133. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/commands/__init__.py +0 -0
  134. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/commands/commands_facade.py +0 -0
  135. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/commands/scheduler_facade.py +0 -0
  136. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/config/__init__.py +0 -0
  137. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  138. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/environment/__init__.py +0 -0
  139. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  140. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/files/__init__.py +0 -0
  141. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  142. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/log/__init__.py +0 -0
  143. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  144. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/__init__.py +0 -0
  145. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/config/__init__.py +0 -0
  146. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/config/config_bootstrapper.py +0 -0
  147. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/console/__init__.py +0 -0
  148. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/console/command_bootstrapper.py +0 -0
  149. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/environment/__init__.py +0 -0
  150. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/exceptions/__init__.py +0 -0
  151. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/exceptions/exception_bootstrapper.py +0 -0
  152. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/exceptions/exception_providers.py +0 -0
  153. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/providers/__init__.py +0 -0
  154. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/foundation/providers/service_providers_bootstrapper.py +0 -0
  155. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/__init__.py +0 -0
  156. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/commands/__init__.py +0 -0
  157. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/commands/reactor_commands_service_provider.py +0 -0
  158. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/commands/scheduler_provider.py +0 -0
  159. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/config/__init__.py +0 -0
  160. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  161. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/environment/__init__.py +0 -0
  162. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/environment/environment__service_provider.py +0 -0
  163. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/files/__init__.py +0 -0
  164. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/files/paths_provider.py +0 -0
  165. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/log/__init__.py +0 -0
  166. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  167. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/providers/service_provider.py +0 -0
  168. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/__init__.py +0 -0
  169. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/commands/__init__.py +0 -0
  170. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/commands/reactor_commands_service.py +0 -0
  171. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/commands/scheduler_service.py +0 -0
  172. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/config/__init__.py +0 -0
  173. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/config/config_service.py +0 -0
  174. {orionis-0.223.0/orionis/luminate/services/environment → orionis-0.225.0/orionis/luminate/services/log}/__init__.py +0 -0
  175. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/services/log/log_service.py +0 -0
  176. {orionis-0.223.0/orionis/luminate/services/files → orionis-0.225.0/orionis/luminate/support}/__init__.py +0 -0
  177. {orionis-0.223.0/orionis/luminate/services/log → orionis-0.225.0/orionis/luminate/support/adapters}/__init__.py +0 -0
  178. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/adapters/dot_dict.py +0 -0
  179. {orionis-0.223.0/orionis/luminate/support → orionis-0.225.0/orionis/luminate/support/asynchrony}/__init__.py +0 -0
  180. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/asynchrony/async_io.py +0 -0
  181. {orionis-0.223.0/orionis/luminate/support/adapters → orionis-0.225.0/orionis/luminate/support/asynchrony/contracts}/__init__.py +0 -0
  182. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/asynchrony/contracts/async_coroutine.py +0 -0
  183. {orionis-0.223.0/orionis/luminate/support/asynchrony → orionis-0.225.0/orionis/luminate/support/environment}/__init__.py +0 -0
  184. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/__init__.py +0 -0
  185. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/container_integrity.py +0 -0
  186. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/contracts/__init__.py +0 -0
  187. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/contracts/reflection.py +0 -0
  188. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/contracts/reflexion_abstract.py +0 -0
  189. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/functions.py +0 -0
  190. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflection.py +0 -0
  191. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_abstract.py +0 -0
  192. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_concrete.py +0 -0
  193. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_concrete_with_abstract.py +0 -0
  194. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_instance.py +0 -0
  195. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_instance_with_abstract.py +0 -0
  196. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_module.py +0 -0
  197. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/inspection/reflexion_module_with_classname.py +0 -0
  198. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/parsers/__init__.py +0 -0
  199. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/parsers/contracts/__init__.py +0 -0
  200. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/parsers/contracts/exception_parser.py +0 -0
  201. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/parsers/exception_parser.py +0 -0
  202. {orionis-0.223.0/orionis/luminate/support/patterns → orionis-0.225.0/orionis/luminate/support/paths}/__init__.py +0 -0
  203. {orionis-0.223.0/orionis/luminate/support/standard → orionis-0.225.0/orionis/luminate/support/paths/contracts}/__init__.py +0 -0
  204. {orionis-0.223.0/orionis/luminate/support/standard/contracts → orionis-0.225.0/orionis/luminate/support/patterns}/__init__.py +0 -0
  205. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/patterns/singleton.py +0 -0
  206. {orionis-0.223.0/orionis/luminate/test → orionis-0.225.0/orionis/luminate/support/standard}/__init__.py +0 -0
  207. {orionis-0.223.0/orionis/luminate/test → orionis-0.225.0/orionis/luminate/support/standard}/contracts/__init__.py +0 -0
  208. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/standard/contracts/std.py +0 -0
  209. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/support/standard/std.py +0 -0
  210. {orionis-0.223.0/tests → orionis-0.225.0/orionis/luminate/test}/__init__.py +0 -0
  211. {orionis-0.223.0/tests/example → orionis-0.225.0/orionis/luminate/test/contracts}/__init__.py +0 -0
  212. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/contracts/test_std_out.py +0 -0
  213. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/contracts/test_suite.py +0 -0
  214. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/contracts/test_unit.py +0 -0
  215. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_case.py +0 -0
  216. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_exception.py +0 -0
  217. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_result.py +0 -0
  218. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_status.py +0 -0
  219. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_std_out.py +0 -0
  220. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_suite.py +0 -0
  221. {orionis-0.223.0 → orionis-0.225.0}/orionis/luminate/test/test_unit.py +0 -0
  222. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/ascii/icon.ascii +0 -0
  223. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/ascii/info.ascii +0 -0
  224. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/bg/galaxy.jpg +0 -0
  225. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  226. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  227. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/logos/OrionisFramework.png +0 -0
  228. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  229. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  230. {orionis-0.223.0 → orionis-0.225.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  231. {orionis-0.223.0 → orionis-0.225.0}/orionis.egg-info/dependency_links.txt +0 -0
  232. {orionis-0.223.0 → orionis-0.225.0}/orionis.egg-info/entry_points.txt +0 -0
  233. {orionis-0.223.0 → orionis-0.225.0}/orionis.egg-info/requires.txt +0 -0
  234. {orionis-0.223.0 → orionis-0.225.0}/orionis.egg-info/top_level.txt +0 -0
  235. {orionis-0.223.0 → orionis-0.225.0}/setup.cfg +0 -0
  236. {orionis-0.223.0 → orionis-0.225.0}/setup.py +0 -0
  237. {orionis-0.223.0/tests/support → orionis-0.225.0/tests}/__init__.py +0 -0
  238. {orionis-0.223.0/tests/support/adapters → orionis-0.225.0/tests/example}/__init__.py +0 -0
  239. {orionis-0.223.0 → orionis-0.225.0}/tests/example/test_example.py +0 -0
  240. {orionis-0.223.0/tests/support/adapters/fakes → orionis-0.225.0/tests/support}/__init__.py +0 -0
  241. {orionis-0.223.0/tests/support/async_io → orionis-0.225.0/tests/support/adapters}/__init__.py +0 -0
  242. {orionis-0.223.0/tests/support/inspection → orionis-0.225.0/tests/support/adapters/fakes}/__init__.py +0 -0
  243. {orionis-0.223.0 → orionis-0.225.0}/tests/support/adapters/fakes/fake_dict.py +0 -0
  244. {orionis-0.223.0 → orionis-0.225.0}/tests/support/adapters/test_doct_dict.py +0 -0
  245. {orionis-0.223.0/tests/support/inspection/fakes → orionis-0.225.0/tests/support/async_io}/__init__.py +0 -0
  246. {orionis-0.223.0 → orionis-0.225.0}/tests/support/async_io/test_async_coroutine.py +0 -0
  247. {orionis-0.223.0/tests/support/parsers → orionis-0.225.0/tests/support/environment}/__init__.py +0 -0
  248. {orionis-0.223.0/tests/support/parsers/fakes → orionis-0.225.0/tests/support/inspection}/__init__.py +0 -0
  249. {orionis-0.223.0/tests/support/patterns → orionis-0.225.0/tests/support/inspection/fakes}/__init__.py +0 -0
  250. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/fakes/fake_reflection_abstract.py +0 -0
  251. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/fakes/fake_reflection_concrete.py +0 -0
  252. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/fakes/fake_reflection_concrete_with_abstract.py +0 -0
  253. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/fakes/fake_reflection_instance.py +0 -0
  254. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/fakes/fake_reflection_instance_with_abstract.py +0 -0
  255. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/test_reflection_abstract.py +0 -0
  256. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/test_reflection_concrete.py +0 -0
  257. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/test_reflection_concrete_with_abstract.py +0 -0
  258. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/test_reflection_instance.py +0 -0
  259. {orionis-0.223.0 → orionis-0.225.0}/tests/support/inspection/test_reflection_instance_with_abstract.py +0 -0
  260. {orionis-0.223.0/tests/support/standard → orionis-0.225.0/tests/support/parsers}/__init__.py +0 -0
  261. {orionis-0.223.0 → orionis-0.225.0}/tests/support/parsers/fakes/fake_custom_error.py +0 -0
  262. {orionis-0.223.0 → orionis-0.225.0}/tests/support/parsers/test_exception_parser.py +0 -0
  263. {orionis-0.223.0 → orionis-0.225.0}/tests/support/patterns/test_singleton.py +0 -0
  264. {orionis-0.223.0 → orionis-0.225.0}/tests/support/standard/test_std.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.223.0
3
+ Version: 0.225.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.223.0"
8
+ VERSION = "0.225.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -9,8 +9,7 @@ from orionis.luminate.foundation.console.command_bootstrapper import CommandsBoo
9
9
  from orionis.luminate.foundation.environment.environment_bootstrapper import EnvironmentBootstrapper
10
10
  from orionis.luminate.foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
11
11
  from orionis.luminate.foundation.providers.service_providers_bootstrapper import ServiceProvidersBootstrapper
12
- from orionis.luminate.patterns.singleton import SingletonMeta
13
- from orionis.luminate.support.async.async_io import AsyncExecutor
12
+ from orionis.luminate.support.patterns.singleton import SingletonMeta
14
13
 
15
14
  class Application(metaclass=SingletonMeta):
16
15
  """
@@ -156,7 +155,7 @@ class Application(metaclass=SingletonMeta):
156
155
  """
157
156
  self._bootstrapping()
158
157
  self._loadCommands()
159
- AsyncExecutor.run(self._bootServiceProviders())
158
+ # AsyncExecutor.run(self._bootServiceProviders())
160
159
  Application.boot()
161
160
 
162
161
  async def _bootServiceProviders(self) -> None:
@@ -1,7 +1,6 @@
1
1
  from typing import Any, Callable
2
2
  from orionis.luminate.container.container import Container
3
3
  from orionis.luminate.container.exception import OrionisContainerValueError
4
- from orionis.luminate.support.async.async_io import AsyncExecutor
5
4
 
6
5
  class Resolve:
7
6
  """
@@ -62,4 +61,4 @@ class Resolve:
62
61
  )
63
62
 
64
63
  # Resolve and return the service associated with the abstract or alias
65
- return AsyncExecutor.run(container.make(abstract_or_alias))
64
+ # return AsyncExecutor.run(container.make(abstract_or_alias))
@@ -1,6 +1,7 @@
1
1
  from typing import Dict
2
2
  from orionis.luminate.contracts.foundation.environment.environment_bootstrapper import IEnvironmentBootstrapper
3
- from orionis.luminate.services.environment.environment_service import EnvironmentService
3
+ from orionis.luminate.support.environment.env import Env
4
+ # from orionis.luminate.services.environment.environment_service import EnvironmentService
4
5
 
5
6
  class EnvironmentBootstrapper(IEnvironmentBootstrapper):
6
7
  """
@@ -43,7 +44,7 @@ class EnvironmentBootstrapper(IEnvironmentBootstrapper):
43
44
  If the file does not exist, it creates an empty `.env` file. If the file exists,
44
45
  it loads the environment variables into the `_environment_vars` dictionary.
45
46
  """
46
- environment_service = EnvironmentService()
47
+ environment_service =Env()
47
48
  self._environment_vars = environment_service.all()
48
49
 
49
50
  def get(self, key: str = None) -> str:
@@ -0,0 +1,104 @@
1
+ import os
2
+ from typing import Any, Optional, Union
3
+ from dotenv import set_key, unset_key, dotenv_values
4
+ from orionis.luminate.support.environment.functions import (
5
+ _initialize,
6
+ _parse_value,
7
+ _serialize_value,
8
+ )
9
+
10
+ class Env:
11
+ """
12
+ A utility class for managing environment variables stored in a `.env` file.
13
+ """
14
+
15
+ @staticmethod
16
+ def get(key: str, default: Optional[Any] = None) -> Any:
17
+ """
18
+ Retrieves the value of an environment variable from the `.env` file.
19
+
20
+ Parameters
21
+ ----------
22
+ path : str or Path, optional
23
+ The path to the `.env` file. If None, a default path is used.
24
+ key : str
25
+ The name of the environment variable to retrieve.
26
+ default : Any, optional
27
+ The default value to return if the variable is not found.
28
+
29
+ Returns
30
+ -------
31
+ Any
32
+ The value of the environment variable, parsed into its appropriate type,
33
+ or the default value if the variable is not found.
34
+ """
35
+ resolved_path = _initialize()
36
+ value = dotenv_values(resolved_path).get(key) or os.getenv(key)
37
+ return _parse_value(value) if value is not None else default
38
+
39
+ @staticmethod
40
+ def set(key: str, value: Union[str, int, float, bool, list, dict]) -> None:
41
+ """
42
+ Sets the value of an environment variable in the `.env` file.
43
+
44
+ Parameters
45
+ ----------
46
+ path : str or Path, optional
47
+ The path to the `.env` file. If None, a default path is used.
48
+ key : str
49
+ The name of the environment variable to set.
50
+ value : str, int, float, bool, list, or dict
51
+ The value to assign to the environment variable. It will be serialized
52
+ before being stored.
53
+
54
+ Returns
55
+ -------
56
+ None
57
+ """
58
+ resolved_path = _initialize()
59
+ serialized_value = _serialize_value(value)
60
+ set_key(str(resolved_path), key, serialized_value)
61
+
62
+ @staticmethod
63
+ def unset(key: str) -> None:
64
+ """
65
+ Removes an environment variable from the `.env` file.
66
+
67
+ Parameters
68
+ ----------
69
+ path : str or Path, optional
70
+ The path to the `.env` file. If None, a default path is used.
71
+ key : str
72
+ The name of the environment variable to remove.
73
+
74
+ Returns
75
+ -------
76
+ None
77
+ """
78
+ resolved_path = _initialize()
79
+ unset_key(str(resolved_path), key)
80
+
81
+ @staticmethod
82
+ def all() -> dict:
83
+ """
84
+ Retrieves all environment variables from the `.env` file.
85
+
86
+ Parameters
87
+ ----------
88
+ path : str or Path, optional
89
+ The path to the `.env` file. If None, a default path is used.
90
+
91
+ Returns
92
+ -------
93
+ dict
94
+ A dictionary containing all environment variables from the `.env` file,
95
+ with their values parsed into their appropriate types.
96
+ """
97
+ resolved_path = _initialize()
98
+ env_vars = {}
99
+ data = dotenv_values(resolved_path)
100
+
101
+ for key, value in data.items():
102
+ env_vars[key] = _parse_value(value)
103
+
104
+ return env_vars
@@ -0,0 +1,41 @@
1
+ import ast
2
+ import os
3
+ from pathlib import Path
4
+ from typing import Any
5
+
6
+ def _initialize() -> Path:
7
+ """
8
+ Inicializa la ruta al archivo `.env`.
9
+ """
10
+ resolved_path = Path(os.getcwd()) / ".env"
11
+
12
+ # Asegurarse de que el archivo .env exista
13
+ if not resolved_path.exists():
14
+ resolved_path.touch()
15
+
16
+ return resolved_path
17
+
18
+ def _parse_value(value: Any) -> Any:
19
+ """
20
+ Parsea un valor de cadena en un tipo de dato de Python.
21
+ """
22
+ value = str(value).strip() if value is not None else None
23
+
24
+ if not value or value.lower() in {'none', 'null'}:
25
+ return None
26
+ if value.lower() in {'true', 'false'}:
27
+ return value.lower() == 'true'
28
+ if value.isdigit():
29
+ return int(value)
30
+ try:
31
+ return ast.literal_eval(value)
32
+ except (ValueError, SyntaxError):
33
+ return value
34
+
35
+ def _serialize_value(value: Any) -> str:
36
+ """
37
+ Serializa un tipo de dato de Python en una cadena para almacenarlo en el archivo `.env`.
38
+ """
39
+ if isinstance(value, (list, dict, bool, int, float)):
40
+ return repr(value)
41
+ return str(value)
@@ -0,0 +1,26 @@
1
+ from typing import Any
2
+ from orionis.luminate.support.environment.env import Env
3
+
4
+ def env(key: str, default = None) -> Any:
5
+ """
6
+ Retrieves the value of an environment variable.
7
+
8
+ This function provides a convenient way to access environment variables
9
+ stored in the application context. If the variable does not exist, it
10
+ returns the specified default value.
11
+
12
+ Parameters
13
+ ----------
14
+ key : str
15
+ The name of the environment variable to retrieve.
16
+ default : Any, optional
17
+ The default value to return if the environment variable does not exist.
18
+ Defaults to None.
19
+
20
+ Returns
21
+ -------
22
+ Any
23
+ The value of the environment variable, or the default value if the variable
24
+ does not exist.
25
+ """
26
+ return Env.get(key, default)
@@ -0,0 +1,67 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Optional
3
+
4
+ class IResolver(ABC):
5
+ """
6
+ Interface for a utility class that resolves file and directory paths relative to a base path.
7
+ """
8
+
9
+ @abstractmethod
10
+ def __init__(self, root_path: Optional[str] = None):
11
+ """
12
+ Initializes the resolver with an optional root path.
13
+
14
+ Parameters
15
+ ----------
16
+ root_path : str, optional
17
+ The root directory to resolve relative paths from.
18
+ """
19
+ pass
20
+
21
+ @abstractmethod
22
+ def relativePath(self, relative_path: str):
23
+ """
24
+ Resolves a relative path into an absolute one and validates its existence.
25
+
26
+ Parameters
27
+ ----------
28
+ relative_path : str
29
+ The relative path to resolve.
30
+
31
+ Returns
32
+ -------
33
+ ResolverInterface
34
+ The instance itself for method chaining.
35
+
36
+ Raises
37
+ ------
38
+ FileNotFoundError
39
+ If the resolved path does not exist.
40
+ ValueError
41
+ If the resolved path is neither a file nor a directory.
42
+ """
43
+ pass
44
+
45
+ @abstractmethod
46
+ def toString(self) -> str:
47
+ """
48
+ Returns the resolved path as a string.
49
+
50
+ Returns
51
+ -------
52
+ str
53
+ The resolved path.
54
+ """
55
+ pass
56
+
57
+ @abstractmethod
58
+ def __str__(self) -> str:
59
+ """
60
+ Returns the resolved path as a string (for print or str()).
61
+
62
+ Returns
63
+ -------
64
+ str
65
+ The resolved path.
66
+ """
67
+ pass
@@ -0,0 +1,83 @@
1
+ import os
2
+ from pathlib import Path
3
+ from orionis.luminate.support.paths.contracts.resolver import IResolver
4
+
5
+ class Resolver(IResolver):
6
+ """
7
+ A utility class for resolving file and directory paths relative to the project's root directory.
8
+ """
9
+
10
+ def __init__(self, root_path: str = None):
11
+ """
12
+ Initializes the Resolver instance with the project's root directory.
13
+
14
+ Parameters
15
+ ----------
16
+ root_path : str, optional
17
+ The root directory of the project. If not provided, it defaults to the current working directory.
18
+ """
19
+ self.base_path = Path(root_path).resolve() if root_path else Path(os.getcwd()).resolve()
20
+ self.resolved_path = None
21
+
22
+ def relativePath(self, relative_path: str) -> 'Resolver':
23
+ """
24
+ Resolves a given relative path to an absolute path and validates its existence.
25
+
26
+ This method combines the project's root directory with the provided relative path,
27
+ resolves it to an absolute path, and ensures it exists as either a directory or a file.
28
+
29
+ Parameters
30
+ ----------
31
+ relative_path : str
32
+ The relative path to a directory or file to be resolved.
33
+
34
+ Returns
35
+ -------
36
+ Resolver
37
+ The current instance of the Resolver class with the resolved path.
38
+
39
+ Raises
40
+ ------
41
+ FileNotFoundError
42
+ If the resolved path does not exist.
43
+ ValueError
44
+ If the resolved path is neither a valid directory nor a file.
45
+ """
46
+ # Combine the base path with the relative path and resolve it
47
+ resolved_path = (self.base_path / relative_path).resolve()
48
+
49
+ # Validate that the path exists
50
+ if not resolved_path.exists():
51
+ raise FileNotFoundError(f"The requested path does not exist: {resolved_path}")
52
+
53
+ # Validate that the path is either a directory or a file
54
+ if not (resolved_path.is_dir() or resolved_path.is_file()):
55
+ raise ValueError(f"The requested path is neither a valid directory nor a file: {resolved_path}")
56
+
57
+ # Store the resolved path in the instance variable
58
+ self.resolved_path = resolved_path
59
+
60
+ # Return the current instance
61
+ return self
62
+
63
+ def toString(self) -> str:
64
+ """
65
+ Returns the string representation of the resolved path.
66
+
67
+ Returns
68
+ -------
69
+ str
70
+ The resolved path as a string.
71
+ """
72
+ return str(self.resolved_path)
73
+
74
+ def __str__(self) -> str:
75
+ """
76
+ Returns the string representation of the resolved path.
77
+
78
+ Returns
79
+ -------
80
+ str
81
+ The resolved path as a string.
82
+ """
83
+ return str(self.resolved_path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.223.0
3
+ Version: 0.225.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -161,10 +161,6 @@ orionis/luminate/services/commands/reactor_commands_service.py
161
161
  orionis/luminate/services/commands/scheduler_service.py
162
162
  orionis/luminate/services/config/__init__.py
163
163
  orionis/luminate/services/config/config_service.py
164
- orionis/luminate/services/environment/__init__.py
165
- orionis/luminate/services/environment/environment_service.py
166
- orionis/luminate/services/files/__init__.py
167
- orionis/luminate/services/files/path_resolver_service.py
168
164
  orionis/luminate/services/log/__init__.py
169
165
  orionis/luminate/services/log/log_service.py
170
166
  orionis/luminate/support/__init__.py
@@ -172,7 +168,12 @@ orionis/luminate/support/adapters/__init__.py
172
168
  orionis/luminate/support/adapters/dot_dict.py
173
169
  orionis/luminate/support/asynchrony/__init__.py
174
170
  orionis/luminate/support/asynchrony/async_io.py
171
+ orionis/luminate/support/asynchrony/contracts/__init__.py
175
172
  orionis/luminate/support/asynchrony/contracts/async_coroutine.py
173
+ orionis/luminate/support/environment/__init__.py
174
+ orionis/luminate/support/environment/env.py
175
+ orionis/luminate/support/environment/functions.py
176
+ orionis/luminate/support/environment/helper.py
176
177
  orionis/luminate/support/inspection/__init__.py
177
178
  orionis/luminate/support/inspection/container_integrity.py
178
179
  orionis/luminate/support/inspection/functions.py
@@ -191,6 +192,10 @@ orionis/luminate/support/parsers/__init__.py
191
192
  orionis/luminate/support/parsers/exception_parser.py
192
193
  orionis/luminate/support/parsers/contracts/__init__.py
193
194
  orionis/luminate/support/parsers/contracts/exception_parser.py
195
+ orionis/luminate/support/paths/__init__.py
196
+ orionis/luminate/support/paths/resolver.py
197
+ orionis/luminate/support/paths/contracts/__init__.py
198
+ orionis/luminate/support/paths/contracts/resolver.py
194
199
  orionis/luminate/support/patterns/__init__.py
195
200
  orionis/luminate/support/patterns/singleton.py
196
201
  orionis/luminate/support/standard/__init__.py
@@ -228,6 +233,9 @@ tests/support/adapters/fakes/__init__.py
228
233
  tests/support/adapters/fakes/fake_dict.py
229
234
  tests/support/async_io/__init__.py
230
235
  tests/support/async_io/test_async_coroutine.py
236
+ tests/support/environment/__init__.py
237
+ tests/support/environment/test_env.py
238
+ tests/support/environment/test_helper.py
231
239
  tests/support/inspection/__init__.py
232
240
  tests/support/inspection/test_reflection_abstract.py
233
241
  tests/support/inspection/test_reflection_concrete.py
@@ -244,6 +252,8 @@ tests/support/parsers/__init__.py
244
252
  tests/support/parsers/test_exception_parser.py
245
253
  tests/support/parsers/fakes/__init__.py
246
254
  tests/support/parsers/fakes/fake_custom_error.py
255
+ tests/support/path/__init__.py
256
+ tests/support/path/test_resolver.py
247
257
  tests/support/patterns/__init__.py
248
258
  tests/support/patterns/test_singleton.py
249
259
  tests/support/standard/__init__.py
@@ -0,0 +1,64 @@
1
+ from orionis.luminate.support.environment.env import Env
2
+ from orionis.luminate.test.test_case import TestCase
3
+
4
+ class TestsEnvironment(TestCase):
5
+
6
+ async def testGetEnvVariable(self):
7
+ """
8
+ Test retrieving an environment variable from the `.env` file.
9
+ """
10
+
11
+ # Mock the environment setup
12
+ Env.set('TEST_KEY', 'TEST_VALUE')
13
+
14
+ # Test the get method
15
+ result = Env.get('TEST_KEY')
16
+ self.assertEqual(result, "TEST_VALUE")
17
+
18
+ # Test with a non-existent key
19
+ result = Env.get('NON_EXISTENT_KEY', True)
20
+ self.assertEqual(result, True)
21
+
22
+ async def testSetEnvVariable(self):
23
+ """
24
+ Test setting an environment variable in the `.env` file.
25
+ """
26
+
27
+ # Set the environment variable
28
+ Env.set('TEST_KEY', 'NEW_VALUE')
29
+
30
+ # Verify the value was set correctly
31
+ result = Env.get('TEST_KEY')
32
+ self.assertEqual(result, 'NEW_VALUE')
33
+
34
+ async def testUnsetEnvVariable(self):
35
+ """
36
+ Test removing an environment variable from the `.env` file.
37
+ """
38
+
39
+ # Set and then unset the environment variable
40
+ Env.set('TEST_KEY', "TEST_VALUE")
41
+ Env.unset('TEST_KEY')
42
+
43
+ # Verify the variable was removed
44
+ result = Env.get('TEST_KEY')
45
+ self.assertIsNone(result)
46
+
47
+ async def test_get_all_env_variables(self):
48
+ """
49
+ Test retrieving all environment variables from the `.env` file.
50
+ """
51
+
52
+ # Mock the environment setup
53
+ Env.set('KEY1', 'value1')
54
+ Env.set('KEY2', 'value2')
55
+
56
+ # Retrieve all environment variables
57
+ result = Env.all()
58
+
59
+ # Verify the result
60
+ self.assertEqual(result.get('KEY1'), 'value1')
61
+ self.assertEqual(result.get('KEY2'), 'value2')
62
+
63
+ Env.unset('KEY1')
64
+ Env.unset('KEY2')
@@ -0,0 +1,11 @@
1
+ from orionis.luminate.support.environment.helper import env
2
+ from orionis.luminate.test.test_case import TestCase
3
+
4
+ class TestsEnvironmentHelper(TestCase):
5
+
6
+ async def testGetEnvHelper(self):
7
+ """"
8
+ Test retrieving an environment variable using the env helper.
9
+ """
10
+ result = env('FRAMEWORK')
11
+ self.assertEqual(result, 'https://github.com/orionis-framework/framework')
File without changes
@@ -0,0 +1,33 @@
1
+ from orionis.luminate.support.paths.resolver import Resolver
2
+ from orionis.luminate.test.test_case import TestCase
3
+
4
+ class TestsResolver(TestCase):
5
+
6
+ async def testFileNotFound(self):
7
+ """
8
+ Test the Resolver class for a non-existent file path.
9
+ """
10
+ file_path = "non_existent_file.txt"
11
+ with self.assertRaises(FileNotFoundError):
12
+ Resolver().relativePath(file_path)
13
+
14
+ async def testValidFilePath(self):
15
+ """
16
+ Test the Resolver class for a valid file path.
17
+ """
18
+ path = Resolver().relativePath('orionis/luminate/test/test_suite.py').toString()
19
+ self.assertTrue(path.endswith('test_suite.py'))
20
+
21
+ async def testOtherBasePath(self):
22
+ """
23
+ Test the Resolver class for a different base path.
24
+ """
25
+ path = Resolver('orionis/luminate/test').relativePath('test_suite.py').toString()
26
+ self.assertTrue(path.endswith('test_suite.py'))
27
+
28
+ async def testEqualOutputString(self):
29
+ """
30
+ Test the Resolver class for a string representation of the resolved path.
31
+ """
32
+ path = Resolver().relativePath('orionis/luminate/test/test_suite.py')
33
+ self.assertEqual(path.toString(), str(path))
File without changes
File without changes