orionis 0.405.0__py3-none-any.whl → 0.407.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 (175) hide show
  1. orionis/console/base/command.py +57 -50
  2. orionis/console/base/contracts/command.py +68 -0
  3. orionis/console/dynamic/contracts/progress_bar.py +3 -3
  4. orionis/console/dynamic/progress_bar.py +8 -8
  5. orionis/console/output/console.py +8 -2
  6. orionis/console/output/contracts/console.py +1 -1
  7. orionis/container/container.py +2 -2
  8. orionis/container/context/scope.py +4 -1
  9. orionis/container/contracts/service_provider.py +2 -2
  10. orionis/container/entities/binding.py +31 -44
  11. orionis/container/enums/lifetimes.py +22 -1
  12. orionis/container/facades/facade.py +1 -2
  13. orionis/container/providers/service_provider.py +2 -2
  14. orionis/foundation/application.py +542 -248
  15. orionis/foundation/config/app/entities/app.py +107 -90
  16. orionis/foundation/config/auth/entities/auth.py +4 -33
  17. orionis/foundation/config/cache/entities/cache.py +18 -41
  18. orionis/foundation/config/cache/entities/file.py +8 -35
  19. orionis/foundation/config/cache/entities/stores.py +17 -38
  20. orionis/foundation/config/cors/entities/cors.py +41 -54
  21. orionis/foundation/config/database/entities/connections.py +40 -56
  22. orionis/foundation/config/database/entities/database.py +11 -38
  23. orionis/foundation/config/database/entities/mysql.py +48 -76
  24. orionis/foundation/config/database/entities/oracle.py +30 -57
  25. orionis/foundation/config/database/entities/pgsql.py +45 -61
  26. orionis/foundation/config/database/entities/sqlite.py +26 -53
  27. orionis/foundation/config/filesystems/entitites/aws.py +28 -49
  28. orionis/foundation/config/filesystems/entitites/disks.py +27 -47
  29. orionis/foundation/config/filesystems/entitites/filesystems.py +15 -37
  30. orionis/foundation/config/filesystems/entitites/local.py +9 -35
  31. orionis/foundation/config/filesystems/entitites/public.py +14 -41
  32. orionis/foundation/config/logging/entities/channels.py +56 -86
  33. orionis/foundation/config/logging/entities/chunked.py +9 -9
  34. orionis/foundation/config/logging/entities/daily.py +8 -8
  35. orionis/foundation/config/logging/entities/hourly.py +6 -6
  36. orionis/foundation/config/logging/entities/logging.py +12 -18
  37. orionis/foundation/config/logging/entities/monthly.py +7 -7
  38. orionis/foundation/config/logging/entities/stack.py +5 -5
  39. orionis/foundation/config/logging/entities/weekly.py +6 -6
  40. orionis/foundation/config/mail/entities/file.py +9 -36
  41. orionis/foundation/config/mail/entities/mail.py +22 -40
  42. orionis/foundation/config/mail/entities/mailers.py +29 -44
  43. orionis/foundation/config/mail/entities/smtp.py +47 -48
  44. orionis/foundation/config/queue/entities/brokers.py +19 -41
  45. orionis/foundation/config/queue/entities/database.py +24 -46
  46. orionis/foundation/config/queue/entities/queue.py +28 -40
  47. orionis/foundation/config/roots/paths.py +272 -468
  48. orionis/foundation/config/session/entities/session.py +23 -53
  49. orionis/foundation/config/startup.py +165 -135
  50. orionis/foundation/config/testing/entities/testing.py +137 -122
  51. orionis/foundation/config/testing/enums/__init__.py +6 -2
  52. orionis/foundation/config/testing/enums/drivers.py +16 -0
  53. orionis/foundation/config/testing/enums/verbosity.py +18 -0
  54. orionis/foundation/contracts/application.py +152 -362
  55. orionis/foundation/providers/console_provider.py +24 -2
  56. orionis/foundation/providers/dumper_provider.py +24 -2
  57. orionis/foundation/providers/logger_provider.py +24 -2
  58. orionis/foundation/providers/path_resolver_provider.py +25 -2
  59. orionis/foundation/providers/progress_bar_provider.py +24 -2
  60. orionis/foundation/providers/testing_provider.py +39 -0
  61. orionis/foundation/providers/workers_provider.py +24 -2
  62. orionis/metadata/framework.py +1 -1
  63. orionis/services/asynchrony/contracts/coroutines.py +13 -5
  64. orionis/services/asynchrony/coroutines.py +33 -29
  65. orionis/services/asynchrony/exceptions/exception.py +9 -1
  66. orionis/services/environment/core/dot_env.py +46 -34
  67. orionis/services/environment/enums/__init__.py +0 -0
  68. orionis/services/environment/enums/cast_type.py +42 -0
  69. orionis/services/environment/helpers/functions.py +1 -2
  70. orionis/services/environment/key/__init__.py +0 -0
  71. orionis/services/environment/key/key_generator.py +37 -0
  72. orionis/services/environment/serializer/__init__.py +0 -0
  73. orionis/services/environment/serializer/values.py +21 -0
  74. orionis/services/environment/validators/__init__.py +0 -0
  75. orionis/services/environment/validators/key_name.py +46 -0
  76. orionis/services/environment/validators/types.py +45 -0
  77. orionis/services/system/contracts/imports.py +38 -18
  78. orionis/services/system/contracts/workers.py +29 -12
  79. orionis/services/system/imports.py +65 -25
  80. orionis/services/system/runtime/imports.py +18 -9
  81. orionis/services/system/workers.py +49 -16
  82. orionis/support/entities/__init__.py +0 -0
  83. orionis/support/entities/base.py +104 -0
  84. orionis/support/facades/testing.py +15 -0
  85. orionis/support/facades/workers.py +1 -1
  86. orionis/test/cases/asynchronous.py +0 -11
  87. orionis/test/cases/synchronous.py +0 -9
  88. orionis/test/contracts/dumper.py +11 -4
  89. orionis/test/contracts/kernel.py +5 -110
  90. orionis/test/contracts/logs.py +27 -65
  91. orionis/test/contracts/printer.py +16 -128
  92. orionis/test/contracts/test_result.py +100 -0
  93. orionis/test/contracts/unit_test.py +87 -150
  94. orionis/test/core/unit_test.py +608 -554
  95. orionis/test/entities/result.py +22 -2
  96. orionis/test/enums/__init__.py +0 -2
  97. orionis/test/enums/status.py +14 -9
  98. orionis/test/exceptions/config.py +9 -1
  99. orionis/test/exceptions/failure.py +34 -11
  100. orionis/test/exceptions/persistence.py +10 -2
  101. orionis/test/exceptions/runtime.py +9 -1
  102. orionis/test/exceptions/value.py +13 -1
  103. orionis/test/kernel.py +87 -289
  104. orionis/test/output/dumper.py +83 -18
  105. orionis/test/output/printer.py +399 -156
  106. orionis/test/records/logs.py +203 -82
  107. orionis/test/validators/__init__.py +33 -0
  108. orionis/test/validators/base_path.py +45 -0
  109. orionis/test/validators/execution_mode.py +45 -0
  110. orionis/test/validators/fail_fast.py +37 -0
  111. orionis/test/validators/folder_path.py +34 -0
  112. orionis/test/validators/module_name.py +31 -0
  113. orionis/test/validators/name_pattern.py +40 -0
  114. orionis/test/validators/pattern.py +36 -0
  115. orionis/test/validators/persistent.py +42 -0
  116. orionis/test/validators/persistent_driver.py +43 -0
  117. orionis/test/validators/print_result.py +37 -0
  118. orionis/test/validators/tags.py +37 -0
  119. orionis/test/validators/throw_exception.py +39 -0
  120. orionis/test/validators/verbosity.py +37 -0
  121. orionis/test/validators/web_report.py +35 -0
  122. orionis/test/validators/workers.py +31 -0
  123. orionis/test/view/render.py +48 -54
  124. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/METADATA +1 -1
  125. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/RECORD +170 -112
  126. tests/container/__init__.py +0 -0
  127. tests/container/context/__init__.py +0 -0
  128. tests/container/context/test_manager.py +27 -0
  129. tests/container/context/test_scope.py +23 -0
  130. tests/container/entities/__init__.py +0 -0
  131. tests/container/entities/test_binding.py +133 -0
  132. tests/container/enums/__init__.py +0 -0
  133. tests/container/enums/test_lifetimes.py +63 -0
  134. tests/container/facades/__init__.py +0 -0
  135. tests/container/facades/test_facade.py +61 -0
  136. tests/container/mocks/__init__.py +0 -0
  137. tests/container/mocks/mock_complex_classes.py +482 -0
  138. tests/container/mocks/mock_simple_classes.py +32 -0
  139. tests/container/providers/__init__.py +0 -0
  140. tests/container/providers/test_providers.py +48 -0
  141. tests/container/resolver/__init__.py +0 -0
  142. tests/container/resolver/test_resolver.py +55 -0
  143. tests/container/test_container.py +254 -0
  144. tests/container/test_singleton.py +98 -0
  145. tests/container/test_thread_safety.py +217 -0
  146. tests/container/validators/__init__.py +0 -0
  147. tests/container/validators/test_implements.py +140 -0
  148. tests/container/validators/test_is_abstract_class.py +99 -0
  149. tests/container/validators/test_is_callable.py +73 -0
  150. tests/container/validators/test_is_concrete_class.py +97 -0
  151. tests/container/validators/test_is_instance.py +105 -0
  152. tests/container/validators/test_is_not_subclass.py +117 -0
  153. tests/container/validators/test_is_subclass.py +115 -0
  154. tests/container/validators/test_is_valid_alias.py +113 -0
  155. tests/container/validators/test_lifetime.py +75 -0
  156. tests/example/test_example.py +2 -2
  157. tests/foundation/config/testing/test_foundation_config_testing.py +1 -1
  158. tests/metadata/test_metadata_framework.py +89 -24
  159. tests/metadata/test_metadata_package.py +55 -10
  160. tests/services/asynchrony/test_services_asynchrony_coroutine.py +52 -7
  161. tests/services/system/test_services_system_imports.py +119 -16
  162. tests/services/system/test_services_system_workers.py +71 -30
  163. tests/testing/test_testing_result.py +117 -117
  164. tests/testing/test_testing_unit.py +209 -209
  165. orionis/foundation/config/base.py +0 -112
  166. orionis/test/arguments/parser.py +0 -187
  167. orionis/test/contracts/parser.py +0 -43
  168. orionis/test/entities/arguments.py +0 -38
  169. orionis/test/enums/execution_mode.py +0 -16
  170. /orionis/{test/arguments → console/base/contracts}/__init__.py +0 -0
  171. /orionis/foundation/config/testing/enums/{test_mode.py → mode.py} +0 -0
  172. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/WHEEL +0 -0
  173. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/licenses/LICENCE +0 -0
  174. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/top_level.txt +0 -0
  175. {orionis-0.405.0.dist-info → orionis-0.407.0.dist-info}/zip-safe +0 -0
