[![Python Version](http://img.shields.io/badge/Python-3.12-blue.svg)](https://www.python.org/downloads/release/python-370/)
[![PyPi Version](http://img.shields.io/pypi/v/tdl-client-python.svg)](https://pypi.python.org/pypi/tdl-client-python)
# tdl-client-python Development
### Submodules
Project contains submodules as mentioned in the `.gitmodules` file:
- broker
- tdl/client (gets cloned into test/features)
- wiremock
### Getting started
Requirements:
- `Python 3.10` (support for `Python 2.x` has been dropped)
- `pip` (ensure it supports `Python 3.10`)
Python client to connect to the central kata server.
Update submodules
```
git submodule update --init
```
Setting up a development environment:
```
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
```
Your virtualenv will be created in `./venv/`
# Testing
All test require the ActiveMQ broker and Wiremock to be started.
Start ActiveMQ
```shell
export ACTIVEMQ_CONTAINER=apache/activemq-classic:6.1.0
docker run -d -it --rm -p 28161:8161 -p 21613:61613 --name activemq ${ACTIVEMQ_CONTAINER}
```
The ActiveMQ web UI can be accessed at:
http://localhost:28161/admin/
use admin/admin to login
Start two Wiremock servers
```shell
export WIREMOCK_CONTAINER=wiremock/wiremock:3.7.0
docker run -d -it --rm -p 8222:8080 --name challenge-server ${WIREMOCK_CONTAINER}
docker run -d -it --rm -p 41375:8080 --name recording-server ${WIREMOCK_CONTAINER}
```
The Wiremock admin UI can be found at:
http://localhost:8222/__admin/
and docs at
http://localhost:8222/__admin/docs
# Cleanup
Stop dependencies
```
docker stop activemq
docker stop recording-server
docker stop challenge-server
```
# Tests
Running all the tests,
```
behave
```
Pass arguments to behave, e.g. to run a specific scenario,
```
$ behave test/features/queue/QueueRunner.feature:154
```
or
```
$ behave -n "Process message then publish"
```
See `behave` [docs](https://python-behave.readthedocs.io/en/latest/behave.html) for more details.
## Distributable
Run the below to generate a distributable archive:
```bash
python3 -m build
```
The `tdl-client-python-x.xx.x.tar.gz` archive can be found in the `dist` folder.
# To release
Run
```
./release.sh
```
Raw data
{
"_id": null,
"home_page": "https://github.com/julianghionoiu/tdl-client-python",
"name": "tdl-client-python",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "kata, activemq, rpc",
"author": "Julian Ghionoiu",
"author_email": "julian.ghionoiu@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2c/97/583304407aefe448c6f40b905f8001e29101aeaf1740f1bb42e5513aef81/tdl_client_python-0.27.13.tar.gz",
"platform": null,
"description": "\n[![Python Version](http://img.shields.io/badge/Python-3.12-blue.svg)](https://www.python.org/downloads/release/python-370/)\n[![PyPi Version](http://img.shields.io/pypi/v/tdl-client-python.svg)](https://pypi.python.org/pypi/tdl-client-python)\n\n# tdl-client-python Development\n\n### Submodules\n\nProject contains submodules as mentioned in the `.gitmodules` file:\n\n- broker\n- tdl/client (gets cloned into test/features)\n- wiremock \n\n### Getting started\n\nRequirements:\n- `Python 3.10` (support for `Python 2.x` has been dropped)\n- `pip` (ensure it supports `Python 3.10`)\n\nPython client to connect to the central kata server.\n\nUpdate submodules\n```\ngit submodule update --init\n```\n\nSetting up a development environment:\n```\npython3 -m venv venv\n. venv/bin/activate\npip install -r requirements.txt\n```\nYour virtualenv will be created in `./venv/`\n\n\n# Testing\n \nAll test require the ActiveMQ broker and Wiremock to be started.\n\nStart ActiveMQ\n```shell\nexport ACTIVEMQ_CONTAINER=apache/activemq-classic:6.1.0\ndocker run -d -it --rm -p 28161:8161 -p 21613:61613 --name activemq ${ACTIVEMQ_CONTAINER}\n```\n\nThe ActiveMQ web UI can be accessed at:\nhttp://localhost:28161/admin/\nuse admin/admin to login\n\nStart two Wiremock servers\n```shell\nexport WIREMOCK_CONTAINER=wiremock/wiremock:3.7.0\ndocker run -d -it --rm -p 8222:8080 --name challenge-server ${WIREMOCK_CONTAINER}\ndocker run -d -it --rm -p 41375:8080 --name recording-server ${WIREMOCK_CONTAINER}\n```\n\nThe Wiremock admin UI can be found at:\nhttp://localhost:8222/__admin/\nand docs at\nhttp://localhost:8222/__admin/docs\n\n\n# Cleanup\n\nStop dependencies\n```\ndocker stop activemq\ndocker stop recording-server\ndocker stop challenge-server\n```\n\n\n# Tests\n\nRunning all the tests,\n```\nbehave\n```\n\nPass arguments to behave, e.g. to run a specific scenario,\n\n```\n$ behave test/features/queue/QueueRunner.feature:154\n```\n\nor\n\n```\n$ behave -n \"Process message then publish\"\n```\n\nSee `behave` [docs](https://python-behave.readthedocs.io/en/latest/behave.html) for more details.\n\n## Distributable\n\nRun the below to generate a distributable archive:\n\n```bash\npython3 -m build\n```\n\nThe `tdl-client-python-x.xx.x.tar.gz` archive can be found in the `dist` folder.\n\n\n# To release\n\nRun\n\n```\n./release.sh\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "tdl-client-python",
"version": "0.27.13",
"project_urls": {
"Download": "https://github.com/julianghionoiu/tdl-client-python/archive/v0.27.13.tar.gz",
"Homepage": "https://github.com/julianghionoiu/tdl-client-python"
},
"split_keywords": [
"kata",
" activemq",
" rpc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e64b7c53f1d6bcaf6d5b99c69b574dee315b02ddbc9e6687baae29dbf44a3e2b",
"md5": "9c72d7a268eac24f7e54843d0d8e20ad",
"sha256": "81bb1bba605abe681d2f03383f4e907b04fb9e2ef5075361d00903ee269338b0"
},
"downloads": -1,
"filename": "tdl_client_python-0.27.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9c72d7a268eac24f7e54843d0d8e20ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18076,
"upload_time": "2024-06-28T14:26:21",
"upload_time_iso_8601": "2024-06-28T14:26:21.042520Z",
"url": "https://files.pythonhosted.org/packages/e6/4b/7c53f1d6bcaf6d5b99c69b574dee315b02ddbc9e6687baae29dbf44a3e2b/tdl_client_python-0.27.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c97583304407aefe448c6f40b905f8001e29101aeaf1740f1bb42e5513aef81",
"md5": "33c0c5722d2e87900eae1fe709e07526",
"sha256": "550470e5a8f405294abdf84e3d04d3536b8108591246a8364ddb6cfc7b395bff"
},
"downloads": -1,
"filename": "tdl_client_python-0.27.13.tar.gz",
"has_sig": false,
"md5_digest": "33c0c5722d2e87900eae1fe709e07526",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14303,
"upload_time": "2024-06-28T14:26:22",
"upload_time_iso_8601": "2024-06-28T14:26:22.767209Z",
"url": "https://files.pythonhosted.org/packages/2c/97/583304407aefe448c6f40b905f8001e29101aeaf1740f1bb42e5513aef81/tdl_client_python-0.27.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-28 14:26:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "julianghionoiu",
"github_project": "tdl-client-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "behave",
"specs": [
[
"==",
"1.2.6"
]
]
},
{
"name": "PyHamcrest",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "coverage",
"specs": [
[
"==",
"7.5.4"
]
]
},
{
"name": "stomp.py",
"specs": [
[
"==",
"8.1.2"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.1"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"70.1.1"
]
]
}
],
"lcname": "tdl-client-python"
}