diff --git a/tests/helpers.py b/tests/helpers.py deleted file mode 100644 index bf66a2d..0000000 --- a/tests/helpers.py +++ /dev/null @@ -1,42 +0,0 @@ -""" -Useful helpers for our tests -""" -import os -import sys - - -class ArgvContext: - """ - A simple context manager allowing to temporarily override ``sys.argv`` - """ - - def __init__(self, *new_args): - self._old = sys.argv - self.args = type(self._old)(new_args) - - def __enter__(self): - sys.argv = self.args - - def __exit__(self, exc_type, exc_val, exc_tb): - sys.argv = self._old - - -class EnvironContext: - """ - A simple context manager allowing to temporarily set environment values - """ - - def __init__(self, **kwargs): - self._old = os.environ - self._kwargs = kwargs - - def __enter__(self): - for key in self._kwargs: - if self._kwargs[key] is None: - if key in os.environ: - del os.environ[key] - else: - os.environ[key] = self._kwargs[key] - - def __exit__(self, exc_type, exc_val, exc_tb): - os.environ = self._old diff --git a/tests/test_cli.py b/tests/test_cli.py index 36da9b8..2820718 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -9,9 +9,9 @@ except ImportError: # Python 2.7 from mock import patch -from sentrylogs.bin.sentrylogs import main +from cli_test_helpers import ArgvContext, EnvironContext -from helpers import ArgvContext, EnvironContext +from sentrylogs.bin.sentrylogs import main def test_entrypoint(): diff --git a/tests/test_helpers.py b/tests/test_helpers.py deleted file mode 100644 index 0d06ca0..0000000 --- a/tests/test_helpers.py +++ /dev/null @@ -1,44 +0,0 @@ -""" -Tests for our tests helpers 8-} -""" -import os -import sys - -from helpers import ArgvContext, EnvironContext - - -def test_argv_context(): - """ - Test if ArgvContext sets the right argvs and resets to the old correctly - """ - old = sys.argv - new = ["Alice", "Bob", "Chris", "Daisy"] - - assert sys.argv == old - - with ArgvContext(*new): - assert sys.argv == new, \ - "sys.argv wasn't correctly changed by the contextmanager" - - assert sys.argv == old, "sys.argv wasn't correctly reset" - - -def test_environ_context(): - """ - Test if EnvironContext sets the right environ values and resets to - the old values correctly - """ - old = os.environ - new = {'PATH': None, 'FOO': 'my foo value'} - - assert os.environ == old - assert os.environ.get('PATH'), "Invalid test setup" - assert not os.environ.get('FOO'), "Invalid test setup" - - with EnvironContext(**new): - assert not os.environ.get('PATH'), \ - "os.environ[PATH] wasn't removed by the contextmanager" - assert os.environ['FOO'] == new['FOO'], \ - "os.environ[FOO] wasn't set by the contextmanager" - - assert os.environ == old, "os.environ wasn't correctly reset" diff --git a/tox.ini b/tox.ini index 2b1d81e..c15d396 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ envlist = [testenv] deps = + cli-test-helpers py27: mock pytest commands = pytest