Skip to content

Commit

Permalink
Enhance List handling, add yaml/json tests
Browse files Browse the repository at this point in the history
  • Loading branch information
micw523 committed Nov 10, 2018
1 parent 4d4ce21 commit 8b208ef
Show file tree
Hide file tree
Showing 7 changed files with 338 additions and 36 deletions.
84 changes: 82 additions & 2 deletions kubernetes/e2e_test/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def test_deployment_in_namespace(self):
body={})
resp = core_api.delete_namespace(name="dep", body={})

def test_api_service(self):
def test_api_service_with_conflict(self):
k8s_client = client.api_client.ApiClient(configuration=self.config)
k8s_api = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/api-service.yaml")
Expand All @@ -112,5 +112,85 @@ def test_api_service(self):
svc = k8s_api.read_api_service(
name="v1alpha1.wardle.k8s.io")
self.assertIsNotNone(svc)
svc_conflict = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/api-service.yaml")
self.assertEqual([], svc_conflict)
resp = k8s_api.delete_api_service(
name="v1alpha1.wardle.k8s.io", body={})
name="v1alpha1.wardle.k8s.io", body={})

def test_list(self):
k8s_client = client.api_client.ApiClient(configuration=self.config)
k8s_api = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/list.yaml")
svc_api = k8s_api[0]
self.assertEqual("v1", svc_api.get_api_resources().group_version)
svc = svc_api.read_namespaced_service(name="list-service-test",
namespace="default")
self.assertIsNotNone(svc)
ext_api = k8s_api[1]
self.assertEqual("extensions/v1beta1",
ext_api.get_api_resources().group_version)
dep = ext_api.read_namespaced_deployment(name="list-deployment-test",
namespace="default")
self.assertIsNotNone(dep)
ext_api.delete_namespaced_deployment(name="list-deployment-test",
namespace="default", body={})
svc_api.delete_namespaced_service(name="list-service-test",
namespace="default", body={})

def test_multi_resource(self):
k8s_client = client.api_client.ApiClient(configuration=self.config)
k8s_api = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/multi-resource-yaml.yaml")
svc_api = k8s_api[0]
self.assertEqual("v1", svc_api.get_api_resources().group_version)
svc = svc_api.read_namespaced_service(name="mock",
namespace="default")
self.assertIsNotNone(svc)
ctr_api = k8s_api[1]
self.assertEqual("v1", ctr_api.get_api_resources().group_version)
ctr = ctr_api.read_namespaced_replication_controller(
name="mock", namespace="default")
self.assertIsNotNone(ctr)
ctr_api.delete_namespaced_replication_controller(name="mock",
namespace="default", body={})
svc_api.delete_namespaced_service(name="mock",
namespace="default", body={})

def test_multi_resource_with_conflict(self):
k8s_client = client.api_client.ApiClient(configuration=self.config)
svc_api = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/yaml-conflict-first.yaml")
self.assertEqual("v1", svc_api.get_api_resources().group_version)
svc = svc_api.read_namespaced_service(name="mock-2",
namespace="default")
self.assertIsNotNone(svc)
ctr_api = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/yaml-conflict-multi.yaml")
self.assertEqual("v1", ctr_api.get_api_resources().group_version)
ctr = ctr_api.read_namespaced_replication_controller(
name="mock-2", namespace="default")
self.assertIsNotNone(ctr)
ctr_api.delete_namespaced_replication_controller(name="mock-2",
namespace="default", body={})
svc_api.delete_namespaced_service(name="mock-2",
namespace="default", body={})

def test_svc_list_with_conflict_no_kind(self):
k8s_client = client.api_client.ApiClient(configuration=self.config)
svc_apis = utils.create_from_yaml(k8s_client,
"kubernetes/e2e_test/test_yaml/multi-resource-svclist.json")
svc_api_0 = svc_apis[0]
self.assertEqual("v1", svc_api_0.get_api_resources().group_version)
svc_0 = svc_api_0.read_namespaced_service(name="mock-3",
namespace="default")
self.assertIsNotNone(svc_0)
svc_api_1 = svc_apis[1]
self.assertEqual("v1", svc_api_1.get_api_resources().group_version)
svc_1 = svc_api_1.read_namespaced_service(name="mock-4",
namespace="default")
self.assertIsNotNone(svc_1)
svc_api_0.delete_namespaced_service(name="mock-3",
namespace="default", body={})
svc_api_1.delete_namespaced_service(name="mock-4",
namespace="default", body={})
29 changes: 29 additions & 0 deletions kubernetes/e2e_test/test_yaml/list.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
name: list-service-test
spec:
ports:
- protocol: TCP
port: 80
selector:
app: list-deployment-test
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: list-deployment-test
labels:
app: list-deployment-test
spec:
replicas: 1
template:
metadata:
labels:
app: list-deployment-test
spec:
containers:
- name: nginx
image: nginx
60 changes: 60 additions & 0 deletions kubernetes/e2e_test/test_yaml/multi-resource-svclist.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"kind":"ServiceList",
"apiVersion":"v1",
"items":[
{
"metadata":{
"name":"mock-3",
"labels":{
"app":"mock-3"
}
},
"spec":{
"ports": [{
"protocol": "TCP",
"port": 99,
"targetPort": 9949
}],
"selector":{
"app":"mock-3"
}
}
},
{
"metadata":{
"name":"mock-3",
"labels":{
"app":"mock-3"
}
},
"spec":{
"ports": [{
"protocol": "TCP",
"port": 99,
"targetPort": 9949
}],
"selector":{
"app":"mock-3"
}
}
},
{
"metadata":{
"name":"mock-4",
"labels":{
"app":"mock-4"
}
},
"spec":{
"ports": [{
"protocol": "TCP",
"port": 99,
"targetPort": 9949
}],
"selector":{
"app":"mock-4"
}
}
}
]
}
33 changes: 33 additions & 0 deletions kubernetes/e2e_test/test_yaml/multi-resource-yaml.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: v1
kind: Service
metadata:
name: mock
labels:
app: mock
spec:
ports:
- port: 99
protocol: TCP
targetPort: 9949
selector:
app: mock
---
apiVersion: v1
kind: ReplicationController
metadata:
name: mock
spec:
replicas: 1
selector:
app: mock
template:
metadata:
labels:
app: mock
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:2.0
ports:
- containerPort: 9949
protocol: TCP
13 changes: 13 additions & 0 deletions kubernetes/e2e_test/test_yaml/yaml-conflict-first.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: mock-2
labels:
app: mock-2
spec:
ports:
- port: 99
protocol: TCP
targetPort: 9949
selector:
app: mock-2
33 changes: 33 additions & 0 deletions kubernetes/e2e_test/test_yaml/yaml-conflict-multi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: v1
kind: Service
metadata:
name: mock-2
labels:
app: mock-2
spec:
ports:
- port: 99
protocol: TCP
targetPort: 9949
selector:
app: mock-2
---
apiVersion: v1
kind: ReplicationController
metadata:
name: mock-2
spec:
replicas: 1
selector:
app: mock-2
template:
metadata:
labels:
app: mock-2
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:2.0
ports:
- containerPort: 9949
protocol: TCP
Loading

0 comments on commit 8b208ef

Please sign in to comment.