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); }
public GetStateSpecs() { _fixture = new Fixture(); _readModelFacade = Substitute.For <IReadModelFacade>(); _controller = new EnvironmentsController(_readModelFacade); _projectId = _fixture.Create <Guid>(); }
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); } }
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]); }
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(); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }