public async Task CreateAsync_Exception() { // Arrange ReleaseEntity releaseEntity = new ReleaseEntity { TagName = "1", Name = "1", Body = "test-app", TargetCommitish = "eec136ac2d31cf984d2053df79f181b99c3b4db5" }; List <string> buildStatus = new List <string>(); buildStatus.Add(BuildStatus.InProgress.ToEnumMemberAttributeValue()); buildStatus.Add(BuildStatus.NotStarted.ToEnumMemberAttributeValue()); List <string> buildResult = new List <string>(); buildResult.Add(BuildResult.Succeeded.ToEnumMemberAttributeValue()); _releaseRepository.Setup(r => r.Get( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), buildStatus, buildResult)).ReturnsAsync(GetReleases("createdRelease.json")); ReleaseService releaseService = new ReleaseService( _httpContextAccessor.Object, new Mock <IAzureDevOpsBuildClient>().Object, _releaseRepository.Object, new TestOptionsMonitor <AzureDevOpsSettings>(GetAzureDevOpsSettings()), _releaseLogger.Object); // Act HttpRequestWithStatusException resultException = null; try { await releaseService.CreateAsync(releaseEntity); } catch (HttpRequestWithStatusException e) { resultException = e; } // Assert Assert.NotNull(resultException); Assert.Equal(HttpStatusCode.Conflict, resultException.StatusCode); }
public async Task CreateAsync_OK() { // Arrange ReleaseEntity releaseEntity = new ReleaseEntity { TagName = "1", Name = "1", Body = "test-app", TargetCommitish = "eec136ac2d31cf984d2053df79f181b99c3b4db5" }; List <string> buildStatus = new List <string>(); buildStatus.Add(BuildStatus.InProgress.ToEnumMemberAttributeValue()); buildStatus.Add(BuildStatus.NotStarted.ToEnumMemberAttributeValue()); List <string> buildResult = new List <string>(); buildResult.Add(BuildResult.Succeeded.ToEnumMemberAttributeValue()); _releaseRepository.Setup(r => r.Get(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), buildStatus, buildResult)).ReturnsAsync(new List <ReleaseEntity>()); _releaseRepository.Setup(r => r.Create(It.IsAny <ReleaseEntity>())).ReturnsAsync(GetReleases("createdRelease.json").First()); Mock <IAzureDevOpsBuildClient> azureDevOpsBuildClient = new Mock <IAzureDevOpsBuildClient>(); azureDevOpsBuildClient.Setup(b => b.QueueAsync(It.IsAny <QueueBuildParameters>(), It.IsAny <int>())).ReturnsAsync(GetBuild()); ReleaseService releaseService = new ReleaseService( _httpContextAccessor.Object, azureDevOpsBuildClient.Object, _releaseRepository.Object, new TestOptionsMonitor <AzureDevOpsSettings>(GetAzureDevOpsSettings()), _releaseLogger.Object); // Act ReleaseEntity result = await releaseService.CreateAsync(releaseEntity); // Assert _releaseRepository.Verify(r => r.Get(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), buildStatus, buildResult), Times.Once); _releaseRepository.Verify(r => r.Create(It.IsAny <ReleaseEntity>()), Times.Once); azureDevOpsBuildClient.Verify(b => b.QueueAsync(It.IsAny <QueueBuildParameters>(), It.IsAny <int>()), Times.Once); }
public async Task CreateAsync_NotStarted_CreatedRelease() { ReleaseEntity releaseToReturn = CreateReleaseEntity(BuildStatus.NotStarted, BuildResult.None); _releaseDbRepoMock.Setup(x => x.GetWithSqlAsync <ReleaseEntity>(It.IsAny <SqlQuerySpec>())) .ReturnsAsync(new List <ReleaseEntity> { releaseToReturn }); ReleaseEntity releaseEntity = new ReleaseEntity { TagName = releaseToReturn.TagName, App = releaseToReturn.App, Org = releaseToReturn.Org, }; await _sut.CreateAsync(releaseEntity); _azureDevOpsBuildServiceMock.Verify( x => x.QueueAsync(It.IsAny <QueueBuildParameters>(), It.IsAny <int>()), Times.Never); _releaseDbRepoMock.Verify( x => x.CreateAsync(It.IsAny <ReleaseEntity>()), Times.Never); }