aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjkonro <konraddjimeli@gmail.com>2018-02-20 00:42:51 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2018-03-01 03:36:57 +0100
commit22b8299e29f87158c4675892b9c3189d9eb35ba7 (patch)
treebae4a23a1529fda568231596f91c0c5a6d580f6c
parent2b95c0ceb0d5f14c66a35a6ed7368b520a0a77ee (diff)
Add unit tests for functest-kubernetes
Change-Id: I4c9b5a56e891f4a63c86e0d7c4dd0d02de677610 Signed-off-by: djkonro <konraddjimeli@gmail.com>
-rw-r--r--.gitignore1
-rw-r--r--functest_kubernetes/test_k8stest.py54
-rw-r--r--tox.ini10
-rw-r--r--upper-constraints.txt1
4 files changed, 65 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 8c7c1d0a..004ebb7d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,5 +15,6 @@ nosetests.xml
functest-kubernetes.egg-info
*venv
.tox
+*.egg-info
*.out
*.pdf
diff --git a/functest_kubernetes/test_k8stest.py b/functest_kubernetes/test_k8stest.py
new file mode 100644
index 00000000..02c8f7e6
--- /dev/null
+++ b/functest_kubernetes/test_k8stest.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2018 All rights reserved
+# This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+"""Define the classes required to fully cover k8s."""
+
+import logging
+import os
+import unittest
+
+from functest_kubernetes import k8stest
+
+
+class K8sTests(unittest.TestCase):
+
+ # pylint: disable=missing-docstring
+
+ def setUp(self):
+ os.environ["DEPLOY_SCENARIO"] = "k8-test"
+ os.environ["KUBECONFIG"] = "/home/config"
+ os.environ["KUBE_MASTER_IP"] = "127.0.0.1"
+ os.environ["KUBE_MASTER_URL"] = "https://127.0.0.1:6443"
+ os.environ["KUBERNETES_PROVIDER"] = "local"
+
+ def _test_no_env_var(self, var):
+ del os.environ[var]
+ with self.assertRaises(Exception):
+ k8stest.K8sTesting().check_envs()
+
+ def test_no_deploy_scenario(self):
+ self._test_no_env_var("DEPLOY_SCENARIO")
+
+ def test_no_kubeconfig(self):
+ self._test_no_env_var("KUBECONFIG")
+
+ def test_no_kube_master_ip(self):
+ self._test_no_env_var("KUBE_MASTER_IP")
+
+ def test_no_kube_master_url(self):
+ self._test_no_env_var("KUBE_MASTER_URL")
+
+ def test_no_kubernetes_provider(self):
+ self._test_no_env_var("KUBERNETES_PROVIDER")
+
+
+if __name__ == "__main__":
+ logging.disable(logging.CRITICAL)
+ unittest.main(verbosity=2)
diff --git a/tox.ini b/tox.ini
index 34f8a756..6b90f068 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,9 +1,12 @@
[tox]
-envlist = pep8,pylint,yamllint,py27,py35
+envlist = pep8,pylint,yamllint,py27,py35,cover
[testenv]
usedevelop = True
deps =
+ -chttps://git.opnfv.org/functest/plain/upper-constraints.txt
+ -c{toxinidir}/upper-constraints.txt
+ -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
install_command = pip install {opts} {packages}
@@ -25,3 +28,8 @@ files =
docker
commands =
yamllint {[testenv:yamllint]files}
+
+[testenv:cover]
+basepython = python2.7
+commands = nosetests --with-coverage --cover-tests \
+ --cover-package functest_kubernetes functest_kubernetes
diff --git a/upper-constraints.txt b/upper-constraints.txt
new file mode 100644
index 00000000..d3df60a0
--- /dev/null
+++ b/upper-constraints.txt
@@ -0,0 +1 @@
+git+https://gerrit.opnfv.org/gerrit/functest#egg=functest