public async Task ListNamespacedObject()
        {
            var serverOptions = new MockKubeApiServerOptions(MockKubeServerFlags.ListPods);

            using var server = new MockKubeApiServer(_outputHelper, serverOptions.ShouldNext);
            var genericApi = Helpers.BuildGenericApi(server.Uri);

            var resp = await genericApi.ListAsync <V1PodList>(Namespaces.NamespaceDefault).ConfigureAwait(false);

            resp.Should().NotBeNull();
            resp.Items.Should().NotBeNull();
        }
        public void WatchNamespacedObject()
        {
            using var cts = new CancellationTokenSource();
            var serverOptions = new MockKubeApiServerOptions(MockKubeServerFlags.ModifiedPod);

            using var server = new MockKubeApiServer(_outputHelper, serverOptions.ShouldNext);
            var genericApi = Helpers.BuildGenericApi(server.Uri);

            using var resp = genericApi.Watch <V1Pod>(Namespaces.NamespaceDefault, (actionType, pod) => { }, exception => { }, () => { }, cts.Token);

            resp.Should().NotBeNull();
            cts.CancelAfter(1000);
            serverOptions.ServerShutdown?.Set();
        }
        public async Task GetNamespacedObject()
        {
            var serverOptions = new MockKubeApiServerOptions(MockKubeServerFlags.GetPod);

            using var server = new MockKubeApiServer(_outputHelper, serverOptions.ShouldNext);
            var podName    = "nginx-1493591563-xb2v4";
            var genericApi = Helpers.BuildGenericApi(server.Uri);

            var resp = await genericApi.GetAsync <V1Pod>(Namespaces.NamespaceDefault, podName).ConfigureAwait(false);

            resp.Should().NotBeNull();
            resp.Metadata.Name.Should().Be(podName);
            resp.Metadata.NamespaceProperty.Should().Be(Namespaces.NamespaceDefault);
        }