示例#1
0
        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 static async Task <string> Get(Uri requestUri)
        {
            using (var client = new HttpClient())
            {
                var response = await client.GetAsync(requestUri);

                if (!response.IsSuccessStatusCode)
                {
                    var ex = new HttpRequestWithStatusException();
                    ex.StatusCode = response.StatusCode;
                    throw ex;
                }

                var content = await response.Content.ReadAsStringAsync();

                return(content);
            }
        }
        public static async Task Post(Uri requestUri, string payload)
        {
            using (var client = new HttpClient())
            {
                var values = new Dictionary <string, string>()
                {
                    { "Payload", payload }
                };
                var content = new FormUrlEncodedContent(values);

                var response = await client.PostAsync(requestUri, content);

                if (!response.IsSuccessStatusCode)
                {
                    var ex = new HttpRequestWithStatusException();
                    ex.StatusCode = response.StatusCode;
                    throw ex;
                }
            }
        }