Merge pull request #2128 from Ananya2001-an/test-add-asserts
test: add more assertions in `e2e tests`
This commit is contained in:
commit
36cfbe68a5
2
.github/workflows/test.yaml
vendored
2
.github/workflows/test.yaml
vendored
@ -44,7 +44,7 @@ jobs:
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
if: "matrix.use_coverage"
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
fail_ci_if_error: false
|
||||
verbose: true
|
||||
|
||||
@ -52,14 +52,21 @@ spec:
|
||||
ports:
|
||||
- containerPort: 80
|
||||
'''
|
||||
resp = api.create_namespaced_deployment(
|
||||
api.create_namespaced_deployment(
|
||||
body=yaml.safe_load(deployment % name),
|
||||
namespace="default")
|
||||
resp = api.read_namespaced_deployment(name, 'default')
|
||||
self.assertIsNotNone(resp)
|
||||
self.assertEqual(resp.metadata.name, name)
|
||||
self.assertEqual(resp.spec.replicas, 3)
|
||||
self.assertEqual(resp.spec.selector.match_labels['app'], 'nginx')
|
||||
self.assertEqual(resp.spec.template.metadata.labels['app'], 'nginx')
|
||||
self.assertEqual(resp.spec.template.spec.containers[0].name, 'nginx')
|
||||
self.assertEqual(resp.spec.template.spec.containers[0].image, 'nginx:1.15.4')
|
||||
self.assertEqual(resp.spec.template.spec.containers[0].ports[0].container_port, 80)
|
||||
|
||||
options = v1_delete_options.V1DeleteOptions()
|
||||
resp = api.delete_namespaced_deployment(name, 'default', body=options)
|
||||
api.delete_namespaced_deployment(name, 'default', body=options)
|
||||
|
||||
def test_create_daemonset(self):
|
||||
client = api_client.ApiClient(configuration=self.config)
|
||||
@ -92,9 +99,14 @@ spec:
|
||||
},
|
||||
}
|
||||
}
|
||||
resp = api.create_namespaced_daemon_set('default', body=daemonset)
|
||||
api.create_namespaced_daemon_set('default', body=daemonset)
|
||||
resp = api.read_namespaced_daemon_set(name, 'default')
|
||||
self.assertIsNotNone(resp)
|
||||
self.assertEqual(resp.metadata.name, name)
|
||||
self.assertEqual(resp.spec.selector.match_labels['app'], 'nginx')
|
||||
self.assertEqual(resp.spec.template.metadata.labels['app'], 'nginx')
|
||||
self.assertEqual(resp.spec.template.spec.containers[0].name, 'nginx-app')
|
||||
self.assertEqual(resp.spec.template.spec.containers[0].image, 'nginx:1.15.4')
|
||||
|
||||
options = v1_delete_options.V1DeleteOptions()
|
||||
resp = api.delete_namespaced_daemon_set(name, 'default', body=options)
|
||||
api.delete_namespaced_daemon_set(name, 'default', body=options)
|
||||
|
||||
@ -46,13 +46,19 @@ class TestClientBatch(unittest.TestCase):
|
||||
'apiVersion': 'batch/v1',
|
||||
'metadata': {'name': name}}
|
||||
|
||||
resp = api.create_namespaced_job(
|
||||
create_job_resp = api.create_namespaced_job(
|
||||
body=job_manifest, namespace='default')
|
||||
self.assertEqual(name, resp.metadata.name)
|
||||
self.assertEqual(name, create_job_resp.metadata.name)
|
||||
|
||||
resp = api.read_namespaced_job(
|
||||
name=name, namespace='default')
|
||||
self.assertEqual(name, resp.metadata.name)
|
||||
self.assertEqual(name, resp.spec.template.spec.containers[0].name)
|
||||
self.assertEqual('busybox', resp.spec.template.spec.containers[0].image)
|
||||
self.assertEqual('sh', resp.spec.template.spec.containers[0].command[0])
|
||||
self.assertEqual('-c', resp.spec.template.spec.containers[0].command[1])
|
||||
self.assertEqual('sleep 5', resp.spec.template.spec.containers[0].command[2])
|
||||
self.assertEqual('Never', resp.spec.template.spec.restart_policy)
|
||||
|
||||
resp = api.delete_namespaced_job(
|
||||
api.delete_namespaced_job(
|
||||
name=name, namespace='default', propagation_policy='Background')
|
||||
|
||||
@ -55,6 +55,13 @@ class TestUtils(unittest.TestCase):
|
||||
dep = app_api.read_namespaced_deployment(name="nginx-app",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(dep)
|
||||
self.assertEqual("nginx-app", dep.metadata.name)
|
||||
self.assertEqual("nginx:1.15.4", dep.spec.template.spec.containers[0].image)
|
||||
self.assertEqual(80, dep.spec.template.spec.containers[0].ports[0].container_port)
|
||||
self.assertEqual("nginx", dep.spec.template.spec.containers[0].name)
|
||||
self.assertEqual("nginx", dep.spec.template.metadata.labels["app"])
|
||||
self.assertEqual(3, dep.spec.replicas)
|
||||
|
||||
while True:
|
||||
try:
|
||||
app_api.delete_namespaced_deployment(
|
||||
@ -66,7 +73,7 @@ class TestUtils(unittest.TestCase):
|
||||
|
||||
def test_create_apps_deployment_from_yaml_object(self):
|
||||
"""
|
||||
Should be able to pass YAM objects directly to helper function.
|
||||
Should be able to pass YAML objects directly to helper function.
|
||||
"""
|
||||
k8s_client = client.api_client.ApiClient(configuration=self.config)
|
||||
_path = self.path_prefix + "apps-deployment.yaml"
|
||||
@ -80,6 +87,13 @@ class TestUtils(unittest.TestCase):
|
||||
dep = app_api.read_namespaced_deployment(name="nginx-app",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(dep)
|
||||
self.assertEqual("nginx-app", dep.metadata.name)
|
||||
self.assertEqual("nginx:1.15.4", dep.spec.template.spec.containers[0].image)
|
||||
self.assertEqual(80, dep.spec.template.spec.containers[0].ports[0].container_port)
|
||||
self.assertEqual("nginx", dep.spec.template.spec.containers[0].name)
|
||||
self.assertEqual("nginx", dep.spec.template.metadata.labels["app"])
|
||||
self.assertEqual(3, dep.spec.replicas)
|
||||
|
||||
while True:
|
||||
try:
|
||||
app_api.delete_namespaced_deployment(
|
||||
@ -102,6 +116,13 @@ class TestUtils(unittest.TestCase):
|
||||
dep = app_api.read_namespaced_deployment(name="nginx-app-3",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(dep)
|
||||
self.assertEqual("nginx-app-3", dep.metadata.name)
|
||||
self.assertEqual("nginx:1.15.4", dep.spec.template.spec.containers[0].image)
|
||||
self.assertEqual(80, dep.spec.template.spec.containers[0].ports[0].container_port)
|
||||
self.assertEqual("nginx", dep.spec.template.spec.containers[0].name)
|
||||
self.assertEqual("nginx", dep.spec.template.metadata.labels["app"])
|
||||
self.assertEqual(3, dep.spec.replicas)
|
||||
|
||||
app_api.delete_namespaced_deployment(
|
||||
name="nginx-app-3", namespace="default",
|
||||
body={})
|
||||
@ -117,6 +138,10 @@ class TestUtils(unittest.TestCase):
|
||||
pod = core_api.read_namespaced_pod(name="myapp-pod",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(pod)
|
||||
self.assertEqual("myapp-pod", pod.metadata.name)
|
||||
self.assertEqual("busybox", pod.spec.containers[0].image)
|
||||
self.assertEqual("myapp-container", pod.spec.containers[0].name)
|
||||
|
||||
core_api.delete_namespaced_pod(
|
||||
name="myapp-pod", namespace="default",
|
||||
body={})
|
||||
@ -132,6 +157,9 @@ class TestUtils(unittest.TestCase):
|
||||
svc = core_api.read_namespaced_service(name="my-service",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("my-service", svc.metadata.name)
|
||||
self.assertEqual("MyApp", svc.spec.selector["app"])
|
||||
|
||||
core_api.delete_namespaced_service(
|
||||
name="my-service", namespace="default",
|
||||
body={})
|
||||
@ -145,12 +173,15 @@ class TestUtils(unittest.TestCase):
|
||||
k8s_client, self.path_prefix + "core-namespace.yaml")
|
||||
core_api = client.CoreV1Api(k8s_client)
|
||||
nmsp = core_api.read_namespace(name="development")
|
||||
|
||||
self.assertIsNotNone(nmsp)
|
||||
self.assertEqual("development", nmsp.metadata.name)
|
||||
|
||||
core_api.delete_namespace(name="development", body={})
|
||||
|
||||
def test_create_rbac_role_from_yaml(self):
|
||||
"""
|
||||
Should be able to create an rbac role.
|
||||
Should be able to create a rbac role.
|
||||
"""
|
||||
k8s_client = client.api_client.ApiClient(configuration=self.config)
|
||||
utils.create_from_yaml(
|
||||
@ -159,12 +190,15 @@ class TestUtils(unittest.TestCase):
|
||||
rbac_role = rbac_api.read_namespaced_role(
|
||||
name="pod-reader", namespace="default")
|
||||
self.assertIsNotNone(rbac_role)
|
||||
self.assertEqual("pod-reader", rbac_role.metadata.name)
|
||||
self.assertEqual("pods", rbac_role.rules[0].resources[0])
|
||||
|
||||
rbac_api.delete_namespaced_role(
|
||||
name="pod-reader", namespace="default", body={})
|
||||
|
||||
def test_create_rbac_role_from_yaml_with_verbose_enabled(self):
|
||||
"""
|
||||
Should be able to create an rbac role with verbose enabled.
|
||||
Should be able to create a rbac role with verbose enabled.
|
||||
"""
|
||||
k8s_client = client.api_client.ApiClient(configuration=self.config)
|
||||
utils.create_from_yaml(
|
||||
@ -173,6 +207,9 @@ class TestUtils(unittest.TestCase):
|
||||
rbac_role = rbac_api.read_namespaced_role(
|
||||
name="pod-reader", namespace="default")
|
||||
self.assertIsNotNone(rbac_role)
|
||||
self.assertEqual("pod-reader", rbac_role.metadata.name)
|
||||
self.assertEqual("pods", rbac_role.rules[0].resources[0])
|
||||
|
||||
rbac_api.delete_namespaced_role(
|
||||
name="pod-reader", namespace="default", body={})
|
||||
|
||||
@ -190,6 +227,8 @@ class TestUtils(unittest.TestCase):
|
||||
ext_api = client.AppsV1Api(k8s_client)
|
||||
nmsp = core_api.read_namespace(name="dep")
|
||||
self.assertIsNotNone(nmsp)
|
||||
self.assertEqual("dep", nmsp.metadata.name)
|
||||
|
||||
dep = ext_api.read_namespaced_deployment(name="nginx-deployment",
|
||||
namespace="dep")
|
||||
self.assertIsNotNone(dep)
|
||||
@ -211,6 +250,10 @@ class TestUtils(unittest.TestCase):
|
||||
svc = reg_api.read_api_service(
|
||||
name="v1alpha1.wardle.k8s.io")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("v1alpha1.wardle.k8s.io", svc.metadata.name)
|
||||
self.assertEqual("wardle.k8s.io", svc.spec.group)
|
||||
self.assertEqual("v1alpha1", svc.spec.version)
|
||||
|
||||
with self.assertRaises(utils.FailToCreateError) as cm:
|
||||
utils.create_from_yaml(
|
||||
k8s_client, "kubernetes/e2e_test/test_yaml/api-service.yaml")
|
||||
@ -243,9 +286,16 @@ class TestUtils(unittest.TestCase):
|
||||
svc = core_api.read_namespaced_service(name="list-service-test",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("list-service-test", svc.metadata.name)
|
||||
self.assertEqual("list-deployment-test", svc.spec.selector["app"])
|
||||
|
||||
dep = ext_api.read_namespaced_deployment(name="list-deployment-test",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(dep)
|
||||
self.assertEqual("list-deployment-test", dep.metadata.name)
|
||||
self.assertEqual("nginx:1.15.4", dep.spec.template.spec.containers[0].image)
|
||||
self.assertEqual(1, dep.spec.replicas)
|
||||
|
||||
core_api.delete_namespaced_service(name="list-service-test",
|
||||
namespace="default", body={})
|
||||
ext_api.delete_namespaced_deployment(name="list-deployment-test",
|
||||
@ -262,8 +312,14 @@ class TestUtils(unittest.TestCase):
|
||||
core_api = client.CoreV1Api(k8s_client)
|
||||
nmsp_1 = core_api.read_namespace(name="mock-1")
|
||||
self.assertIsNotNone(nmsp_1)
|
||||
self.assertEqual("mock-1", nmsp_1.metadata.name)
|
||||
self.assertEqual("mock-1", nmsp_1.metadata.labels["name"])
|
||||
|
||||
nmsp_2 = core_api.read_namespace(name="mock-2")
|
||||
self.assertIsNotNone(nmsp_2)
|
||||
self.assertEqual("mock-2", nmsp_2.metadata.name)
|
||||
self.assertEqual("mock-2", nmsp_2.metadata.labels["name"])
|
||||
|
||||
core_api.delete_namespace(name="mock-1", body={})
|
||||
core_api.delete_namespace(name="mock-2", body={})
|
||||
|
||||
@ -280,9 +336,15 @@ class TestUtils(unittest.TestCase):
|
||||
svc_3 = core_api.read_namespaced_service(name="mock-3",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc_3)
|
||||
self.assertEqual("mock-3", svc_3.metadata.name)
|
||||
self.assertEqual("mock-3", svc_3.metadata.labels["app"])
|
||||
|
||||
svc_4 = core_api.read_namespaced_service(name="mock-4",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc_4)
|
||||
self.assertEqual("mock-4", svc_4.metadata.name)
|
||||
self.assertEqual("mock-4", svc_4.metadata.labels["app"])
|
||||
|
||||
core_api.delete_namespaced_service(name="mock-3",
|
||||
namespace="default", body={})
|
||||
core_api.delete_namespaced_service(name="mock-4",
|
||||
@ -302,9 +364,20 @@ class TestUtils(unittest.TestCase):
|
||||
svc = core_api.read_namespaced_service(name="mock",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("mock", svc.metadata.name)
|
||||
self.assertEqual("mock", svc.metadata.labels["app"])
|
||||
self.assertEqual("mock", svc.spec.selector["app"])
|
||||
|
||||
ctr = core_api.read_namespaced_replication_controller(
|
||||
name="mock", namespace="default")
|
||||
self.assertIsNotNone(ctr)
|
||||
self.assertEqual("mock", ctr.metadata.name)
|
||||
self.assertEqual("mock", ctr.spec.template.metadata.labels["app"])
|
||||
self.assertEqual("mock", ctr.spec.selector["app"])
|
||||
self.assertEqual(1, ctr.spec.replicas)
|
||||
self.assertEqual("k8s.gcr.io/pause:2.0", ctr.spec.template.spec.containers[0].image)
|
||||
self.assertEqual("mock-container", ctr.spec.template.spec.containers[0].name)
|
||||
|
||||
core_api.delete_namespaced_replication_controller(
|
||||
name="mock", namespace="default", propagation_policy="Background")
|
||||
core_api.delete_namespaced_service(name="mock",
|
||||
@ -324,9 +397,20 @@ class TestUtils(unittest.TestCase):
|
||||
svc = core_api.read_namespaced_service(name="mock",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("mock", svc.metadata.name)
|
||||
self.assertEqual("mock", svc.metadata.labels["app"])
|
||||
self.assertEqual("mock", svc.spec.selector["app"])
|
||||
|
||||
ctr = core_api.read_namespaced_replication_controller(
|
||||
name="mock", namespace="default")
|
||||
self.assertIsNotNone(ctr)
|
||||
self.assertEqual("mock", ctr.metadata.name)
|
||||
self.assertEqual("mock", ctr.spec.template.metadata.labels["app"])
|
||||
self.assertEqual("mock", ctr.spec.selector["app"])
|
||||
self.assertEqual(1, ctr.spec.replicas)
|
||||
self.assertEqual("k8s.gcr.io/pause:2.0", ctr.spec.template.spec.containers[0].image)
|
||||
self.assertEqual("mock-container", ctr.spec.template.spec.containers[0].name)
|
||||
|
||||
core_api.delete_namespaced_replication_controller(
|
||||
name="mock", namespace="default", propagation_policy="Background")
|
||||
core_api.delete_namespaced_service(name="mock",
|
||||
@ -345,12 +429,26 @@ class TestUtils(unittest.TestCase):
|
||||
pod_0 = core_api.read_namespaced_pod(
|
||||
name="mock-pod-0", namespace="default")
|
||||
self.assertIsNotNone(pod_0)
|
||||
self.assertEqual("mock-pod-0", pod_0.metadata.name)
|
||||
self.assertEqual("mock-pod-0", pod_0.metadata.labels["app"])
|
||||
self.assertEqual("mock-pod-0", pod_0.spec.containers[0].name)
|
||||
self.assertEqual("busybox", pod_0.spec.containers[0].image)
|
||||
|
||||
pod_1 = core_api.read_namespaced_pod(
|
||||
name="mock-pod-1", namespace="default")
|
||||
self.assertIsNotNone(pod_1)
|
||||
self.assertEqual("mock-pod-1", pod_1.metadata.name)
|
||||
self.assertEqual("mock-pod-1", pod_1.metadata.labels["app"])
|
||||
self.assertEqual("mock-pod-1", pod_1.spec.containers[0].name)
|
||||
self.assertEqual("busybox", pod_1.spec.containers[0].image)
|
||||
|
||||
dep = app_api.read_namespaced_deployment(
|
||||
name="mock", namespace="default")
|
||||
self.assertIsNotNone(dep)
|
||||
self.assertEqual("mock", dep.metadata.name)
|
||||
self.assertEqual("mock", dep.spec.template.metadata.labels["app"])
|
||||
self.assertEqual(3, dep.spec.replicas)
|
||||
|
||||
core_api.delete_namespaced_pod(
|
||||
name="mock-pod-0", namespace="default", body={})
|
||||
core_api.delete_namespaced_pod(
|
||||
@ -372,6 +470,11 @@ class TestUtils(unittest.TestCase):
|
||||
svc = core_api.read_namespaced_service(name="mock-2",
|
||||
namespace="default")
|
||||
self.assertIsNotNone(svc)
|
||||
self.assertEqual("mock-2", svc.metadata.name)
|
||||
self.assertEqual("mock-2", svc.metadata.labels["app"])
|
||||
self.assertEqual("mock-2", svc.spec.selector["app"])
|
||||
self.assertEqual(99, svc.spec.ports[0].port)
|
||||
|
||||
with self.assertRaises(utils.FailToCreateError) as cm:
|
||||
utils.create_from_yaml(
|
||||
k8s_client, self.path_prefix + "yaml-conflict-multi.yaml")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user