Welcome to TestShift’s documentation!¶
TestShift aims to provide the means to validate OpenShift based infrastructures, for this purpose, TestShift is implemented as a pytest plugin, taking after Testinfra for inspiration.
Usage examples¶
def test_sdn_pods_exist(cluster):
pod = cluster.Pod(label_selector="app=sdn")
assert pod.exists
def test_etcd_pods_count(cluster):
pod = cluster.Pod(label_selector="app=etcd")
assert pod.count == 3
def test_performance_operator_is_running(cluster):
pod = cluster.Pod(label_selector="name=performance-operator")
assert pod.is_running
def test_marketplace_operator(cluster):
pod = cluster.Pod(name="marketplace-operator-798dbd94c6-xqj6b")
assert pod.is_running
assert pod.count == 1
def test_performance_operator_deployment(cluster):
deployment = cluster.Deployment(name="performance-operator")
assert deployment.exists
assert deployment.namespace == "openshift-performance-addon"
def test_node_properties_by_selector(cluster):
node = cluster.Node(label_selector="node-role.kubernetes.io/worker-cnf=")
assert node.count == 2
def test_node_properties_schedulable(cluster):
node = cluster.Node("sjr-worker-0.sjr.deslab.net")
assert node.schedulable == True
$ pytest --kubeconfig=/home/sjr/clusters/sjr/auth/kubeconfig tests -v
=========================================== test session starts ===========================================
platform linux -- Python 3.6.8, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /home/sjr/testshift/bin/python3.6
cachedir: .pytest_cache
rootdir: /home/sjr
plugins: testshift-0.9.3.dev5+g3f6558c
collected 7 items
tests/node_test.py::test_sdn_pods_exist[testshift] PASSED [ 14%]
tests/node_test.py::test_etcd_pods_count[testshift] PASSED [ 28%]
tests/node_test.py::test_performance_operator_is_running[testshift] PASSED [ 42%]
tests/node_test.py::test_marketplace_operator[testshift] PASSED [ 57%]
tests/node_test.py::test_performance_operator_deployment[testshift] PASSED [ 71%]
tests/node_test.py::test_node_properties_by_selector[testshift] PASSED [ 85%]
tests/node_test.py::test_node_properties_schedulable[testshift] PASSED [100%]
============================================ 7 passed in 2.28s ============================================