public void PodV1Result_From_SuccessStatus_ImplicitCast_Resource()
        {
            var result = new KubeResourceResultV1 <PodV1>(new StatusV1
            {
                Status  = "Success",
                Message = "Most definitely a success."
            });

            PodV1 pod = result;

            Assert.Null(pod);
        }
        public void PodV1Result_From_FailureStatus_ImplicitCast_Status()
        {
            var result = new KubeResourceResultV1 <PodV1>(new StatusV1
            {
                Status  = "Failure",
                Message = "Most definitely not a success."
            });

            StatusV1 status = result;

            Assert.NotNull(status);
            Assert.Equal("Failure", status.Status);
            Assert.Equal("Most definitely not a success.", status.Message);
        }
        public void PodV1Result_From_FailureStatus_ImplicitCast_Resource()
        {
            PodV1 pod = null;

            KubeApiException exception = Assert.Throws <KubeApiException>(() =>
            {
                pod = new KubeResourceResultV1 <PodV1>(new StatusV1
                {
                    Status  = "Failure",
                    Message = "Most definitely not a success."
                });
            });

            Assert.Null(pod);
            Assert.True(exception.HasStatus);
            Assert.Equal("Failure", exception.Status.Status);
            Assert.Equal("Most definitely not a success.", exception.Status.Message);
        }
        public void PodV1Result_From_PodV1_ImplicitCast_Resource()
        {
            PodV1 expected = new PodV1
            {
                Metadata = new ObjectMetaV1
                {
                    Name      = "my-pod",
                    Namespace = "my-namespace"
                }
            };

            var result = new KubeResourceResultV1 <PodV1>(expected);

            PodV1 actual = result;

            Assert.NotNull(actual);
            Assert.Same(expected, actual);
        }