orionis 0.443.0__py3-none-any.whl → 0.445.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 (29) hide show
  1. orionis/console/args/argument.py +343 -0
  2. orionis/console/args/enums/actions.py +43 -0
  3. orionis/console/commands/version.py +19 -4
  4. orionis/foundation/application.py +0 -2
  5. orionis/foundation/providers/testing_provider.py +39 -2
  6. orionis/metadata/framework.py +1 -1
  7. orionis/test/core/unit_test.py +134 -5
  8. orionis/test/kernel.py +30 -83
  9. orionis/test/validators/workers.py +2 -2
  10. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/METADATA +1 -1
  11. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/RECORD +19 -27
  12. tests/example/test_example.py +163 -173
  13. orionis/foundation/providers/path_resolver_provider.py +0 -43
  14. orionis/services/paths/contracts/__init__.py +0 -0
  15. orionis/services/paths/contracts/resolver.py +0 -51
  16. orionis/services/paths/exceptions/__init__.py +0 -7
  17. orionis/services/paths/exceptions/exception.py +0 -19
  18. orionis/services/paths/exceptions/file.py +0 -19
  19. orionis/services/paths/resolver.py +0 -95
  20. orionis/support/facades/path_resolver.py +0 -15
  21. tests/services/path/__init__.py +0 -0
  22. tests/services/path/test_services_resolver.py +0 -112
  23. /orionis/console/{arguments → args}/__init__.py +0 -0
  24. /orionis/{services/paths → console/args/enums}/__init__.py +0 -0
  25. /orionis/console/{arguments → args}/parser.py +0 -0
  26. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/WHEEL +0 -0
  27. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/licenses/LICENCE +0 -0
  28. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/top_level.txt +0 -0
  29. {orionis-0.443.0.dist-info → orionis-0.445.0.dist-info}/zip-safe +0 -0
orionis/test/kernel.py CHANGED
@@ -1,9 +1,4 @@
1
- from pathlib import Path
2
- import re
3
- from typing import List
4
- from os import walk
5
1
  from orionis.console.output.contracts.console import IConsole
6
- from orionis.foundation.config.testing.entities.testing import Testing
7
2
  from orionis.foundation.contracts.application import IApplication
8
3
  from orionis.test.contracts.kernel import ITestKernel
9
4
  from orionis.test.contracts.unit_test import IUnitTest
@@ -18,115 +13,67 @@ class TestKernel(ITestKernel):
18
13
  """
19
14
  Initialize the TestKernel with the provided application instance.
20
15
 
16
+ This constructor sets up the test kernel by validating the application
17
+ instance and resolving required dependencies for testing operations.
18
+
21
19
  Parameters
22
20
  ----------
23
21
  app : IApplication
24
- Application instance implementing the IApplication contract.
22
+ The application instance that provides dependency injection
23
+ and service resolution capabilities.
25
24
 
26
25
  Raises
27
26
  ------
28
27
  OrionisTestConfigException
29
- If the provided app is not an instance of IApplication.
28
+ If the provided app parameter is not an instance of IApplication.
29
+
30
+ Returns
31
+ -------
32
+ None
33
+ This is a constructor method and does not return a value.
30
34
  """
35
+ # Validate that the provided app parameter is an IApplication instance
31
36
  if not isinstance(app, IApplication):
32
37
  raise OrionisTestConfigException(
33
38
  f"Failed to initialize TestKernel: expected IApplication, got {type(app).__module__}.{type(app).__name__}."
34
39
  )
35
40
 
36
- self.__config = Testing(**app.config('testing'))
41
+ # Resolve the unit test service from the application container
37
42
  self.__unit_test: IUnitTest = app.make('core.orionis.testing')