@@ -1,131 +1,131 @@
1
- from orionis.test.cases.asynchronous import AsyncTestCase
2
- from orionis.test.entities.result import TestResult
3
- from orionis.test.enums import TestStatus
1
+ # from orionis.test.cases.asynchronous import AsyncTestCase
2
+ # from orionis.test.entities.result import TestResult
3
+ # from orionis.test.enums import TestStatus
4
4
 
5
- class TestTestingResult(AsyncTestCase):
5
+ # class TestTestingResult(AsyncTestCase):
6
6
 
7
- async def testDefaultValues(self) -> None:
8
- """
9
- Ensures that when optional fields are not provided during initialization of a TestResult
10
- instance, they are set to None.
7
+ # async def testDefaultValues(self) -> None:
8
+ # """
9
+ # Ensures that when optional fields are not provided during initialization of a TestResult
10
+ # instance, they are set to None.
11
11
 
12
- Notes
13
- -----
14
- This test verifies the default behavior of the following optional fields:
15
- - error_message
16
- - traceback
17
- - class_name
18
- - method
19
- - module
20
- - file_path
12
+ # Notes
13
+ # -----
14
+ # This test verifies the default behavior of the following optional fields:
15
+ # - error_message
16
+ # - traceback
17
+ # - class_name
18
+ # - method
19
+ # - module
20
+ # - file_path
21
21
 
