Exemple #1
0
        public async Task GetById_WhenCalled_UnknownID_ReturnsNotFoundResult()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var envs = new List <Environment>
            {
                new Environment()
                {
                    Id = Guid.Parse("00000000-0000-0000-0000-000000000001")
                },
                new Environment()
                {
                    Id = Guid.Parse("00000000-0000-0000-0000-000000000002")
                }
            };

            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000001"))).ReturnsAsync(envs[0]);
            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000002"))).ReturnsAsync(envs[1]);
            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000003"))).ReturnsAsync((Environment)null);

            var controller = new EnvironmentsController(mockedRepo.Object);
            var result     = await controller.Get("00000000-0000-0000-0000-000000000003");

            var contentResult = result as NotFoundResult;

            Assert.NotNull(contentResult);
        }
Exemple #2
0
 public GetStateSpecs()
 {
     _fixture         = new Fixture();
     _readModelFacade = Substitute.For <IReadModelFacade>();
     _controller      = new EnvironmentsController(_readModelFacade);
     _projectId       = _fixture.Create <Guid>();
 }
Exemple #3
0
            public void Returns_404_For_An_Invalid_Url()
            {
                var environmentsQuerySelector = Substitute.For <IIndex <ApiMode, IEnvironmentService> >();
                var environmentsQuery         = Substitute.For <IEnvironmentService>();

                environmentsQuery.Get(new Uri(TestUriString)).ReturnsForAnyArgs(new Environment());
                environmentsQuerySelector[ApiMode.Demo].ReturnsForAnyArgs(environmentsQuery);

                var controller = new EnvironmentsController(environmentsQuerySelector)
                {
                    ControllerContext = new HttpControllerContext
                    {
                        Request = new HttpRequestMessage()
                    }
                };

                controller.ControllerContext.Request.Properties.Add("x-api-mode", ApiMode.Demo);

                try
                {
                    controller.Get("Not a valid url");
                }
                catch (HttpResponseException ex)
                {
                    ex.Response.StatusCode.ShouldBe(HttpStatusCode.NotFound);
                }
            }
Exemple #4
0
        public async Task GetById_WhenCalled_ReturnsOkResult()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var envs = new List <Environment>
            {
                new Environment()
                {
                    Id = Guid.Parse("00000000-0000-0000-0000-000000000001")
                },
                new Environment()
                {
                    Id = Guid.Parse("00000000-0000-0000-0000-000000000002")
                }
            };

            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000001"))).ReturnsAsync(envs[0]);
            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000002"))).ReturnsAsync(envs[1]);

            var controller = new EnvironmentsController(mockedRepo.Object);
            var result     = await controller.Get("00000000-0000-0000-0000-000000000001");

            var contentResult = (result as OkObjectResult).Value as Environment;

            Assert.NotNull(contentResult);
            Assert.Equal(contentResult, envs[0]);

            result = await controller.Get("00000000-0000-0000-0000-000000000002");

            contentResult = (result as OkObjectResult).Value as Environment;

            Assert.NotNull(result);
            Assert.Equal(contentResult, envs[1]);
        }
Exemple #5
0
        public async Task TestGetEnvironmentsReturnsOctopusData()
        {
            var octopusApi = new Mock <IOctopusProxy>(MockBehavior.Strict);

            octopusApi.Setup(o => o.GetEnvironmentsAsync()).ReturnsAsync(new[] { new EnvironmentResource() });

            var controller = new EnvironmentsController(octopusApi.Object);

            var result = await controller.GetEnvironments();

            Assert.NotNull(result);

            octopusApi.VerifyAll();
        }
Exemple #6
0
        public async Task Put_WhenCalled_ReturnsOkResult()
        {
            var mockedRepo  = new Mock <IHomeRepository>();
            var environment = new Environment()
            {
                Id = Guid.Parse("00000000-0000-0000-0000-000000000000")
            };

            mockedRepo.Setup(repo => repo.EditEnvironment(environment)).ReturnsAsync(true);
            var controller = new EnvironmentsController(mockedRepo.Object);
            var result     = await controller.Put(environment);

            var contentResult = (result as OkObjectResult).Value;

            Assert.NotNull(contentResult);
            Assert.Equal(contentResult, environment);
        }
