hexkit 3.0.0__tar.gz → 3.0.1__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.
- {hexkit-3.0.0/src/hexkit.egg-info → hexkit-3.0.1}/PKG-INFO +1 -1
- {hexkit-3.0.0 → hexkit-3.0.1}/pyproject.toml +21 -2
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/mongodb/testutils.py +3 -1
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/mongokafka/__init__.py +3 -1
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/testutils.py +3 -3
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/testing/eventpub.py +1 -1
- {hexkit-3.0.0 → hexkit-3.0.1/src/hexkit.egg-info}/PKG-INFO +1 -1
- {hexkit-3.0.0 → hexkit-3.0.1}/LICENSE +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/MANIFEST.in +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/README.md +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/setup.cfg +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/__main__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/base.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/config.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/correlation.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/custom_types.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/log.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/dao.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/daopub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/daosub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/eventpub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/eventsub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/protocols/objstorage.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/config.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/provider/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/provider/daosub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/provider/eventpub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/provider/eventsub.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/provider/utils.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/testcontainer.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/akafka/testutils.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/mongodb/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/mongodb/provider.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/mongokafka/provider.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/provider.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/test_files/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/test_files/test_file1.yaml +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/test_files/test_file2.yaml +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/test_files/test_file3.yaml +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/s3/test_files/test_file4.yaml +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/providers/testing/__init__.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/py.typed +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit/utils.py +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit.egg-info/SOURCES.txt +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit.egg-info/dependency_links.txt +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit.egg-info/requires.txt +0 -0
- {hexkit-3.0.0 → hexkit-3.0.1}/src/hexkit.egg-info/top_level.txt +0 -0
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
|
23
23
|
"Intended Audience :: Developers",
|
|
24
24
|
]
|
|
25
25
|
name = "hexkit"
|
|
26
|
-
version = "3.0.
|
|
26
|
+
version = "3.0.1"
|
|
27
27
|
description = "A Toolkit for Building Microservices using the Hexagonal Architecture"
|
|
28
28
|
dependencies = [
|
|
29
29
|
"pydantic >=2, <3",
|
|
@@ -113,6 +113,7 @@ ignore = [
|
|
|
113
113
|
"D107",
|
|
114
114
|
"D206",
|
|
115
115
|
"D300",
|
|
116
|
+
"UP040",
|
|
116
117
|
]
|
|
117
118
|
select = [
|
|
118
119
|
"C90",
|
|
@@ -183,4 +184,22 @@ source = [
|
|
|
183
184
|
]
|
|
184
185
|
|
|
185
186
|
[tool.tox]
|
|
186
|
-
legacy_tox_ini = "
|
|
187
|
+
legacy_tox_ini = """
|
|
188
|
+
[tox]
|
|
189
|
+
env_list = py3{9,12}
|
|
190
|
+
|
|
191
|
+
[gh-actions]
|
|
192
|
+
python =
|
|
193
|
+
3.9: py39
|
|
194
|
+
3.10: py310
|
|
195
|
+
3.11: py311
|
|
196
|
+
3.12: py312
|
|
197
|
+
|
|
198
|
+
[testenv]
|
|
199
|
+
pass_env =
|
|
200
|
+
TC_HOST
|
|
201
|
+
DOCKER_HOST
|
|
202
|
+
deps =
|
|
203
|
+
--no-deps -r ./lock/requirements-dev.txt
|
|
204
|
+
commands = pytest {posargs}
|
|
205
|
+
"""
|
|
@@ -31,6 +31,8 @@ from testcontainers.mongodb import MongoDbContainer
|
|
|
31
31
|
from hexkit.custom_types import PytestScope
|
|
32
32
|
from hexkit.providers.mongodb.provider import MongoDbConfig, MongoDbDaoFactory
|
|
33
33
|
|
|
34
|
+
MONGODB_IMAGE = "mongo:6.0.3"
|
|
35
|
+
|
|
34
36
|
|
|
35
37
|
@dataclass(frozen=True)
|
|
36
38
|
class MongoDbFixture:
|
|
@@ -77,7 +79,7 @@ def mongodb_fixture_function() -> Generator[MongoDbFixture, None, None]:
|
|
|
77
79
|
|
|
78
80
|
**Do not call directly** Instead, use get_mongodb_fixture()
|
|
79
81
|
"""
|
|
80
|
-
with MongoDbContainer(image=
|
|
82
|
+
with MongoDbContainer(image=MONGODB_IMAGE) as mongodb:
|
|
81
83
|
config = config_from_mongodb_container(mongodb)
|
|
82
84
|
dao_factory = MongoDbDaoFactory(config=config)
|
|
83
85
|
client = mongodb.get_connection_client()
|
|
@@ -16,4 +16,6 @@
|
|
|
16
16
|
|
|
17
17
|
"""An implementation of the DaoPublisherFactoryProtocol based on MongoDB and Apache Kafka."""
|
|
18
18
|
|
|
19
|
-
from .provider import MongoKafkaConfig, MongoKafkaDaoPublisherFactory
|
|
19
|
+
from .provider import MongoKafkaConfig, MongoKafkaDaoPublisherFactory
|
|
20
|
+
|
|
21
|
+
__all__ = ["MongoKafkaConfig", "MongoKafkaDaoPublisherFactory"]
|
|
@@ -38,6 +38,8 @@ from hexkit.custom_types import PytestScope
|
|
|
38
38
|
from hexkit.protocols.objstorage import ObjectStorageProtocol, PresignedPostURL
|
|
39
39
|
from hexkit.providers.s3.provider import S3Config, S3ObjectStorage
|
|
40
40
|
|
|
41
|
+
LOCALSTACK_IMAGE = "localstack/localstack:0.14.5"
|
|
42
|
+
|
|
41
43
|
TEST_FILE_DIR = Path(__file__).parent.resolve() / "test_files"
|
|
42
44
|
|
|
43
45
|
TEST_FILE_PATHS = [
|
|
@@ -123,9 +125,7 @@ def s3_fixture_function() -> Generator[S3Fixture, None, None]:
|
|
|
123
125
|
|
|
124
126
|
**Do not call directly** Instead, use get_s3_fixture()
|
|
125
127
|
"""
|
|
126
|
-
with LocalStackContainer(image=
|
|
127
|
-
"s3"
|
|
128
|
-
) as localstack:
|
|
128
|
+
with LocalStackContainer(image=LOCALSTACK_IMAGE).with_services("s3") as localstack:
|
|
129
129
|
config = config_from_localstack_container(localstack)
|
|
130
130
|
|
|
131
131
|
storage = S3ObjectStorage(config=config)
|
|
@@ -67,7 +67,7 @@ class InMemEventPublisher(EventPublisherProtocol):
|
|
|
67
67
|
"""
|
|
68
68
|
An in-memory EventPublisher for testing purposes.
|
|
69
69
|
Please note, this only works when publisher and consumers are running in the same
|
|
70
|
-
thread. Not suitable for inter-thread or inter-process
|
|
70
|
+
thread. Not suitable for inter-thread or inter-process communication.
|
|
71
71
|
"""
|
|
72
72
|
|
|
73
73
|
def __init__(self, event_store: Optional[InMemEventStore] = None):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|