diff options
author | djkonro <konraddjimeli@gmail.com> | 2018-02-20 00:42:51 +0100 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-03-01 03:36:57 +0100 |
commit | 22b8299e29f87158c4675892b9c3189d9eb35ba7 (patch) | |
tree | bae4a23a1529fda568231596f91c0c5a6d580f6c | |
parent | 2b95c0ceb0d5f14c66a35a6ed7368b520a0a77ee (diff) |
Add unit tests for functest-kubernetes
Change-Id: I4c9b5a56e891f4a63c86e0d7c4dd0d02de677610
Signed-off-by: djkonro <konraddjimeli@gmail.com>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | functest_kubernetes/test_k8stest.py | 54 | ||||
-rw-r--r-- | tox.ini | 10 | ||||
-rw-r--r-- | upper-constraints.txt | 1 |
4 files changed, 65 insertions, 1 deletions
@@ -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) @@ -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 |