github.com/SUSE/skuba@v1.4.17/ci/infra/testrunner/tests/test_nginx_deployment.py (about) 1 import pytest 2 import requests 3 4 5 @pytest.mark.pr 6 def test_nginx_deployment(deployment, platform, skuba, kubectl): 7 workers = skuba.num_of_nodes("worker") 8 kubectl.run_kubectl("create deployment nginx --image=nginx:stable-alpine") 9 kubectl.run_kubectl("scale deployment nginx --replicas={replicas}".format(replicas=workers)) 10 kubectl.run_kubectl("expose deployment nginx --port=80 --type=NodePort") 11 kubectl.run_kubectl("wait --for=condition=available deploy/nginx --timeout=3m") 12 readyReplicas = kubectl.run_kubectl("get deployment/nginx -o jsonpath='{ .status.readyReplicas }'") 13 14 assert int(readyReplicas) == workers 15 16 nodePort = kubectl.run_kubectl("get service/nginx -o jsonpath='{ .spec.ports[0].nodePort }'") 17 18 wrk_idx = 0 19 ip_addresses = platform.get_nodes_ipaddrs("worker") 20 21 url = "{protocol}://{ip}:{port}{path}".format(protocol="http", ip=str(ip_addresses[wrk_idx]), port=str(nodePort), path="/") 22 r = requests.get(url) 23 24 assert "Welcome to nginx" in r.text 25 26 # Cleanup 27 kubectl.run_kubectl("delete --wait --timeout=60s service/nginx") 28 kubectl.run_kubectl("delete --wait --timeout=60s deployments/nginx") 29 30 with pytest.raises(Exception): 31 kubectl.run_kubectl("get service/nginx") 32 33 with pytest.raises(Exception): 34 kubectl.run_kubectl("get deployments/nginx")