From 4a5e2d9328fb30545d3cbd223f9e776230580710 Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Tue, 11 Aug 2015 11:19:22 -0700 Subject: [PATCH] first tests, and disable logging while testing --- .coveragerc | 3 ++- dev-requirements.txt | 1 + tests/samples/emptyfile.txt | 0 tests/test_wakatime_base.py | 31 +++++++++++++++++++++++++++++++ wakatime/base.py | 4 ++-- 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 tests/samples/emptyfile.txt create mode 100644 tests/test_wakatime_base.py diff --git a/.coveragerc b/.coveragerc index 885a44a..9adb220 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,3 +1,4 @@ [run] branch = false -omit = wakatime/packages/* +omit = + wakatime/packages/* diff --git a/dev-requirements.txt b/dev-requirements.txt index 045c5e1..237b7f0 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,3 +1,4 @@ coverage==3.7.1 +mock==1.3.0 nose==1.3.7 nose-exclude==0.3.0 diff --git a/tests/samples/emptyfile.txt b/tests/samples/emptyfile.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_wakatime_base.py b/tests/test_wakatime_base.py new file mode 100644 index 0000000..23ddcad --- /dev/null +++ b/tests/test_wakatime_base.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- + + +import logging +import unittest + +try: + from mock import patch +except: + from unittest.mock import patch + +from wakatime.base import main + + +@patch('requests.post') +class BaseTestCase(unittest.TestCase): + + def setUp(self): + # disable logging while testing + logging.disable(logging.CRITICAL) + + def test_help_contents(self, mock_post): + with self.assertRaises(SystemExit): + args = ['', '--help'] + retval = main(args) + self.assertEquals(retval, 0) + + def test_argument_parsing(self, mock_post): + args = ['', '--file', 'tests/samples/emptyfile.txt'] + retval = main(args) + self.assertEquals(retval, 0) diff --git a/wakatime/base.py b/wakatime/base.py index 419bba5..ee1419a 100644 --- a/wakatime/base.py +++ b/wakatime/base.py @@ -22,7 +22,7 @@ import traceback import socket try: import ConfigParser as configparser -except ImportError: +except ImportError: # pragma: nocover import configparser sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -40,7 +40,7 @@ from .session_cache import SessionCache from .stats import get_file_stats try: from .packages import tzlocal -except: +except: # pragma: nocover from .packages import tzlocal3 as tzlocal