38
- self.__unit_test._UnitTest__app = app
39
- self.__unit_test._UnitTest__storage = app.path('storage_testing')
40
- self.__console: IConsole = app.make('core.orionis.console')
41
-
42
- def __listMatchingFolders(
43
- self,
44
- base_path: Path,
45
- custom_path: Path,
46
- pattern: str
47
- ) -> List[str]:
48
- """
49
- List folders within a given path containing files matching a pattern.
50
-
51
- Parameters
52
- ----------
53
- base_path : Path
54
- The base directory path for calculating relative paths.
55
- custom_path : Path
56
- The directory path to search for matching files.
57
- pattern : str
58
- The filename pattern to match, supporting '*' and '?' wildcards.
59
43
 
60
- Returns
61
- -------
62
- List[str]
63
- List of relative folder paths containing files matching the pattern.
64
- """
65
- regex = re.compile('^' + pattern.replace('*', '.*').replace('?', '.') + '$')
66
- matched_folders = set()
67
- for root, _, files in walk(str(custom_path)):
68
- if any(regex.fullmatch(file) for file in files):
69
- rel_path = Path(root).relative_to(base_path).as_posix()
70
- matched_folders.add(rel_path)
71
- return list(matched_folders)
44
+ # Resolve the console service from the application container
45
+ self.__console: IConsole = app.make('core.orionis.console')
72
46
 
73
47
  def handle(self) -> IUnitTest:
74
48
  """
75
- Configure, discover, and execute unit tests based on the current configuration.
49
+ Execute the unit test suite and handle any exceptions that occur during testing.
50
+
51
+ This method serves as the main entry point for running tests through the test kernel.
52
+ It executes the unit test suite via the injected unit test service and provides
53
+ comprehensive error handling for both expected test failures and unexpected errors.
54
+ The method ensures graceful termination of the application in case of any failures.
76
55
 
77
56
  Returns
78
57
  -------
79
58
  IUnitTest
80
- The configured and executed unit test instance.
59
+ The unit test service instance after successful test execution. This allows
60
+ for potential chaining of operations or access to test results.
81
61
 
82
62
  Raises
83
63
  ------
84
- OrionisTestFailureException
85
- If test execution fails.
86
- Exception
87
- If an unexpected error occurs during test execution.
64
+ SystemExit
65
+ Indirectly raised through console.exitError() when test failures or
66
+ unexpected errors occur during test execution.
88
67
  """
89
- try:
90
- self.__unit_test.configure(
91
- verbosity=self.__config.verbosity,
92
- execution_mode=self.__config.execution_mode,
93
- max_workers=self.__config.max_workers,
94
- fail_fast=self.__config.fail_fast,
95
- print_result=self.__config.print_result,
96
- throw_exception=self.__config.throw_exception,
97
- persistent=self.__config.persistent,
98
- persistent_driver=self.__config.persistent_driver,
99
- web_report=self.__config.web_report
100
- )
101
-
102
- base_path = (Path.cwd() / self.__config.base_path).resolve()
103
- folder_path = self.__config.folder_path
104
- pattern = self.__config.pattern
105
- discovered_folders = set()
106
-
107
- if folder_path == '*':
108
- discovered_folders.update(self.__listMatchingFolders(base_path, base_path, pattern))
109
- elif isinstance(folder_path, list):
110
- for custom in folder_path:
111
- custom_path = (base_path / custom).resolve()
112
- discovered_folders.update(self.__listMatchingFolders(base_path, custom_path, pattern))
113
- else:
114
- custom_path = (base_path / folder_path).resolve()
115
- discovered_folders.update(self.__listMatchingFolders(base_path, custom_path, pattern))
116
-
117
- for folder in discovered_folders:
118
- self.__unit_test.discoverTestsInFolder(
119
- folder_path=folder,
120
- base_path=self.__config.base_path,
121
- pattern=pattern,
122
- test_name_pattern=self.__config.test_name_pattern or None,
123
- tags=self.__config.tags or None
124
- )
125
68
 
69
+ # Execute the unit test suite through the injected unit test service
70
+ try:
126
71
  return self.__unit_test.run()
127
72
 
73
+ # Handle expected test failures with a descriptive error message
128
74
  except OrionisTestFailureException as e:
129
75
  self.__console.exitError(f"Test execution failed: {e}")
130
76
 
77
+ # Handle any unexpected errors that occur during test execution
131
78
  except Exception as e:
132
79
  self.__console.exitError(f"An unexpected error occurred: {e}")
@@ -1,4 +1,4 @@
1
- from orionis.support.facades.workers import Workers
1
+ from orionis.services.system.workers import Workers
2
2
  from orionis.test.exceptions import OrionisTestValueError