22
- Assertions
23
- ----------
24
- Each optional field is checked to confirm it is None after initialization.
25
- """
26
- result = TestResult(
27
- id=1,
28
- name="Sample Test",
29
- status=TestStatus.PASSED,
30
- execution_time=0.5
31
- )
32
- self.assertIsNone(result.error_message)
33
- self.assertIsNone(result.traceback)
34
- self.assertIsNone(result.class_name)
35
- self.assertIsNone(result.method)
36
- self.assertIsNone(result.module)
37
- self.assertIsNone(result.file_path)
22
+ # Assertions
23
+ # ----------
24
+ # Each optional field is checked to confirm it is None after initialization.
25
+ # """
26
+ # result = TestResult(
27
+ # id=1,
28
+ # name="Sample Test",
29
+ # status=TestStatus.PASSED,
30
+ # execution_time=0.5
31
+ # )
32
+ # self.assertIsNone(result.error_message)
33
+ # self.assertIsNone(result.traceback)
34
+ # self.assertIsNone(result.class_name)
35
+ # self.assertIsNone(result.method)
36
+ # self.assertIsNone(result.module)
37
+ # self.assertIsNone(result.file_path)
38
38
 
39
- async def testRequiredFields(self) -> None:
40
- """
41
- Test that TestResult enforces the presence of all required (non-optional) fields during initialization.
42
- This test verifies that omitting any required field when creating a TestResult instance raises a TypeError.
39
+ # async def testRequiredFields(self) -> None:
40
+ # """
41
+ # Test that TestResult enforces the presence of all required (non-optional) fields during initialization.
42
+ # This test verifies that omitting any required field when creating a TestResult instance raises a TypeError.
43
43
 
