diff --git a/.coveragerc b/.coveragerc index e36a1878..da70cfd6 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,7 @@ # .coveragerc to control coverage.py [run] branch = True +omit = freezer/tests/* [report] # Regexes for lines to exclude from consideration diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/commons.py b/tests/commons.py index 7e0478fb..54fa3702 100644 --- a/tests/commons.py +++ b/tests/commons.py @@ -20,6 +20,34 @@ os.environ['OS_AUTH_URL'] = 'testauthurl' os.environ['OS_USERNAME'] = 'testusername' os.environ['OS_TENANT_NAME'] = 'testtenantename' + +class FakeArgparse: + + def __init__(self): + return None + + def __call__(self, prog='freezerc'): + return self.ArgumentParser + + class ArgumentParser: + + def __init__(self, prog='freezerc'): + return None + + def __call__(self, *args, **kwargs): + return self + + @classmethod + def add_argument(self, *args, **kwargs): + self.container = 'testcontainer' + self.hostname = 'testhostname' + return True + + @classmethod + def parse_args(self): + return self + + class FakeOpen: def __init__(self): return None @@ -266,4 +294,3 @@ class Os: def exists(self, directory=True): return True - diff --git a/tests/test_arguments.py b/tests/test_arguments.py new file mode 100644 index 00000000..54cbc758 --- /dev/null +++ b/tests/test_arguments.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +from freezer.arguments import backup_arguments +import argparse +from commons import * + +import __builtin__ + + +class TestArguments: + + def test_arguments(self, monkeypatch): + + fakeargparse = FakeArgparse() + fakeargparse = fakeargparse.ArgumentParser() + + monkeypatch.setattr( + argparse, 'ArgumentParser', fakeargparse) + + assert backup_arguments() is not Exception or not False diff --git a/tox.ini b/tox.ini index a600713c..f343bd2f 100644 --- a/tox.ini +++ b/tox.ini @@ -6,14 +6,23 @@ skipsdist = True usedevelop = True deps = pytest + coverage flake8 + pytest-cov + pytest-xdist + install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} -commands = py.test +commands = py.test -v -n 2 + +[pytest] +python_files = test_*.py +norecursedirs = .tox [testenv:pep8] commands = flake8 freezer [flake8] show-source = True -exclude = .venv,.tox,dist,doc,test,*egg \ No newline at end of file +exclude = .venv,.tox,dist,doc,test,*egg,tests +