public async Task GetLogEntryDetailsReturns404IfLogEntryDetailsDoesNotExist() { // Arrange var deploymentManager = new Mock<IDeploymentManager>(); deploymentManager .Setup(d => d.GetLogEntryDetails(It.IsAny<string>(), It.IsAny<string>())) .Returns(Enumerable.Empty<LogEntry>()); var controller = new DeploymentController(Mock.Of<ITracer>(), Mock.Of<IEnvironment>(), Mock.Of<IAnalytics>(), deploymentManager.Object, Mock.Of<IDeploymentStatusManager>(), Mock.Of<IOperationLock>(), Mock.Of<IRepositoryFactory>(), Mock.Of<IAutoSwapHandler>()); controller.Request = GetRequest(); // Act var response = controller.GetLogEntryDetails("deplymentId", "logId"); // Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); Assert.Equal(@"{""Message"":""LogId 'logId' was not found in Deployment 'deplymentId'.""}", await response.Content.ReadAsStringAsync()); }
public async Task RedeployReturns404IfRepoDoesNotExist() { // Arrange var repoFactory = new Mock<IRepositoryFactory>(); repoFactory.Setup(r => r.GetRepository()).Returns((IRepository)null); var opLock = new Mock<IOperationLock>(); opLock.Setup(f => f.Lock()).Returns(true); var controller = new DeploymentController(Mock.Of<ITracer>(), Mock.Of<IEnvironment>(), Mock.Of<IAnalytics>(), Mock.Of<IDeploymentManager>(), Mock.Of<IDeploymentStatusManager>(), opLock.Object, repoFactory.Object, Mock.Of<IAutoSwapHandler>()); controller.Request = GetRequest(); // Act var response = await Assert.ThrowsAsync<HttpResponseException>(async () => await controller.Deploy()); // Assert Assert.Equal(HttpStatusCode.NotFound, response.Response.StatusCode); Assert.Equal(@"{""Message"":""Repository could not be found.""}", await response.Response.Content.ReadAsStringAsync()); }
public async Task RedeployReturns404IfCommitDoesNotExist() { // Arrange var repository = new Mock<IRepository>(); repository.Setup(r => r.GetChangeSet(It.IsAny<string>())) .Returns((ChangeSet)null); var repoFactory = new Mock<IRepositoryFactory>(); repoFactory.Setup(r => r.GetRepository()).Returns(repository.Object); var opLock = new Mock<IOperationLock>(); opLock.Setup(f => f.Lock()).Returns(true); var controller = new DeploymentController(Mock.Of<ITracer>(), Mock.Of<IDeploymentManager>(), Mock.Of<IDeploymentStatusManager>(), opLock.Object, repoFactory.Object); controller.Request = GetRequest(); // Act var response = await ExceptionAssert.ThrowsAsync<HttpResponseException>(async () => await controller.Deploy("1234")); // Assert Assert.Equal(HttpStatusCode.NotFound, response.Response.StatusCode); Assert.Equal(@"{""Message"":""Deployment '1234' not found.""}", await response.Response.Content.ReadAsStringAsync()); }
public void TryParseDeployResultTests(string id, JObject payload, bool expected) { // Arrange var controller = new DeploymentController(Mock.Of<ITracer>(), Mock.Of<IEnvironment>(), Mock.Of<IAnalytics>(), Mock.Of<IDeploymentManager>(), Mock.Of<IDeploymentStatusManager>(), Mock.Of<IOperationLock>(), Mock.Of<IRepositoryFactory>(), Mock.Of<IAutoSwapHandler>()); // Act DeployResult result; var actual = controller.TryParseDeployResult(id, payload, out result); // Assert Assert.Equal(expected, actual); Assert.True(actual ? result != null : result == null); if (result != null) { Assert.Equal(id, result.Id); Assert.Equal((DeployStatus)payload.Value<int>("status"), result.Status); Assert.Equal(payload.Value<string>("message"), result.Message); Assert.Equal(payload.Value<string>("deployer"), result.Deployer); Assert.Equal(payload.Value<string>("author"), result.Author); Assert.Equal(payload.Value<string>("author_email"), result.AuthorEmail); Assert.NotNull(result.StartTime); Assert.NotNull(result.EndTime); var startTime = payload.Value<DateTime?>("start_time"); if (startTime != null) { Assert.Equal(startTime, result.StartTime); } var endTime = payload.Value<DateTime?>("end_time"); if (endTime != null) { Assert.Equal(endTime, result.EndTime); } var active = payload.Value<bool?>("active"); if (active == null) { Assert.Equal(result.Status == DeployStatus.Success, result.Current); } else { Assert.Equal(active, result.Current); } } }