From 04e34d6c1015acc0b4277bcece6c721ba036fd4f Mon Sep 17 00:00:00 2001 From: Boshi Lian Date: Tue, 7 Nov 2017 16:55:01 +0800 Subject: [PATCH] add testcase for object view --- tests/V1StatusObjectViewTests.cs | 68 ++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tests/V1StatusObjectViewTests.cs diff --git a/tests/V1StatusObjectViewTests.cs b/tests/V1StatusObjectViewTests.cs new file mode 100644 index 0000000..9874e95 --- /dev/null +++ b/tests/V1StatusObjectViewTests.cs @@ -0,0 +1,68 @@ +using k8s.Models; +using k8s.Tests.Mock; +using Newtonsoft.Json; +using Xunit; + +namespace k8s.Tests +{ + public class V1StatusObjectViewTests + { + [Fact] + public void TestReturnStatus() + { + var v1Status = new V1Status + { + Message = "test message", + Status = "test status" + }; + + using (var server = new MockKubeApiServer(resp: JsonConvert.SerializeObject(v1Status))) + { + var client = new Kubernetes(new KubernetesClientConfiguration + { + Host = server.Uri.ToString() + }); + + var status = client.DeleteNamespace(new V1DeleteOptions(), "test"); + + Assert.False(status.HasObject); + Assert.Equal(v1Status.Message, status.Message); + Assert.Equal(v1Status.Status, status.Status); + } + } + + [Fact] + public void TestReturnObject() + { + var corev1Namespace = new Corev1Namespace() + { + Metadata = new V1ObjectMeta() + { + Name = "test name" + }, + Status = new Corev1NamespaceStatus() + { + Phase = "test termating" + } + }; + + using (var server = new MockKubeApiServer(resp: JsonConvert.SerializeObject(corev1Namespace))) + { + var client = new Kubernetes(new KubernetesClientConfiguration + { + Host = server.Uri.ToString() + }); + + var status = client.DeleteNamespace(new V1DeleteOptions(), "test"); + + Assert.True(status.HasObject); + + var obj = status.ObjectView(); + + Assert.Equal(obj.Metadata.Name, corev1Namespace.Metadata.Name); + Assert.Equal(obj.Status.Phase, corev1Namespace.Status.Phase); + } + + } + } + }