Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
                }
            }
        }