Vertx-eventbus-python
Click here to comment see Vertx-eventbus-python
OsProject
OsProject | |
---|---|
edit | |
id | vertx-eventbus-python |
state | |
owner | rc-dukes |
title | Python vertx eventbus bridge |
url | https://github.com/rc-dukes/vertx-eventbus-python |
version | 3.8.5 |
description | |
date | 2020/01/30 |
since | |
until |
Content
Usage
The message type can be the following for messages sent by the TCP client:
- send to send a message to an address,
- publish to publish a message to an address,
- register to subscribe to the messages sent or published to an address,
- unregister to unsubscribe to the messages sent or published to an address,
- ping to send a ping request to the bridge.
Example
For the Unit tests and as an Example Vertx-eventbus-python ships with some Java code that provides an environment to try out the python API.
To test things out an "EchoVerticle" is deployed. This verticle will accept messages in Json-Format at the address "echo". By default it will accept the message and reply to it. If the JsonObject represent an EchoCommand it will react as instructed by the command.
Installation
git clone https://github.com/rc-dukes/vertx-eventbus-python
cd vertx-eventbus-python
Java
cd java
mvn clean install -D gpg.skip
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.125 s
...
Python
cd python
sudo -H pip install .
Test
Java
./test --java
...
Results :
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
Python
For the python tests to be successful you might want to start the echoVerticle manually first with
java/run
... Initializing cluster partition table arrangement...
and then start the python unit tests in a separate terminal window with
./test --python
...
Ran 11 tests in 1.184s
OK
python unit tests successful!
Integration
The integration test will do the testing steps
- java tests
- start echoVerticle
- python tests
automatically in sequence
./test --all
Help / Usage
./test -h
usage:
./test [a|--all|-h|--help|-j|--java|-p|--python]
-h|--help: show this help
-a|--all: run all tests
-j|--java: run java tests
-p|--python: run python tests
-pa: run python tests with automatic start of echoServer
TestEnviroment
The tests above have been run succesfully in the following environments:
MacOS
mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/local/share/java/maven3
Java version: 1.8.0_152, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
Default locale: de_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
python3 --version
Python 3.7.6
Raspbian
mvn -version
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-armhf/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.75-v7l+", arch: "arm", family: "unix"
python3 --version
Python 3.7.3
Ubuntu
mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
Maven home: /usr/local/src/apache-maven-3.3.3
Java version: 1.8.0_242, vendor: Private Build
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.0.0-37-generic", arch: "amd64", family: "unix"
python3 --version
Python 3.7.5
Travis
The travis environment used is an Ubuntu Xenial distribution.