orionis 0.222.0__py3-none-any.whl → 0.224.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.
- orionis/framework.py +1 -1
- orionis/luminate/application.py +1 -1
- orionis/luminate/container/resolve.py +1 -1
- orionis/luminate/contracts/facades/facade.py +1 -1
- orionis/luminate/support/{async_io/async_coroutine.py → asynchrony/async_io.py} +4 -9
- orionis/luminate/support/asynchrony/contracts/__init__.py +0 -0
- orionis/luminate/support/{async_io → asynchrony}/contracts/async_coroutine.py +2 -7
- orionis/luminate/support/paths/__init__.py +0 -0
- orionis/luminate/support/paths/contracts/__init__.py +0 -0
- orionis/luminate/support/paths/contracts/resolver.py +67 -0
- orionis/luminate/support/paths/resolver.py +83 -0
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/METADATA +1 -1
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/RECORD +21 -14
- tests/support/async_io/test_async_coroutine.py +5 -5
- tests/support/path/__init__.py +0 -0
- tests/support/path/test_resolver.py +33 -0
- /orionis/luminate/support/{async_io → asynchrony}/__init__.py +0 -0
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/LICENCE +0 -0
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/WHEEL +0 -0
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/entry_points.txt +0 -0
- {orionis-0.222.0.dist-info → orionis-0.224.0.dist-info}/top_level.txt +0 -0
orionis/framework.py
CHANGED
orionis/luminate/application.py
CHANGED
@@ -10,7 +10,7 @@ from orionis.luminate.foundation.environment.environment_bootstrapper import Env
|
|
10
10
|
from orionis.luminate.foundation.exceptions.exception_bootstrapper import BootstrapRuntimeError
|
11
11
|
from orionis.luminate.foundation.providers.service_providers_bootstrapper import ServiceProvidersBootstrapper
|
12
12
|
from orionis.luminate.patterns.singleton import SingletonMeta
|
13
|
-
from orionis.luminate.support.async_io
|
13
|
+
from orionis.luminate.support.async.async_io import AsyncExecutor
|
14
14
|
|
15
15
|
class Application(metaclass=SingletonMeta):
|
16
16
|
"""
|
@@ -1,7 +1,7 @@
|
|
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_io
|
4
|
+
from orionis.luminate.support.async.async_io import AsyncExecutor
|
5
5
|
|
6
6
|
class Resolve:
|
7
7
|
"""
|
@@ -1,25 +1,20 @@
|
|
1
1
|
import asyncio
|
2
2
|
from inspect import iscoroutine
|
3
3
|
from typing import Any, Coroutine, TypeVar, Union
|
4
|
-
from orionis.luminate.support.
|
4
|
+
from orionis.luminate.support.asynchrony.contracts.async_coroutine import IAsyncIO
|
5
5
|
|
6
6
|
T = TypeVar("T")
|
7
7
|
|
8
|
-
class
|
8
|
+
class AsyncIO(IAsyncIO):
|
9
9
|
"""
|
10
10
|
A utility class for executing coroutine objects in various asynchronous and synchronous contexts.
|
11
11
|
This class provides a static method to execute coroutine objects, handling different scenarios
|
12
12
|
such as running within an active event loop (e.g., in Jupyter notebooks or Starlette) or in a
|
13
|
-
synchronous context without an active event
|
14
|
-
|
15
|
-
Methods
|
16
|
-
-------
|
17
|
-
execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]
|
18
|
-
Executes the given coroutine object, adapting to the current execution context.
|
13
|
+
synchronous context without an active event
|
19
14
|
"""
|
20
15
|
|
21
16
|
@staticmethod
|
22
|
-
def
|
17
|
+
def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
|
23
18
|
"""
|
24
19
|
Executes the given coroutine object, adapting to the current execution context.
|
25
20
|
If there is an active event loop, it uses `asyncio.ensure_future` to schedule the coroutine.
|
File without changes
|
@@ -3,18 +3,13 @@ from typing import Any, Coroutine, TypeVar, Union
|
|
3
3
|
|
4
4
|
T = TypeVar("T")
|
5
5
|
|
6
|
-
class
|
6
|
+
class IAsyncIO:
|
7
7
|
"""
|
8
8
|
Interface for executing asynchronous coroutines.
|
9
|
-
|
10
|
-
Methods
|
11
|
-
-------
|
12
|
-
execute(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]
|
13
|
-
Executes the given coroutine.
|
14
9
|
"""
|
15
10
|
|
16
11
|
@staticmethod
|
17
|
-
def
|
12
|
+
def run(coro: Coroutine[Any, Any, T]) -> Union[T, asyncio.Future]:
|
18
13
|
"""
|
19
14
|
Execute the given coroutine.
|
20
15
|
|
File without changes
|
File without changes
|
@@ -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
|
orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
orionis/console.py,sha256=4gYWxf0fWYgJ4RKwARvnTPh06FL3GJ6SAZ7R2NzOICw,1342
|
3
|
-
orionis/framework.py,sha256=
|
3
|
+
orionis/framework.py,sha256=3F5KZQ8W8qdPtBHjubSoVCZkgsoMLL27SKYH_ao6JwA,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
|
@@ -10,7 +10,7 @@ orionis/installer/contracts/manager.py,sha256=Zfndhuyu0JaTKo3PsGsKmVsvotQMw8Pmt4
|
|
10
10
|
orionis/installer/contracts/output.py,sha256=t1KLw610-hHy63UbFFE2BYwWHWRbW8_ofuEvRLx_IUE,983
|
11
11
|
orionis/installer/contracts/setup.py,sha256=aWYkCv-z48bXXZynYapc3uMIE1gyO6XnkTw3b4MTBq4,784
|
12
12
|
orionis/luminate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
-
orionis/luminate/application.py,sha256=
|
13
|
+
orionis/luminate/application.py,sha256=q48CQ79vuSjg1WbU6cqMnxdyQctCtqxyvLyGuo_C7Go,9532
|
14
14
|
orionis/luminate/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
orionis/luminate/config/app.py,sha256=o-Ons0LMp77_E18e_dx_DqGVbjaY2l-5RdVSCILxgfg,1655
|
16
16
|
orionis/luminate/config/auth.py,sha256=ivAUgoEYEtfdC49vDwOl_MXFUVAQnUJTc8iG3Lu0Stc,430
|
@@ -48,7 +48,7 @@ orionis/luminate/container/container.py,sha256=9xdODX1h4YK6V-THrfgm5XN95imobExzr
|
|
48
48
|
orionis/luminate/container/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
|
49
49
|
orionis/luminate/container/exception.py,sha256=ap1SqYEjQEEHXJJTNmL7V1jrmRjgT5_7geZ95MYkhMA,1691
|
50
50
|
orionis/luminate/container/lifetimes.py,sha256=2lbdiV7R2WlJf1cLD6eBxLnJud_lZvX1IhQH2Djy3Ww,375
|
51
|
-
orionis/luminate/container/resolve.py,sha256=
|
51
|
+
orionis/luminate/container/resolve.py,sha256=JZCCwdGOHkd7gc8t7AMars2dmbqEr_k2XnNbNU6kTlk,2312
|
52
52
|
orionis/luminate/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
53
|
orionis/luminate/contracts/application.py,sha256=FIR6WMY0y-Hkjp0jWfjJV9kwIqBb-RB1-Jl0GWCk9eI,1077
|
54
54
|
orionis/luminate/contracts/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -67,7 +67,7 @@ orionis/luminate/contracts/console/output/progress_bar.py,sha256=sOkQzQsliFemqZH
|
|
67
67
|
orionis/luminate/contracts/container/container.py,sha256=rLOS1eYir1e1e06OVNTGESbR24rFOIU1CVni_8AbHgs,8802
|
68
68
|
orionis/luminate/contracts/container/container_integrity.py,sha256=xigWcyxLUaFoWXEI75ucJ50Ypw2NtOiRp_CgOY3Qk20,4408
|
69
69
|
orionis/luminate/contracts/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
orionis/luminate/contracts/facades/facade.py,sha256=
|
70
|
+
orionis/luminate/contracts/facades/facade.py,sha256=LYrZ8tE86w6GpFqMpBQE49KZShL5xAk3qhsig8jh8RQ,1506
|
71
71
|
orionis/luminate/contracts/facades/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
72
|
orionis/luminate/contracts/facades/commands/commands_facade.py,sha256=LpSfZb3lTmhgMx0H42NmFbKLvcOqSDIbpQrkQpF9RPY,1274
|
73
73
|
orionis/luminate/contracts/facades/commands/scheduler_facade.py,sha256=CR2E7WbYGt8ZMpekUzWBHCor3FEnBmYMDwPfKSYPq84,947
|
@@ -160,9 +160,10 @@ orionis/luminate/services/log/log_service.py,sha256=jrCrKz7Uj6n_ri-v5A4YOILQGUQ9
|
|
160
160
|
orionis/luminate/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
161
|
orionis/luminate/support/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
162
|
orionis/luminate/support/adapters/dot_dict.py,sha256=FVHfBuAGTTVMjNG01Fix645fRNKKUMmNx61pYkxPL5c,1253
|
163
|
-
orionis/luminate/support/
|
164
|
-
orionis/luminate/support/async_io
|
165
|
-
orionis/luminate/support/
|
163
|
+
orionis/luminate/support/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
+
orionis/luminate/support/asynchrony/async_io.py,sha256=IkgVrJnnvNExkhy9brfZpTq2EXptyg3ZB2_ZSH9xDe8,1591
|
165
|
+
orionis/luminate/support/asynchrony/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
|
+
orionis/luminate/support/asynchrony/contracts/async_coroutine.py,sha256=lwtDa6r7I6qbxzKr5MyJtMRaYW6e5j2dbymEPNaNIEo,614
|
166
167
|
orionis/luminate/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
168
|
orionis/luminate/support/inspection/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
|
168
169
|
orionis/luminate/support/inspection/functions.py,sha256=4wDT7iNp-5l4vuHk0UsIxN9wakASJRD4V0KY24uMDzk,7227
|
@@ -181,6 +182,10 @@ orionis/luminate/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
181
182
|
orionis/luminate/support/parsers/exception_parser.py,sha256=6MTeql76c1Muh9Nn-jz2jJdzb9_F7SLdoFjqBD5F8lY,3642
|
182
183
|
orionis/luminate/support/parsers/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
184
|
orionis/luminate/support/parsers/contracts/exception_parser.py,sha256=HcWN7nJrvD7xLREPKEnBhyG30IkkAB7Bx_hGpcfb0ZE,912
|
185
|
+
orionis/luminate/support/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
186
|
+
orionis/luminate/support/paths/resolver.py,sha256=hsJCY0kvYGqSGuiZL-IdVp2YShiaOvbWKcbwqTHc9X0,2829
|
187
|
+
orionis/luminate/support/paths/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
188
|
+
orionis/luminate/support/paths/contracts/resolver.py,sha256=v7uTgByE2nQS2ZM_b1rtMzY6HH03MNKfAYQoTswPf9o,1627
|
184
189
|
orionis/luminate/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
185
190
|
orionis/luminate/support/patterns/singleton.py,sha256=b3U0nubKSQWyal5wTXADVPtOztkaTk-M8Zwy-bje1L0,1425
|
186
191
|
orionis/luminate/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -217,7 +222,7 @@ tests/support/adapters/test_doct_dict.py,sha256=Rh0wUZLBErqrzwoRSUa7t1rpRm-Qp-HR
|
|
217
222
|
tests/support/adapters/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
218
223
|
tests/support/adapters/fakes/fake_dict.py,sha256=KD48_xBc8pqj3LAe1_v1esu-1Fdz8fL5eZ70LSqkcbg,393
|
219
224
|
tests/support/async_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
220
|
-
tests/support/async_io/test_async_coroutine.py,sha256=
|
225
|
+
tests/support/async_io/test_async_coroutine.py,sha256=qXmpfyqaeNUSRQFdKVViGiF2FsRQle9VqyFeR-jAetg,1532
|
221
226
|
tests/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
222
227
|
tests/support/inspection/test_reflection_abstract.py,sha256=6w8vm8H_fR4Z-KYjQGm8bq-HcetlpQl0EsDmDy3WzQ8,9311
|
223
228
|
tests/support/inspection/test_reflection_concrete.py,sha256=3BWSU7MkFEv2UgAVAwhiaMrzEwAyDBBJCa6edOENKSU,6782
|
@@ -234,13 +239,15 @@ tests/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
234
239
|
tests/support/parsers/test_exception_parser.py,sha256=s-ZRbxyr9bs5uis2SM0IN-vCc-AJhWqRnEMIVgeEFXE,2363
|
235
240
|
tests/support/parsers/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
236
241
|
tests/support/parsers/fakes/fake_custom_error.py,sha256=BD8tQPhmIYFYVcaeMpEQ6uK1d6pcU4EGbwRkVfCZp7c,802
|
242
|
+
tests/support/path/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
243
|
+
tests/support/path/test_resolver.py,sha256=VkHeHu87Hmmq4_mHB6jM8OsjxDyWgB-5E7KGAn-dRe0,1258
|
237
244
|
tests/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
238
245
|
tests/support/patterns/test_singleton.py,sha256=U5uwpgGcP7-fIazsnFLwg30mmc24S62udhVIHuL-scY,634
|
239
246
|
tests/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
240
247
|
tests/support/standard/test_std.py,sha256=bJ5LV_OKEEZa_Bk3PTk9Kapk6qECLzcKf0hfR_x2QqM,2042
|
241
|
-
orionis-0.
|
242
|
-
orionis-0.
|
243
|
-
orionis-0.
|
244
|
-
orionis-0.
|
245
|
-
orionis-0.
|
246
|
-
orionis-0.
|
248
|
+
orionis-0.224.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
|
249
|
+
orionis-0.224.0.dist-info/METADATA,sha256=VRshDyImo10teazzW8pRZqjFDyKlT0pbXPJArTE2hKM,3003
|
250
|
+
orionis-0.224.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
251
|
+
orionis-0.224.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
|
252
|
+
orionis-0.224.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
253
|
+
orionis-0.224.0.dist-info/RECORD,,
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from orionis.luminate.support.async_io
|
1
|
+
from orionis.luminate.support.asynchrony.async_io import AsyncIO
|
2
2
|
from orionis.luminate.test.test_case import TestCase
|
3
3
|
|
4
|
-
class
|
4
|
+
class TestsAsyncIO(TestCase):
|
5
5
|
|
6
6
|
async def testExecuteWithActiveEventLoop(self):
|
7
7
|
"""
|
@@ -12,7 +12,7 @@ class TestsAsyncCoroutine(TestCase):
|
|
12
12
|
async def sample_coroutine():
|
13
13
|
return "Hello, World!"
|
14
14
|
|
15
|
-
result = await
|
15
|
+
result = await AsyncIO.run(sample_coroutine())
|
16
16
|
self.assertEqual(result, "Hello, World!")
|
17
17
|
|
18
18
|
def testExecuteWithoutActiveEventLoop(self):
|
@@ -23,7 +23,7 @@ class TestsAsyncCoroutine(TestCase):
|
|
23
23
|
async def sample_coroutine():
|
24
24
|
return "Hello, World!"
|
25
25
|
|
26
|
-
result =
|
26
|
+
result = AsyncIO.run(sample_coroutine())
|
27
27
|
self.assertEqual(result, "Hello, World!")
|
28
28
|
|
29
29
|
def testExecuteWithNonCoroutine(self):
|
@@ -35,4 +35,4 @@ class TestsAsyncCoroutine(TestCase):
|
|
35
35
|
return "Hello, World!"
|
36
36
|
|
37
37
|
with self.assertRaises(TypeError):
|
38
|
-
|
38
|
+
AsyncIO.run(sample_no_coroutine())
|
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
|
File without changes
|
File without changes
|
File without changes
|