pyfarm.master.testutil module

Test Utilities

Functions and classes mainly used during the unittests.

class pyfarm.master.testutil.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

ENVIRONMENT_SETUP = False
ORIGINAL_ENVIRONMENT = {'PWD': '/root', 'NEW_RELIC_CONFIG_FILE': '/home/docs/newrelic.ini', 'CELERY_LOG_REDIRECT_LEVEL': 'WARNING', 'SUPERVISOR_SERVER_URL': 'unix:///var/run/supervisor.sock', 'SSH_TTY': '/dev/pts/0', 'TERM': 'screen', 'USER': 'docs', 'HOME': '/home/docs', '_MP_FORK_LOGLEVEL_': '20', 'CELERY_LOG_FILE': '/home/docs/log/celery_proc.log', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'TZ': 'America/Chicago', 'NEW_RELIC_PYTHON_VERSION': '2.7', 'SUPERVISOR_ENABLED': '1', 'CELERY_LOG_REDIRECT': '1', 'CELERY_LOADER': 'djcelery.loaders.DjangoLoader', 'SUPERVISOR_PROCESS_NAME': 'build', '_MP_FORK_LOGFORMAT_': '[%(asctime)s: %(levelname)s/%(processName)s] %(message)s', 'SHELL': '/bin/bash', 'DJANGO_PROJECT_DIR': '/home/docs/checkouts/readthedocs.org', 'SHLVL': '1', 'READTHEDOCS': 'True', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'PATH': '/home/docs/checkouts/readthedocs.org/user_builds/pyfarm-master/envs/master/bin:/home/docs/bin:/usr/local/bin:/usr/bin:/bin', 'XDG_SESSION_ID': '661214', 'SSH_AUTH_SOCK': '/tmp/ssh-2oHYHaPZSC/agent.531', 'LANG': 'en_US.UTF-8', 'SUPERVISOR_GROUP_NAME': 'build', 'PIP_DOWNLOAD_CACHE': '/tmp/pip', 'SSH_CLIENT': '75.175.74.79 59667 22', 'LOGNAME': 'root', 'CELERY_LOG_LEVEL': '20', 'XDG_RUNTIME_DIR': '/run/user/0', 'NEW_RELIC_PYTHON_PREFIX': '/home/docs', 'MAIL': '/var/mail/root', '_': '/etc/init.d/supervisor', 'SSH_CONNECTION': '75.175.74.79 59667 104.239.166.224 22', '_MP_FORK_LOGFILE_': '/home/docs/log/celery_proc.log'}
assert_accepted(response)[source]
assert_bad_request(response)[source]
assert_conflict(response)[source]
assert_contents_equal(a_source, b_source)[source]

Explicitly check to see of the two iterable objects contain the same data. This method exists to check to make sure two iterables contain the same data without regards to order. This is mostly meant for cases where two lists contain unhashable types.

assert_created(response)[source]
assert_forbidden(response)[source]
assert_internal_server_error(response)[source]
assert_method_not_allowed(response)[source]
assert_no_content(response)[source]
assert_not_acceptable(response)[source]
assert_not_found(response)[source]
assert_ok(response)[source]
assert_status(response, status_code=None)[source]
assert_temporary_redirect(response)[source]
assert_unauthorized(response)[source]
assert_unsupported_media_type(response)[source]
classmethod build_environment()[source]

Sets up the current environment with some values for unittesting. This must be used before any other code is imported otherwise

Warning

This classmethod should not be used outside of a testing context

maxDiff = None
setUp()[source]
setup_app()[source]

Constructs the application object and assigns the instance variables for tests. If you’re testing the master your sublcass will probably need to extend this method.

setup_client(app)[source]

returns the test client from the given application instance

setup_database()[source]
setup_warning_filter()[source]
tearDown()[source]
teardown_app()[source]
teardown_database()[source]
teardown_warning_filter()[source]
class pyfarm.master.testutil.JsonResponseMixin[source]

Bases: object

Mixin with testing helper methods

json[source]
pyfarm.master.testutil.make_test_response(response_class=None)[source]