44
- Notes
45
- -----
46
- - Attempts to instantiate TestResult with no arguments.
47
- - Attempts to instantiate TestResult missing the 'id' field.
48
- - Expects a TypeError to be raised in both cases.
49
- """
50
- with self.assertRaises(TypeError):
51
- TestResult() # Missing all required fields
44
+ # Notes
45
+ # -----
46
+ # - Attempts to instantiate TestResult with no arguments.
47
+ # - Attempts to instantiate TestResult missing the 'id' field.
48
+ # - Expects a TypeError to be raised in both cases.
49
+ # """
50
+ # with self.assertRaises(TypeError):
51
+ # TestResult() # Missing all required fields
52
52
 
53
- with self.assertRaises(TypeError):
54
- # Missing id
55
- TestResult(
56
- name="Sample Test",
57
- status=TestStatus.PASSED,
58
- execution_time=0.5
59
- )
53
+ # with self.assertRaises(TypeError):
54
+ # # Missing id
55
+ # TestResult(
56
+ # name="Sample Test",
57
+ # status=TestStatus.PASSED,
58
+ # execution_time=0.5
59
+ # )
60
60
 
61
- async def testImmutable(self) -> None:
62
- """
63
- Test the immutability of TestResult instances.
64
- This test ensures that TestResult, implemented as a frozen dataclass, does not allow
65
- modification of its attributes after instantiation.
61
+ # async def testImmutable(self) -> None:
62
+ # """
63
+ # Test the immutability of TestResult instances.
64
+ # This test ensures that TestResult, implemented as a frozen dataclass, does not allow
65
+ # modification of its attributes after instantiation.
66
66
 
