Helper functions collected together from other evasion modules to aid reuse such as get_free_port() and wait_for_ready().
Project description
EvasionProject code documentation
EvasionProject Wiki
Introduction
This package provides “evasion.common”. This is a collection of useful functions and other utilities.
evasion.common.net
get_free_port
Find a TCP port locally that is not in use and return it. This finds a random port in the range 2000 - 10000. It tests if it is available by binding to it. It the closed the socket and return the port.
This is quite handy for getting a free port to run a service on while acceptance testing.
Example usage:
from evasion.common import net # Get a free port: port1 = net.get_free_port() # Get another free port excluding the first port from the list port1 = net.get_free_port(exclude_ports=[port1])
wait_for_ready
Called to wait for a web application to respond to normal requests. This is useful when you want to know a web app is not just bound to a socket, but is actually responding 200 OK to root page downloads.
Example usage from unit tests:
from evasion.common import net from evasion.common import webhelpers port1 = net.get_free_port() # Run the web app and wait for ready should connect: web = webhelpers.BasicWeb(port=port1) web.start() result = net.wait_for_ready(web.uri) assert result web.stop()
wait_for_service
Called to wait until a socket connection can be made to a remote service.
Example usage from unit tests:
from evasion.common import net from evasion.common import webhelpers port1 = net.get_free_port() # Run the web app and wait for ready should connect: web = webhelpers.BasicWeb(port=port1) web.start() result = net.wait_for_service('localhost', port1) assert result web.stop()
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
File details
Details for the file evasion-common-1.0.3.tar.gz
.
File metadata
- Download URL: evasion-common-1.0.3.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f677bab3b83b25470af091a39db247aa395c55d44fdd9651f71c5eba4b0c3138 |
|
MD5 | a563dcb2d4897436b4c64fe481093892 |
|
BLAKE2b-256 | fa948948120dc09a3cb8d0ef618ab1a96810ab614a0b14765817d46c94d17fc5 |