tests: Add initial unit tests
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Sat, 23 Mar 2013 06:55:25 +0000 (08:55 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 4 Apr 2013 12:58:29 +0000 (15:58 +0300)
Very simple basic tests.

Also, add config files for nose and coverage.

Change-Id: I37ab5d2027701799c8502df41e97e1f0cf089c03
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
.coveragerc [new file with mode: 0644]
setup.cfg [new file with mode: 0644]
tests/test_obs_service_gbp.py [new file with mode: 0644]

diff --git a/.coveragerc b/.coveragerc
new file mode 100644 (file)
index 0000000..ca65845
--- /dev/null
@@ -0,0 +1,2 @@
+[run]
+include = obs_service_gbp/*
diff --git a/setup.cfg b/setup.cfg
new file mode 100644 (file)
index 0000000..81a6208
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,3 @@
+[nosetests]
+with-coverage=1
+cover-package=obs_service_gbp
diff --git a/tests/test_obs_service_gbp.py b/tests/test_obs_service_gbp.py
new file mode 100644 (file)
index 0000000..03979c6
--- /dev/null
@@ -0,0 +1,38 @@
+# vim:fileencoding=utf-8:et:ts=4:sw=4:sts=4
+#
+# Copyright (C) 2013 Intel Corporation <markus.lehtonen@linux.intel.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA.
+"""Tests for the git-buildpackage OBS source service"""
+
+from nose.tools import assert_raises
+
+from obs_service_gbp.command import main as service
+
+class TestBasicFunctionality(object):
+    """Base class for testing cmdline tools of git-buildpackage"""
+
+    def test_invalid_options(self):
+        """Test invalid options"""
+        # Non-existing option
+        with assert_raises(SystemExit):
+            service(['--foo'])
+        # Option without argument
+        with assert_raises(SystemExit):
+            assert service(['--url'])
+        # Invalid repo
+        assert service(['--url=foo/bar.git']) != 0
+