A simple network listener
Project description
# pytest-listener
Simple JSON listener using TCP that listens for data and stores it in a queue for later retrieval.
## Installation
Install using your favourite package manager:
```bash
pip install pytest-listener
# or..
easy_install pytest-listener
```
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):
```python
pytest_plugins = ['pytest_listener']
```
## Basic Test Usage
Here's a test showing the basic functionality:
```python
def test_listener(listener):
data1 = {'foo': 1}
listener.send(some_data)
data2 = {'bar': 2}
listener.send(some_data)
assert listener.receive() == data1
assert listener.receive() == data2
data3 = {'baz': 3}
listener.send(some_data)
# Clear the listening queue - this deletes data3
listener.clear_queue()
data2 = {'qux': 4}
listener.send(some_data)
assert listener.recieve() == data3
```
## Changelog
### 1.2.2 (2016-10-2r70)
* Python 3 compatibility across most of the modules
* Fixed deprecated Path.py imports (Thanks to Bryan Moscon)
* Fixed deprecated multicall in pytest-profiling (Thanks to Paul van der Linden for PR)
* Added devpi-server fixture to create an index per test function
* Added missing licence file
* Split up httpd server fixture config so child classes can override loaded modules easier
* Added 'preserve_sys_path' argument to TestServer base class which exports the current python sys.path to subprocesses.
* Updated httpd, redis and jenkins runtime args and paths to current Ubuntu spec
* Ignore errors when tearing down workspaces to avoid race conditions in 'shutil.rmtree' implementation
### 1.2.1 (2016-3-1)
* Fixed pytest-verbose-parametrize for latest version of py.test
### 1.2.0 (2016-2-19)
* New plugin: git repository fixture
### 1.1.1 (2016-2-16)
* pytest-profiling improvement: escape illegal characters in .prof files (Thanks to Aarni Koskela for the PR)
### 1.1.0 (2016-2-15)
* New plugin: devpi server fixture
* pytest-profiling improvement: overly-long .prof files are saved as the short hash of the test name (Thanks to Vladimir Lagunov for PR)
* Changed default behavior of workspace.run() to not use a subshell for security reasons
* Corrected virtualenv.run() method to handle arguments the same as the parent method workspace.run()
* Removed deprecated '--distribute' from virtualenv args
### 1.0.1 (2015-12-23)
* Packaging bugfix
### 1.0.0 (2015-12-21)
* Initial public release
Simple JSON listener using TCP that listens for data and stores it in a queue for later retrieval.
## Installation
Install using your favourite package manager:
```bash
pip install pytest-listener
# or..
easy_install pytest-listener
```
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):
```python
pytest_plugins = ['pytest_listener']
```
## Basic Test Usage
Here's a test showing the basic functionality:
```python
def test_listener(listener):
data1 = {'foo': 1}
listener.send(some_data)
data2 = {'bar': 2}
listener.send(some_data)
assert listener.receive() == data1
assert listener.receive() == data2
data3 = {'baz': 3}
listener.send(some_data)
# Clear the listening queue - this deletes data3
listener.clear_queue()
data2 = {'qux': 4}
listener.send(some_data)
assert listener.recieve() == data3
```
## Changelog
### 1.2.2 (2016-10-2r70)
* Python 3 compatibility across most of the modules
* Fixed deprecated Path.py imports (Thanks to Bryan Moscon)
* Fixed deprecated multicall in pytest-profiling (Thanks to Paul van der Linden for PR)
* Added devpi-server fixture to create an index per test function
* Added missing licence file
* Split up httpd server fixture config so child classes can override loaded modules easier
* Added 'preserve_sys_path' argument to TestServer base class which exports the current python sys.path to subprocesses.
* Updated httpd, redis and jenkins runtime args and paths to current Ubuntu spec
* Ignore errors when tearing down workspaces to avoid race conditions in 'shutil.rmtree' implementation
### 1.2.1 (2016-3-1)
* Fixed pytest-verbose-parametrize for latest version of py.test
### 1.2.0 (2016-2-19)
* New plugin: git repository fixture
### 1.1.1 (2016-2-16)
* pytest-profiling improvement: escape illegal characters in .prof files (Thanks to Aarni Koskela for the PR)
### 1.1.0 (2016-2-15)
* New plugin: devpi server fixture
* pytest-profiling improvement: overly-long .prof files are saved as the short hash of the test name (Thanks to Vladimir Lagunov for PR)
* Changed default behavior of workspace.run() to not use a subshell for security reasons
* Corrected virtualenv.run() method to handle arguments the same as the parent method workspace.run()
* Removed deprecated '--distribute' from virtualenv args
### 1.0.1 (2015-12-23)
* Packaging bugfix
### 1.0.0 (2015-12-21)
* Initial public release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-listener-1.2.2.tar.gz
(5.9 kB
view details)
Built Distributions
File details
Details for the file pytest-listener-1.2.2.tar.gz
.
File metadata
- Download URL: pytest-listener-1.2.2.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3773db4c442cb896ffdeae260b3c274eff4e0dbea3407d8ae249e76003ecf373 |
|
MD5 | 3d220500c13b5331b2889ff57727c6cb |
|
BLAKE2b-256 | 809343dfe5c86618313427d63431a875d141e57fcc333476bdb75693b2188403 |
File details
Details for the file pytest_listener-1.2.2-py2.7.egg
.
File metadata
- Download URL: pytest_listener-1.2.2-py2.7.egg
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de274aa8cc1a63fa57b4144c5e54a94559ad6d00c896d4e8e323962b612e6dd3 |
|
MD5 | 2afcbcdbbca34c24b5e1bfe3bc0b7908 |
|
BLAKE2b-256 | 8fc2daedc253994fbb55a7025ab97051ed46392820d2e9819e9671a096d7bd3f |
File details
Details for the file pytest_listener-1.2.2-py2-none-any.whl
.
File metadata
- Download URL: pytest_listener-1.2.2-py2-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29d451b0a56cc786f242ed88e2dcb7d89d476e8d32d8ccf53e28f4f3cba11c37 |
|
MD5 | 3eb657ecdacaa72ce4ee5542853c56fb |
|
BLAKE2b-256 | c72651ccc93982a596ef138f75a4ae443f41c9afd81c05dbb6b0cbde9d32df9e |