67
- Parameters
68
- ----------
69
- self : TestCase
70
- The test case instance.
67
+ # Parameters
68
+ # ----------
69
+ # self : TestCase
70
+ # The test case instance.
71
71
 
72
- Raises
73
- ------
74
- FrozenInstanceError
75
- If an attempt is made to modify an attribute of a frozen TestResult instance.
76
- """
77
- result = TestResult(
78
- id=1,
79
- name="Sample Test",
80
- status=TestStatus.PASSED,
81
- execution_time=0.5
82
- )
83
- with self.assertRaises(Exception):
84
- result.name = "Modified Name"
72
+ # Raises
73
+ # ------
74
+ # FrozenInstanceError
75
+ # If an attempt is made to modify an attribute of a frozen TestResult instance.
76
+ # """
77
+ # result = TestResult(
78
+ # id=1,
79
+ # name="Sample Test",
80
+ # status=TestStatus.PASSED,
81
+ # execution_time=0.5
82
+ # )
83
+ # with self.assertRaises(Exception):
84
+ # result.name = "Modified Name"
85
85
 
86
- async def testStatusValues(self) -> None:
87
- """
88
- Parameters
89
- ----------
90
- self : TestCase
91
- The test case instance.
86
+ # async def testStatusValues(self) -> None:
87
+ # """
88
+ # Parameters
89
+ # ----------
90
+ # self : TestCase
91
+ # The test case instance.
92
92
 
93
- Notes
94
- -----
95
- This test iterates over all possible values of the `TestStatus` enum and verifies
96
- that each value can be assigned to the `status` field of a `TestResult` instance.
97
- It asserts that the assigned status matches the expected value.
98
- """
99
- for status in TestStatus:
100
- result = TestResult(
101
- id=1,
102
- name="Status Test",
103
- status=status,
104
- execution_time=0.1
105
- )
106
- self.assertEqual(result.status, status)
93
+ # Notes
94
+ # -----
95
+ # This test iterates over all possible values of the `TestStatus` enum and verifies
96
+ # that each value can be assigned to the `status` field of a `TestResult` instance.
97
+ # It asserts that the assigned status matches the expected value.
98
+ # """
99
+ # for status in TestStatus:
100
+ # result = TestResult(
101
+ # id=1,
102
+ # name="Status Test",
103
+ # status=status,
104
+ # execution_time=0.1
105
+ # )
106
+ # self.assertEqual(result.status, status)
107
107
 
108
- async def testErrorFields(self) -> None:
109
- """
110
- Parameters
111
- ----------
112
- self : TestCase
113
- The test case instance.
108
+ # async def testErrorFields(self) -> None:
109
+ # """
110
+ # Parameters
111
+ # ----------
112
+ # self : TestCase
113
+ # The test case instance.
114
114
 
115
- Notes
116
- -----
117
- Verifies that the `error_message` and `traceback` fields are correctly stored in the `TestResult`
118
- object when provided during initialization.
119
- """
120
- error_msg = "Test failed"
121
- traceback = "Traceback info"
122
- result = TestResult(
123
- id=1,
124
- name="Failing Test",
125
- status=TestStatus.FAILED,
126
- execution_time=0.2,
127
- error_message=error_msg,
128
- traceback=traceback
129
- )
130
- self.assertEqual(result.error_message, error_msg)
131
- self.assertEqual(result.traceback, traceback)
115
+ # Notes
116
+ # -----
117
+ # Verifies that the `error_message` and `traceback` fields are correctly stored in the `TestResult`
118
+ # object when provided during initialization.
119
+ # """
120
+ # error_msg = "Test failed"
121
+ # traceback = "Traceback info"
122
+ # result = TestResult(
123
+ # id=1,
124
+ # name="Failing Test",
125
+ # status=TestStatus.FAILED,
126
+ # execution_time=0.2,
127
+ # error_message=error_msg,
128
+ # traceback=traceback
129
+ # )
130
+ # self.assertEqual(result.error_message, error_msg)
131
+ # self.assertEqual(result.traceback, traceback)