Exemple #7
0
        public async Task Delete_WhenCalled_UnknownObject_ReturnsNotFound()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new EnvironmentsController(mockedRepo.Object);

            var newEnv = new Environment()
            {
                Id = Guid.Parse("00000000-0000-0000-0000-000000000003")
            };

            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000002"))).ReturnsAsync((Environment)null);

            var result = await controller.Delete("00000000-0000-0000-0000-000000000002");

            var contentResult = result as NotFoundResult;

            Assert.NotNull(contentResult);
        }
Exemple #8
0
        public async Task Put_WhenCalled_BadObject_ReturnsBadRequest()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new EnvironmentsController(mockedRepo.Object);

            var newEnv = new Environment()
            {
                Id = Guid.Parse("00000000-0000-0000-0000-000000000003")
            };

            mockedRepo.Setup(repo => repo.EditEnvironment(newEnv)).ReturnsAsync(false);

            var result = await controller.Put(newEnv);

            var contentResult = result as BadRequestResult;

            Assert.NotNull(contentResult);
        }
Exemple #9
0
            public void Returns_A_Valid_Demo_Response()
            {
                var environmentsQuerySelector = Substitute.For <IIndex <ApiMode, IEnvironmentService> >();

                environmentsQuerySelector[ApiMode.Demo].Returns(new EnvironmentServiceStub());

                var controller = new EnvironmentsController(environmentsQuerySelector)
                {
                    ControllerContext = new HttpControllerContext
                    {
                        Request = new HttpRequestMessage()
                    }
                };

                controller.ControllerContext.Request.Properties.Add("x-api-mode", ApiMode.Demo);
                var response = controller.Get();

                response.ShouldNotBeSameAs(null);
            }
Exemple #10
0
        public async Task Delete_WhenCalled_DeleteFailed_ReturnsServerError()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new EnvironmentsController(mockedRepo.Object);

            var newEnv = new Environment()
            {
                Id = Guid.Parse("00000000-0000-0000-0000-000000000003")
            };

            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000003"))).ReturnsAsync(newEnv);
            mockedRepo.Setup(repo => repo.DeleteEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000003"))).ReturnsAsync(false);

            var result = await controller.Delete("00000000-0000-0000-0000-000000000003");

            var contentResult = result as StatusCodeResult;

            Assert.NotNull(contentResult);
            Assert.Equal(StatusCodes.Status500InternalServerError, contentResult.StatusCode);
        }
Exemple #11
0
        public async Task Delete_WhenCalled_ReturnsOk()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new EnvironmentsController(mockedRepo.Object);

            var newEnv = new Environment()
            {
                Id = Guid.Parse("00000000-0000-0000-0000-000000000003")
            };

            mockedRepo.Setup(repo => repo.GetEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000003"))).ReturnsAsync(newEnv);
            mockedRepo.Setup(repo => repo.DeleteEnvironment(Guid.Parse("00000000-0000-0000-0000-000000000003"))).ReturnsAsync(true);

            var result = await controller.Delete("00000000-0000-0000-0000-000000000003");

            var contentResult = (result as OkObjectResult).Value;

            Assert.NotNull(contentResult);
            Assert.Equal(newEnv, contentResult);
        }
Exemple #12
0
            public void Returns_An_Environment_For_A_Valid_Url()
            {
                var environmentsQuerySelector = Substitute.For <IIndex <ApiMode, IEnvironmentService> >();
                var environmentsQuery         = Substitute.For <IEnvironmentService>();

                environmentsQuery.Get(new Uri(TestUriString)).ReturnsForAnyArgs(new Environment());
                environmentsQuerySelector[ApiMode.Demo].ReturnsForAnyArgs(environmentsQuery);

                var controller = new EnvironmentsController(environmentsQuerySelector)
                {
                    ControllerContext = new HttpControllerContext
                    {
                        Request = new HttpRequestMessage()
                    }
                };

                controller.ControllerContext.Request.Properties.Add("x-api-mode", ApiMode.Demo);

                var response = controller.Get(TestUriString);

                Assert.IsNotNull(response);
            }