pyfarm.agent.testutil module

class pyfarm.agent.testutil.skipIf(should_skip, reason)[source]

Bases: object

Wrapping a test with this class will allow the test to be skipped if should_skip evals as True.

pyfarm.agent.testutil.random_port(bind='127.0.0.1')[source]

Returns a random port which is not in use

pyfarm.agent.testutil.create_jobtype(classname=None, sourcecode=None)[source]

Creates a job type on the master and fires a deferred when finished

class pyfarm.agent.testutil.FakeRequestHeaders(test, headers)[source]

Bases: object

getRawHeaders(header)[source]
class pyfarm.agent.testutil.FakeAgent(stopped=None)[source]

Bases: object

stop()[source]
class pyfarm.agent.testutil.ErrorCapturingParser(*args, **kwargs)[source]

Bases: pyfarm.agent.entrypoints.parser.AgentArgumentParser

error(message)[source]
class pyfarm.agent.testutil.APITestServerResource[source]

Bases: twisted.web.resource.Resource

isLeaf = False
putChild(path, child)[source]
handle(request)[source]
render_POST(request)
render_PUT(request)
render_GET(request)
render_DELETE(request)
class pyfarm.agent.testutil.APITestServer(url, code=None, response=None, headers=None)[source]

Bases: object

A object used for setting up a fake HTTP server which can respond to requests during a test.

class pyfarm.agent.testutil.DummyRequest(postpath='/', session=None)[source]

Bases: twisted.web.test.requesthelper.DummyRequest

code = 200
set_content(content)[source]

Sets the content of the request

setHeader(name, value)[source]

Default override, _DummyRequest.setHeader does not actually set the response headers. Instead it sets the value in a different location that’s never used in an actual request.

getHeader(key)[source]

Default override, _DummyRequest.getHeader does something different than the real request object.

write(data)[source]

Default override, _DummyRequest.write asserts that data must be a bytes instance. In the real Request.write implementation no such assertion is made.

class pyfarm.agent.testutil.TestCaseLogHandler(level=10)[source]

Bases: logging.Handler

handle(record)[source]
class pyfarm.agent.testutil.TestCase(methodName='runTest')[source]

Bases: twisted.trial._asynctest.TestCase

longMessage = True
POP_CONFIG_KEYS = []
RAND_LENGTH = 8
maxDiff = None
timeout = 15
assertRaises(excClass, callableObj=None, *args, **kwargs)[source]
assertRaisesRegexp(expected_exception, expected_regexp, callable_obj=None, *args, **kwargs)[source]
assertDateAlmostEqual(date1, date2, second_deviation=0, microsecond_deviation=500000)[source]
replace_list(list_object, contents)[source]
setUp()[source]
prepare_config()[source]
create_file(content=None, dir=None, suffix='')[source]

Creates a test file on disk using tempfile.mkstemp() and uses the lower level file interfaces to manage it. This is done to ensure we have more control of the file descriptor itself so on platforms such as Windows we don’t have to worry about running out of file handles.

create_directory(count=10)[source]
class pyfarm.agent.testutil.BaseRequestTestCase(methodName='runTest')[source]

Bases: pyfarm.agent.testutil.TestCase

HTTP_SCHEME = 'http'
TEST_URL = 'http://httpbin.org'
REDIRECT_TARGET = 'http://example.com'
HTTP_REQUEST_SUCCESS = None
setUp()[source]
class pyfarm.agent.testutil.BaseHTTPTestCase(methodName='runTest')[source]

Bases: pyfarm.agent.testutil.TestCase

URI = NotImplemented
CLASS = NotImplemented
CLASS_FACTORY = NotImplemented
DEFAULT_HEADERS = NotImplemented
setUp()[source]
request(method, **kwargs)[source]
instance_class()[source]
test_instance()[source]
test_leaf()[source]
test_implements_methods()[source]
test_methods_exist_for_schema()[source]
class pyfarm.agent.testutil.BaseAPITestCase(methodName='runTest')[source]

Bases: pyfarm.agent.testutil.BaseHTTPTestCase

DEFAULT_HEADERS = {'Accept': ['application/json']}
test_parent()[source]
class pyfarm.agent.testutil.BaseHTMLTestCase(methodName='runTest')[source]

Bases: pyfarm.agent.testutil.BaseHTTPTestCase

DEFAULT_HEADERS = {'Accept': ['text/html']}
test_template_set()[source]
test_template_loaded()[source]