3
3
 
4
4
  class __ValidWorkers:
@@ -25,7 +25,7 @@ class __ValidWorkers:
25
25
  OrionisTestValueError
26
26
  If `max_workers` is not a positive integer within the allowed range.
27
27
  """
28
- max_allowed = Workers.calculate()
28
+ max_allowed = Workers().calculate()
29
29
  if not isinstance(max_workers, int) or max_workers < 1 or max_workers > max_allowed:
30
30
  raise OrionisTestValueError(
31
31
  f"Invalid max_workers: Expected a positive integer between 1 and {max_allowed}, got '{max_workers}' ({type(max_workers).__name__})."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.443.0
3
+ Version: 0.445.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
@@ -2,13 +2,16 @@ orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  orionis/app.py,sha256=b69fOzj2J8Aw5g0IldWZXixUDeeTO9vcHc_Njses9HU,603
3
3
  orionis/console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  orionis/console/kernel.py,sha256=1CuBCLR6KItRt0_m50YQXirJUMX6lJf4Z4vvOjBqaUU,856
5
- orionis/console/arguments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- orionis/console/arguments/parser.py,sha256=WRaeyRjqnwXKBLn56sK2jubS_DAPbfVQ2rtfUGluA8A,101
5
+ orionis/console/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ orionis/console/args/argument.py,sha256=ZbY8Gbxbk6pvORRL1evzXB9qGesepD0zdbMsbqfcFjw,14688
7
+ orionis/console/args/parser.py,sha256=WRaeyRjqnwXKBLn56sK2jubS_DAPbfVQ2rtfUGluA8A,101
8
+ orionis/console/args/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ orionis/console/args/enums/actions.py,sha256=S3T-vWS6DJSGtANrq3od3-90iYAjPvJwaOZ2V02y34c,1222
7
10
  orionis/console/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
11
  orionis/console/base/command.py,sha256=2kKyTaEzI16Up-XCUeNeJmDWPLN-CweQm3EgrN9U8NQ,3027
9
12
  orionis/console/base/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
13
  orionis/console/base/contracts/command.py,sha256=s9yjma-s1URkVm0EbVvSkETAm-N8xX7OnZS43P8pvk8,1957
11
- orionis/console/commands/version.py,sha256=TfiuMCcESdlNuhnbl_h9qbOb8aYDXcc5X1J5LfD1v7M,1041
14
+ orionis/console/commands/version.py,sha256=kR8xzyc-Wisk7AXqg3Do7M9xTg_CxJgAtESPGrbRtpI,1673
12
15
  orionis/console/contracts/kernel.py,sha256=mh4LlhEYHh3FuGZZQ0GBhD6ZLa5YQvaNj2r01IIHI5Y,826
13
16
  orionis/console/core/reactor.py,sha256=lNfj-L4MKZhBn07l4H5L5dVW2xBRiq6-kyIuqnUNawQ,73
14
17
  orionis/console/dumper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -65,7 +68,7 @@ orionis/container/validators/is_subclass.py,sha256=4sBaGLoRs8nUhuWjlP0VJqyTwVHYq
65
68
  orionis/container/validators/is_valid_alias.py,sha256=4uAYcq8xov7jZbXnpKpjNkxcZtlTNnL5RRctVPMwJes,1424
66
69
  orionis/container/validators/lifetime.py,sha256=IQ43fDNrxYHMlZH2zlYDJnlkLO_eS4U7Fs3UJgQBidI,1844
67
70
  orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- orionis/foundation/application.py,sha256=w_7ZNdcrL4u9a0eqQOAMiLxbnfB7ydNGFgh6xNnCVYA,76782
71
+ orionis/foundation/application.py,sha256=ErkfS6AlC817vBmVDbx_UVYmkaABuEqZCBCrkDGNmzo,76653
69
72
  orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
73
  orionis/foundation/config/startup.py,sha256=vbzduprRCNyYeR2nnMaqc1uKXw6PTzAY2jVfXNQKN8I,9691
71
74
  orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -171,12 +174,11 @@ orionis/foundation/providers/console_provider.py,sha256=wsv0RjoYU9MatC1ZRBAtV9iC
171
174
  orionis/foundation/providers/dumper_provider.py,sha256=d0k9yKVfwf40W4If0_rF09odLDXFA1w9jxU1MvZvCbo,1498
172
175
  orionis/foundation/providers/inspirational_provider.py,sha256=ZIsuEq2Sif7C1b1hYC7_mEBd0kGwd8KWd-fHyyd6Qs4,2298
173
176
  orionis/foundation/providers/logger_provider.py,sha256=PvwMxP5TKmn9DP8H8nJfyr16XgiJaGHyxPSMOpFgv84,1448
174
- orionis/foundation/providers/path_resolver_provider.py,sha256=s44Mg68RsUNPlilQlXMBE7onVexa7kyDmVQmci1JL4g,1342
175
177
  orionis/foundation/providers/progress_bar_provider.py,sha256=P__zpCyC29WCwErYGbh5dgcMRxw3XYmHzaUkzms9vPM,1345
176
- orionis/foundation/providers/testing_provider.py,sha256=o47qiK8Xoz4hfsxw4jMnMxEbSseJFIdJT-WqxGurqGc,1426
178
+ orionis/foundation/providers/testing_provider.py,sha256=fSZfwKnScTxGlGrcEPReGIiOPs8XkoEaNNARN1wC6LU,2939
177
179
  orionis/foundation/providers/workers_provider.py,sha256=YMRLdq_YQnR1unnoYvDpYQZbLli04f0CckuR6Q--wKg,1379
178
180
  orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- orionis/metadata/framework.py,sha256=0H0j_EmQM8BHWnt2ncNF6rkR_4bAOwUryKoXQsKlZ_M,4088
181
+ orionis/metadata/framework.py,sha256=192rDsW-nKtJVGcJdvakEiGySD3zpYemH8-LYFk5spQ,4088
180
182
  orionis/metadata/package.py,sha256=k7Yriyp5aUcR-iR8SK2ec_lf0_Cyc-C7JczgXa-I67w,16039
181
183
  orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
184
  orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -257,13 +259,6 @@ orionis/services/log/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
257
259
  orionis/services/log/handlers/filename.py,sha256=XKkq4Gq7N2m8F3xtyUIevTQLMaYSLJ3wC04Irs45VcE,2481
258
260
  orionis/services/log/handlers/size_rotating.py,sha256=SLg7r-XW1NWyVxN8wJxeI8jhypzdXw_jq2zg5uy3iaQ,1131
259
261
  orionis/services/log/handlers/timed_rotating.py,sha256=UJicPwHcIVl2FPRPjuiKwH3-zuiPG1YV7UYLLMPm4To,1128
260
- orionis/services/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
- orionis/services/paths/resolver.py,sha256=6XPQ4D2P-8teg_lJAC4Ju_bAxbkb5rjoR3D-CaNmYAQ,3097
262
- orionis/services/paths/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
263
- orionis/services/paths/contracts/resolver.py,sha256=3RFi2mlwqSwknYvZCnyKVcTIUEhb7k21oTs9gSP3m3U,1144
264
- orionis/services/paths/exceptions/__init__.py,sha256=r5b4D4XWNK07zLtqaXBk_PNYszScqbp_8kUN37cOk4E,184
265
- orionis/services/paths/exceptions/exception.py,sha256=cK-TbUT02X2lvbAP4yFdfHx4S45wBOcYl3_tiWd67UM,472
266
- orionis/services/paths/exceptions/file.py,sha256=bsK0QoXwRFyDeHvITxwmgaBuwiO2eoRUhRzNizmX1No,475
267
262
  orionis/services/system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
263
  orionis/services/system/imports.py,sha256=aSXG9879ur91d6OsqV2DUYWmmwbwFHX8CHb99cPfFcU,7057
269
264
  orionis/services/system/workers.py,sha256=EfGxU_w42xRnZ1yslsui3wVG8pfe__V3GYGEIyo8JxQ,3144
@@ -280,7 +275,6 @@ orionis/support/facades/console.py,sha256=OvxQ-r8PsPocJTaIUftmJnnr4SuONHQWYFz2_r
280
275
  orionis/support/facades/dumper.py,sha256=XAHJTXrMjPchGQMIAU0hlcUjMZQK_ogrE0voRm2HdI8,434
281
276
  orionis/support/facades/inspire.py,sha256=m2UbKXyggxASd0HTRT5M-mJ0FvMP_NIJ0lW8HTQMi4M,759
282
277
  orionis/support/facades/logger.py,sha256=2EbSbJDSyKFUQmZUpoMsc5704Mzj2Skehx_9UpDluhc,450
283
- orionis/support/facades/path_resolver.py,sha256=lRLbu69i8PzM-I53gzXroHIurxzyFdssNWOYMjPgqco,442
284
278
  orionis/support/facades/progress_bar.py,sha256=NOCwAV873GptedgySMZpM_A_DoM-UQrMg2kDHpS6zi8,423
285
279
  orionis/support/facades/testing.py,sha256=FJy7bnDiNHMe7jutARELHom6umDxlLVMMOj6aLm0Vak,490
286
280
  orionis/support/facades/workers.py,sha256=DJ_mSnD4budFBrPGf-epVYrSQ1AzDcJ82db0QmNTAyU,479
@@ -302,7 +296,7 @@ orionis/support/standard/exceptions/value.py,sha256=rsyWFQweImaJGTJa7Id7RhPlwWJ4
302
296
  orionis/support/wrapper/__init__.py,sha256=jGoWoIGYuRYqMYQKlrX7Dpcbg-AGkHoB_aM2xhu73yc,62
303
297
  orionis/support/wrapper/dot_dict.py,sha256=T8xWwwOhBZHNeXRwE_CxvOwG9UFxsLqNmOJjV2CNIrc,7284
304
298
  orionis/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
- orionis/test/kernel.py,sha256=OXsrfm0wLdm8eg1dvmE6kqK_0xXI6RcZJ5HUaGteGas,5185
299
+ orionis/test/kernel.py,sha256=nJJDN2xusp9VZzezfocIvoenT2BheverjSovYCbRECg,3229
306
300
  orionis/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
307
301
  orionis/test/cases/asynchronous.py,sha256=3e1Y3qzIxVU7i7lbLFEVyJ89IA74JsB7famx71W-p2E,1974
308
302
  orionis/test/cases/synchronous.py,sha256=S5jhuDEZ5I9wosrTFaCtowkD5r5HzJH6mKPOdEJcDJE,1734
@@ -315,7 +309,7 @@ orionis/test/contracts/render.py,sha256=wpDQzUtT0r8KFZ7zPcxWHXQ1EVNKxzA_rZ6ZKUcZ
315
309
  orionis/test/contracts/test_result.py,sha256=SNXJ2UerkweYn7uCT0i0HmMGP0XBrL_9KJs-0ZvIYU4,4002
316
310
  orionis/test/contracts/unit_test.py,sha256=PSnjEyM-QGQ3Pm0ZOqaa8QdPOtilGBVO4R87JYdVa-8,5386
317
311
  orionis/test/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
- orionis/test/core/unit_test.py,sha256=NiFk1u_a69JjQXBkXIzvlswoOniNm4YV4_dDGajRqQk,57400
312
+ orionis/test/core/unit_test.py,sha256=IIpPLM4pXZKCpKAZ-0PPatGuWjBXxgjKQxB8IJLB1zY,63310
319
313
  orionis/test/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
314
  orionis/test/entities/result.py,sha256=IMAd1AiwOf2z8krTDBFMpQe_1PG4YJ5Z0qpbr9xZwjg,4507
321
315
  orionis/test/enums/__init__.py,sha256=M3imAgMvKFTKg55FbtVoY3zxj7QRY9AfaUWxiSZVvn4,66
@@ -346,10 +340,10 @@ orionis/test/validators/tags.py,sha256=Qv-p8XFyAjY7OI861s52eADGf3LqzOWYfKt4L1cpo
346
340
  orionis/test/validators/throw_exception.py,sha256=PLtM94BArQf11VJhxfBHJSHARZSia-Q8ePixctU2JwQ,893
347
341
  orionis/test/validators/verbosity.py,sha256=rADzM82cPcJ2_6crszpobJuwb5WihWNQf6i4M_yrCpw,1785
348
342
  orionis/test/validators/web_report.py,sha256=n9BfzOZz6aEiNTypXcwuWbFRG0OdHNSmCNusHqc02R8,853
349
- orionis/test/validators/workers.py,sha256=HcZ3cnrk6u7cvM1xZpn_lsglHAq69_jx9RcTSvLrdb0,1204
343
+ orionis/test/validators/workers.py,sha256=rWcdRexINNEmGaO7mnc1MKUxkHKxrTsVuHgbnIfJYgc,1206
350
344
  orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
345
  orionis/test/view/render.py,sha256=f-zNhtKSg9R5Njqujbg2l2amAs2-mRVESneLIkWOZjU,4082
352
- orionis-0.443.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
346
+ orionis-0.445.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
353
347
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
354
348
  tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
355
349
  tests/container/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -383,7 +377,7 @@ tests/container/validators/test_is_subclass.py,sha256=0Uc8uIR69ZX7G5Nrex0LMQXrue
383
377
  tests/container/validators/test_is_valid_alias.py,sha256=NA9QbIEh7n2_0GeVTMCppZG4_3ya4QrcvGI_lw1iJA8,5658
384
378
  tests/container/validators/test_lifetime.py,sha256=5PequjXAcIcp0Q4TIki7THSU31XftGpI0u1mVGqHmpU,4692
385
379
  tests/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
- tests/example/test_example.py,sha256=XJEcsro3vCO5m4zvMiWUGphvd0C7oIkBtUfQgTDsdUU,25568
380
+ tests/example/test_example.py,sha256=W6lA0_uV6bNm7JZ39rHZn30LHkdq_ddrUO6T1K2raZ4,27104
387
381
  tests/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
382
  tests/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
383
  tests/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -461,8 +455,6 @@ tests/services/introspection/reflection/mock/__init__.py,sha256=47DEQpj8HBSa-_TI
461
455
  tests/services/introspection/reflection/mock/fake_reflect_instance.py,sha256=iMf_yKgk0Y91XUHhRcl2qw7Z83QeNspvLi_tl4Dp-rI,28032
462
456
  tests/services/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
463
457
  tests/services/log/test_log.py,sha256=fCI2gX9-YN1z-xPMwIlggUFHeBlqfUajQoyQu4dmao0,2868
464
- tests/services/path/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
465
- tests/services/path/test_services_resolver.py,sha256=aWSSFgV_D10t3llUeCWEBB1mF3dWrZbFn5XbJy2sQME,3903
466
458
  tests/services/system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
467
459
  tests/services/system/test_services_system_imports.py,sha256=jbtIQkw_4DI6x2E-4Lg3evnLAgCgDIBWE63LdJTLkxc,7507
468
460
  tests/services/system/test_services_system_workers.py,sha256=wITbpJHKW_OXqTaFeteNRFuw5Q3_7d9lWNJnFE2r6to,5052
@@ -495,8 +487,8 @@ tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
495
487
  tests/testing/validators/test_testing_validators.py,sha256=WPo5GxTP6xE-Dw3X1vZoqOMpb6HhokjNSbgDsDRDvy4,16588
496
488
  tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
497
489
  tests/testing/view/test_render.py,sha256=tnnMBwS0iKUIbogLvu-7Rii50G6Koddp3XT4wgdFEYM,1050
498
- orionis-0.443.0.dist-info/METADATA,sha256=O2L-DtPlApeU58Vi-0VNQlTpec1YZ6R7QCzdNjFBm0M,4772
499
- orionis-0.443.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
500
- orionis-0.443.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
501
- orionis-0.443.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
502
- orionis-0.443.0.dist-info/RECORD,,
490
+ orionis-0.445.0.dist-info/METADATA,sha256=7gz5KAzfzBJKnWCXoyTfW7Izx8pbJGm9SR-LDA3F4rQ,4772
491
+ orionis-0.445.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
492
+ orionis-0.445.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
493
+ orionis-0.445.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
494
+ orionis-0.445.0.dist-info/RECORD,,