2018-09-27 10:50:39 -07:00
|
|
|
using k8s.Models;
|
|
|
|
|
using k8s.Tests.Mock;
|
2021-12-13 07:31:59 -08:00
|
|
|
using System.Text.Json;
|
2018-09-27 10:50:39 -07:00
|
|
|
using Xunit;
|
2018-03-20 16:03:28 +11:00
|
|
|
using Xunit.Abstractions;
|
2018-09-27 10:50:39 -07:00
|
|
|
|
|
|
|
|
namespace k8s.Tests
|
|
|
|
|
{
|
|
|
|
|
public class V1StatusObjectViewTests
|
2018-03-20 16:03:28 +11:00
|
|
|
{
|
2018-04-28 05:40:47 +02:00
|
|
|
private readonly ITestOutputHelper testOutput;
|
|
|
|
|
|
|
|
|
|
public V1StatusObjectViewTests(ITestOutputHelper testOutput)
|
2018-03-20 16:03:28 +11:00
|
|
|
{
|
2018-04-28 05:40:47 +02:00
|
|
|
this.testOutput = testOutput;
|
2018-03-20 16:03:28 +11:00
|
|
|
}
|
2018-09-27 10:50:39 -07:00
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void ReturnStatus()
|
|
|
|
|
{
|
2020-04-23 11:40:06 -07:00
|
|
|
var v1Status = new V1Status { Message = "test message", Status = "test status" };
|
2018-09-27 10:50:39 -07:00
|
|
|
|
2021-12-13 07:31:59 -08:00
|
|
|
using (var server = new MockKubeApiServer(testOutput, resp: JsonSerializer.Serialize(v1Status)))
|
2018-09-27 10:50:39 -07:00
|
|
|
{
|
2020-04-23 11:40:06 -07:00
|
|
|
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
|
2018-09-27 10:50:39 -07:00
|
|
|
|
2022-05-07 13:05:17 -07:00
|
|
|
var status = client.CoreV1.DeleteNamespace("test", new V1DeleteOptions());
|
2018-09-27 10:50:39 -07:00
|
|
|
|
|
|
|
|
Assert.False(status.HasObject);
|
|
|
|
|
Assert.Equal(v1Status.Message, status.Message);
|
|
|
|
|
Assert.Equal(v1Status.Status, status.Status);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void ReturnObject()
|
|
|
|
|
{
|
|
|
|
|
var corev1Namespace = new V1Namespace()
|
|
|
|
|
{
|
2020-04-23 11:40:06 -07:00
|
|
|
Metadata = new V1ObjectMeta() { Name = "test name" },
|
|
|
|
|
Status = new V1NamespaceStatus() { Phase = "test termating" },
|
2018-09-27 10:50:39 -07:00
|
|
|
};
|
|
|
|
|
|
2021-12-13 07:31:59 -08:00
|
|
|
using (var server = new MockKubeApiServer(testOutput, resp: KubernetesJson.Serialize(corev1Namespace)))
|
2018-09-27 10:50:39 -07:00
|
|
|
{
|
2020-04-23 11:40:06 -07:00
|
|
|
var client = new Kubernetes(new KubernetesClientConfiguration { Host = server.Uri.ToString() });
|
2018-09-27 10:50:39 -07:00
|
|
|
|
2022-05-07 13:05:17 -07:00
|
|
|
var status = client.CoreV1.DeleteNamespace("test", new V1DeleteOptions());
|
2018-09-27 10:50:39 -07:00
|
|
|
|
|
|
|
|
Assert.True(status.HasObject);
|
|
|
|
|
|
|
|
|
|
var obj = status.ObjectView<V1Namespace>();
|
|
|
|
|
|
|
|
|
|
Assert.Equal(obj.Metadata.Name, corev1Namespace.Metadata.Name);
|
|
|
|
|
Assert.Equal(obj.Status.Phase, corev1Namespace.Status.Phase);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-04-22 12:15:45 -07:00
|
|
|
}
|