Skip to content

Commit cd45229

Browse files
committed
Add e2e test for create_namespaced_from_yaml
1 parent 1f45d15 commit cd45229

File tree

3 files changed

+90
-17
lines changed

3 files changed

+90
-17
lines changed

kubernetes/e2e_test/test_utils.py

Lines changed: 80 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,35 @@
1717
from kubernetes import utils, client
1818
from kubernetes.e2e_test import base
1919

20+
2021
class TestUtils(unittest.TestCase):
2122

2223
@classmethod
2324
def setUpClass(cls):
2425
cls.config = base.get_e2e_configuration()
26+
cls.test_namespace = "e2e-test-utils"
27+
k8s_client = client.api_client.ApiClient(configuration=cls.config)
28+
core_v1 = client.CoreV1Api(api_client=k8s_client)
29+
body = client.V1Namespace(metadata=client.V1ObjectMeta(name=cls.test_namespace))
30+
core_v1.create_namespace(body=body)
31+
32+
@classmethod
33+
def tearDownClass(cls):
34+
k8s_client = client.api_client.ApiClient(configuration=cls.config)
35+
core_v1 = client.CoreV1Api(api_client=k8s_client)
36+
core_v1.delete_namespace(name=cls.test_namespace)
2537

2638
def test_app_yaml(self):
2739
k8s_client = client.api_client.ApiClient(configuration=self.config)
28-
k8s_api = utils.create_from_yaml(k8s_client,
40+
k8s_api = utils.create_from_yaml(k8s_client,
2941
"kubernetes/e2e_test/test_yaml/apps-deployment.yaml")
30-
self.assertEqual("apps/v1beta1",
42+
self.assertEqual("apps/v1beta1",
3143
k8s_api.get_api_resources().group_version)
3244
dep = k8s_api.read_namespaced_deployment(name="nginx-app",
3345
namespace="default")
3446
self.assertIsNotNone(dep)
35-
resp = k8s_api.delete_namespaced_deployment(
36-
name="nginx-app", namespace="default",
47+
k8s_api.delete_namespaced_deployment(
48+
name="nginx-app", namespace="default",
3749
body={})
3850

3951
def test_extension_yaml(self):
@@ -45,7 +57,7 @@ def test_extension_yaml(self):
4557
dep = k8s_api.read_namespaced_deployment(name="nginx-deployment",
4658
namespace="default")
4759
self.assertIsNotNone(dep)
48-
resp = k8s_api.delete_namespaced_deployment(
60+
k8s_api.delete_namespaced_deployment(
4961
name="nginx-deployment", namespace="default",
5062
body={})
5163

@@ -58,7 +70,7 @@ def test_core_pod_yaml(self):
5870
pod = k8s_api.read_namespaced_pod(name="myapp-pod",
5971
namespace="default")
6072
self.assertIsNotNone(pod)
61-
resp = k8s_api.delete_namespaced_pod(
73+
k8s_api.delete_namespaced_pod(
6274
name="myapp-pod", namespace="default",
6375
body={})
6476

@@ -71,7 +83,7 @@ def test_core_service_yaml(self):
7183
svc = k8s_api.read_namespaced_service(name="my-service",
7284
namespace="default")
7385
self.assertIsNotNone(svc)
74-
resp = k8s_api.delete_namespaced_service(
86+
k8s_api.delete_namespaced_service(
7587
name="my-service", namespace="default",
7688
body={})
7789

@@ -83,7 +95,7 @@ def test_core_namespace_yaml(self):
8395
k8s_api.get_api_resources().group_version)
8496
nmsp = k8s_api.read_namespace(name="development")
8597
self.assertIsNotNone(nmsp)
86-
resp = k8s_api.delete_namespace(name="development", body={})
98+
k8s_api.delete_namespace(name="development", body={})
8799

88100
def test_deployment_in_namespace(self):
89101
k8s_client = client.ApiClient(configuration=self.config)
@@ -98,10 +110,10 @@ def test_deployment_in_namespace(self):
98110
dep = dep_api.read_namespaced_deployment(name="nginx-deployment",
99111
namespace="dep")
100112
self.assertIsNotNone(dep)
101-
resp = dep_api.delete_namespaced_deployment(
113+
dep_api.delete_namespaced_deployment(
102114
name="nginx-deployment", namespace="dep",
103115
body={})
104-
resp = core_api.delete_namespace(name="dep", body={})
116+
core_api.delete_namespace(name="dep", body={})
105117

106118
def test_api_service(self):
107119
k8s_client = client.api_client.ApiClient(configuration=self.config)
@@ -112,5 +124,61 @@ def test_api_service(self):
112124
svc = k8s_api.read_api_service(
113125
name="v1alpha1.wardle.k8s.io")
114126
self.assertIsNotNone(svc)
115-
resp = k8s_api.delete_api_service(
116-
name="v1alpha1.wardle.k8s.io", body={})
127+
k8s_api.delete_api_service(
128+
name="v1alpha1.wardle.k8s.io", body={})
129+
130+
def test_namespaced_app_yaml(self):
131+
k8s_client = client.api_client.ApiClient(configuration=self.config)
132+
k8s_api = utils.create_namespaced_from_yaml(k8s_client,
133+
"kubernetes/e2e_test/test_yaml/apps-deployment.yaml",
134+
namespace=self.test_namespace)
135+
self.assertEqual("apps/v1beta1",
136+
k8s_api.get_api_resources().group_version)
137+
dep = k8s_api.read_namespaced_deployment(name="nginx-app",
138+
namespace=self.test_namespace,)
139+
self.assertIsNotNone(dep)
140+
k8s_api.delete_namespaced_deployment(
141+
name="nginx-app", namespace=self.test_namespace,
142+
body={})
143+
144+
def test_namespaced_extension_yaml(self):
145+
k8s_client = client.api_client.ApiClient(configuration=self.config)
146+
k8s_api = utils.create_namespaced_from_yaml(k8s_client,
147+
"kubernetes/e2e_test/test_yaml/extensions-deployment.yaml",
148+
namespace=self.test_namespace)
149+
self.assertEqual("extensions/v1beta1",
150+
k8s_api.get_api_resources().group_version)
151+
dep = k8s_api.read_namespaced_deployment(name="nginx-deployment",
152+
namespace=self.test_namespace)
153+
self.assertIsNotNone(dep)
154+
k8s_api.delete_namespaced_deployment(
155+
name="nginx-deployment", namespace=self.test_namespace,
156+
body={})
157+
158+
def test_namespaced_core_pod_yaml(self):
159+
k8s_client = client.api_client.ApiClient(configuration=self.config)
160+
k8s_api = utils.create_namespaced_from_yaml(k8s_client,
161+
"kubernetes/e2e_test/test_yaml/core-pod.yaml",
162+
namespace=self.test_namespace)
163+
self.assertEqual("v1",
164+
k8s_api.get_api_resources().group_version)
165+
pod = k8s_api.read_namespaced_pod(name="myapp-pod",
166+
namespace=self.test_namespace)
167+
self.assertIsNotNone(pod)
168+
k8s_api.delete_namespaced_pod(
169+
name="myapp-pod", namespace=self.test_namespace,
170+
body={})
171+
172+
def test_namespaced_core_service_yaml(self):
173+
k8s_client = client.api_client.ApiClient(configuration=self.config)
174+
k8s_api = utils.create_namespaced_from_yaml(k8s_client,
175+
"kubernetes/e2e_test/test_yaml/core-service.yaml",
176+
namespace=self.test_namespace)
177+
self.assertEqual("v1",
178+
k8s_api.get_api_resources().group_version)
179+
svc = k8s_api.read_namespaced_service(name="my-service",
180+
namespace=self.test_namespace)
181+
self.assertIsNotNone(svc)
182+
k8s_api.delete_namespaced_service(
183+
name="my-service", namespace=self.test_namespace,
184+
body={})

kubernetes/utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
from .create_from_yaml import create_from_yaml
15+
from .create_from_yaml import create_from_yaml, create_namespaced_from_yaml

kubernetes/utils/create_from_yaml.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@
1818
from os import path
1919

2020
import yaml
21-
from six import iteritems
22-
2321
from kubernetes import client
22+
from six import iteritems
2423

2524

26-
def create_namespaced_from_yaml(k8s_client, yaml_file, verbose=False, namespace=None, **kwargs):
25+
def create_namespaced_from_yaml(
26+
k8s_client,
27+
yaml_file,
28+
verbose=False,
29+
namespace=None,
30+
**kwargs):
2731
"""
2832
Perform an action from a yaml file. Pass True for verbose to
2933
print confirmation information.
@@ -94,4 +98,5 @@ def create_from_yaml(k8s_client, yaml_file, verbose=False, **kwargs):
9498
:param str pretty: If 'true', then the output is pretty printed.
9599
:param str dry_run: When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
96100
"""
97-
return create_namespaced_from_yaml(k8s_client, yaml_file, verbose, None, **kwargs)
101+
return create_namespaced_from_yaml(
102+
k8s_client, yaml_file, verbose, None, **kwargs)

0 commit comments

Comments
 (0)