Skip to main content

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

evasion-common-1.0.3.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file evasion-common-1.0.3.tar.gz.

File metadata

File hashes

Hashes for evasion-common-1.0.3.tar.gz
Algorithm Hash digest
SHA256 f677bab3b83b25470af091a39db247aa395c55d44fdd9651f71c5eba4b0c3138
MD5 a563dcb2d4897436b4c64fe481093892
BLAKE2b-256 fa948948120dc09a3cb8d0ef618ab1a96810ab614a0b14765817d46c94d17fc5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page