Skip to content

Commit 7cb6708

Browse files
committed
CCM-13278: Add Python sender lookup utility
1 parent f6c791e commit 7cb6708

13 files changed

Lines changed: 682 additions & 3 deletions

File tree

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ dependencies:: # Install dependencies needed to build and test the project @Pipe
1515
$(MAKE) -C lambdas/mesh-acknowledge install
1616
$(MAKE) -C utils/metric-publishers install
1717
$(MAKE) -C utils/event-publisher-py install
18+
$(MAKE) -C utils/sender-management install
1819
$(MAKE) -C utils/py-mock-mesh install
1920
npm install --workspaces
2021
$(MAKE) generate
@@ -46,6 +47,7 @@ clean:: # Clean-up project resources (main) @Operations
4647
$(MAKE) -C utils/metric-publishers clean && \
4748
$(MAKE) -C utils/event-publisher-py clean && \
4849
$(MAKE) -C utils/py-mock-mesh clean && \
50+
$(MAKE) -C utils/sender-management clean && \
4951
$(MAKE) -C src/python-schema-generator clean && \
5052
rm -f .version
5153
npm run clean

scripts/config/sonar-scanner.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ sonar.coverage.exclusions=\
2828
src/eventcatalogasyncapiimporter/examples.py
2929

3030
# Coverage reports
31-
sonar.python.coverage.reportPaths=.coverage/coverage.xml,src/asyncapigenerator/coverage.xml,src/cloudeventjekylldocs/coverage.xml,src/eventcatalogasyncapiimporter/coverage.xml,utils/event-publisher-py/coverage.xml,utils/metric-publishers/coverage.xml,lambdas/mesh-acknowledge/coverage.xml,src/python-schema-generator/coverage.xml
31+
sonar.python.coverage.reportPaths=.coverage/coverage.xml,src/asyncapigenerator/coverage.xml,src/cloudeventjekylldocs/coverage.xml,src/eventcatalogasyncapiimporter/coverage.xml,utils/event-publisher-py/coverage.xml,utils/metric-publishers/coverage.xml,utils/sender-management/coverage.xml,lambdas/mesh-acknowledge/coverage.xml,src/python-schema-generator/coverage.xml
3232
sonar.javascript.lcov.reportPaths=lcov.info,src/cloudevents/coverage/lcov.info
3333
sonar.typescript.lcov.reportPaths=lcov.info,src/cloudevents/coverage/lcov.info

scripts/tests/unit.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ echo "Setting up and running metric-publishers tests..."
4444
make -C ./utils/metric-publishers install-dev
4545
make -C ./utils/metric-publishers coverage # Run with coverage to generate coverage.xml for SonarCloud
4646

47+
# Python utility packages - sender-management
48+
echo "Setting up and running Python sender-management tests..."
49+
make -C ./utils/sender-management install-dev
50+
make -C ./utils/sender-management coverage # Run with coverage to generate coverage.xml for SonarCloud
51+
4752
# Python Lambda - mesh-acknowledge
4853
echo "Setting up and running mesh-acknowledge tests..."
4954
make -C ./lambdas/mesh-acknowledge install-dev

utils/sender-management/Makefile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
.PHONY: install install-dev test coverage clean
2+
3+
install:
4+
pip install -r requirements.txt
5+
6+
install-dev: install
7+
pip install -r requirements-dev.txt
8+
9+
test:
10+
cd ../.. && PYTHONPATH=utils/sender-management:$$PYTHONPATH pytest utils/sender-management/sender_management/__tests__/ -v
11+
12+
coverage:
13+
cd ../.. && PYTHONPATH=utils/sender-management:$$PYTHONPATH pytest utils/sender-management/sender_management/__tests__/ \
14+
--cov=utils/sender-management/sender_management \
15+
--cov-config=utils/sender-management/pytest.ini \
16+
--cov-report=html:utils/sender-management/htmlcov \
17+
--cov-report=term-missing \
18+
--cov-report=xml:utils/sender-management/coverage.xml \
19+
--cov-branch
20+
21+
lint:
22+
pylint sender_management
23+
24+
format:
25+
autopep8 -ri .
26+
27+
clean:
28+
rm -rf .coverage htmlcov/ .pytest_cache/ coverage.xml
29+
find . -type d -name __pycache__ -exec rm -rf {} +
30+
find . -type f -name '*.pyc' -delete

utils/sender-management/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
"private": true,
2121
"scripts": {
2222
"cli": "tsx ./src/entrypoint/cli/index.ts",
23-
"lint": "eslint .",
24-
"lint:fix": "eslint . --fix",
23+
"lint": "eslint src",
24+
"lint:fix": "eslint src --fix",
2525
"test:unit": "jest",
2626
"typecheck": "tsc --noEmit"
2727
},

utils/sender-management/pytest.ini

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[pytest]
2+
python_files = test_*.py
3+
python_classes = Test*
4+
python_functions = test_*
5+
testpaths = sender_management/__tests__
6+
addopts = -v --tb=short
7+
8+
[coverage:run]
9+
relative_files = True
10+
omit =
11+
*/sender_management/__tests__/*
12+
*/test_*.py
13+
*/__pycache__/*
14+
*/venv/*
15+
*/.venv/*
16+
*/env/*
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-r requirements.txt
2+
autopep8>=2.0.2
3+
pylint>=2.17.4
4+
pytest>=8.0.0
5+
pytest-cov>=6.0.0

utils/sender-management/requirements.txt

Whitespace-only changes.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"""Sender Management package.
2+
3+
This package provides utilities for managing and looking up MESH sender information
4+
"""
5+
6+
from .sender_lookup import *
7+
8+
__all__ = ["sender_lookup"]

0 commit comments

Comments
 (0)