nose-blockage

Raise errors when communicating outside of tests


License
BSD-3-Clause
Install
pip install nose-blockage==0.1.2

Documentation

An experimental nose plugin to block access to external services that you really should not be accessing in your unit tests.

To use:

pip install nose-blockage

Then add the following to your tests:

--with-blockage

If you use django-nose then add this to your Django settings to activate it:

NOSE_PLUGINS = [
    'blockage.plugins.NoseBlockage',
]
NOSE_ARGS = [
    '--with-blockage',
    # ...
]

Blocking HTTP

By default it whitelists localhost and 127.0.0.1. To change the whitelist:

--http-whitelist=some.site,some.other.site

If the code hits a http connection then instead of completing it will raise a MockHTTPCall exception. Please go and mock your tests appropriately.

Blocking SMTP

By default it whitelists no domains. To change the whitelist:

--smtp-whitelist=some.site

It will raise a MockSMTPCall exception.