Files
csharp/tests/KubernetesClient.Tests/V1StatusObjectViewTests.cs

77 lines
2.2 KiB
C#
Raw Normal View History

2017-11-07 16:55:01 +08:00
using k8s.Models;
using k8s.Tests.Mock;
using Newtonsoft.Json;
using Xunit;
using Xunit.Abstractions;
2017-11-07 16:55:01 +08:00
namespace k8s.Tests
{
public class V1StatusObjectViewTests
{
private readonly ITestOutputHelper testOutput;
public V1StatusObjectViewTests(ITestOutputHelper testOutput)
{
this.testOutput = testOutput;
}
2017-11-07 16:55:01 +08:00
[Fact]
2017-11-11 03:50:30 +08:00
public void ReturnStatus()
2017-11-07 16:55:01 +08:00
{
var v1Status = new V1Status
{
Message = "test message",
Status = "test status"
};
using (var server = new MockKubeApiServer(testOutput, resp: JsonConvert.SerializeObject(v1Status)))
2017-11-07 16:55:01 +08:00
{
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]
2017-11-11 03:50:30 +08:00
public void ReturnObject()
2017-11-07 16:55:01 +08:00
{
var corev1Namespace = new V1Namespace()
2017-11-07 16:55:01 +08:00
{
Metadata = new V1ObjectMeta()
{
Name = "test name"
},
Status = new V1NamespaceStatus()
2017-11-07 16:55:01 +08:00
{
Phase = "test termating"
}
};
2017-11-07 16:55:01 +08:00
using (var server = new MockKubeApiServer(testOutput, resp: JsonConvert.SerializeObject(corev1Namespace)))
2017-11-07 16:55:01 +08:00
{
var client = new Kubernetes(new KubernetesClientConfiguration
{
Host = server.Uri.ToString()
});
var status = client.DeleteNamespace(new V1DeleteOptions(), "test");
2017-11-07 16:55:01 +08:00
Assert.True(status.HasObject);
var obj = status.ObjectView<V1Namespace>();
2017-11-07 16:55:01 +08:00
Assert.Equal(obj.Metadata.Name, corev1Namespace.Metadata.Name);
Assert.Equal(obj.Status.Phase, corev1Namespace.Status.Phase);
2017-11-07 16:55:01 +08:00
}
}
}
2017-11-07 16:55:01 +08:00
}