public void InitializesCorrectly() { var httpClient = new HttpClient(); var restClient = new AzureDevOpsRestClient(httpClient, Substitute.For <INuKeeperLogger>(), "PAT"); var encodedToken = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{string.Empty}:PAT")); Assert.IsTrue(httpClient.DefaultRequestHeaders.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/json"))); Assert.IsTrue(httpClient.DefaultRequestHeaders.Authorization.Equals(new AuthenticationHeaderValue("Basic", encodedToken))); }
public void ThrowsWithBadJson() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject("<body>Login Page</body>"), Encoding.UTF8, "application/json") }); var fakeHttpClient = new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("https://fakebaseAddress.com/") }; var restClient = new AzureDevOpsRestClient(fakeHttpClient, Substitute.For <INuKeeperLogger>(), "PAT"); var exception = Assert.ThrowsAsync <NuKeeperException>(async() => await restClient.GetGitRepositories("Project")); }
public void ThrowsWithBadStatusCode() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent("", Encoding.UTF8, "application/json") }); var fakeHttpClient = new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("https://fakebaseAddress.com/") }; var restClient = new AzureDevOpsRestClient(fakeHttpClient, Substitute.For <INuKeeperLogger>(), "PAT"); var exception = Assert.ThrowsAsync <NuKeeperException>(async() => await restClient.GetGitRepositories("Project")); Assert.IsTrue(exception.Message.Contains("Error", StringComparison.InvariantCultureIgnoreCase)); }
public void ThrowsWithUnauthorized() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpResponseMessage { StatusCode = HttpStatusCode.Unauthorized, Content = new StringContent("", Encoding.UTF8, "application/json") }); var fakeHttpClient = new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("https://fakebaseAddress.com/") }; var httpClientFactory = Substitute.For <IHttpClientFactory>(); httpClientFactory.CreateClient().Returns(fakeHttpClient); var restClient = new AzureDevOpsRestClient(httpClientFactory, Substitute.For <INuKeeperLogger>(), "PAT", fakeHttpClient.BaseAddress); var exception = Assert.ThrowsAsync <NuKeeperException>(async() => await restClient.GetGitRepositories("Project")); Assert.IsTrue(exception.Message.Contains("Unauthorised", StringComparison.InvariantCultureIgnoreCase)); }
public void BuildAzureDevOpsUri(string relativePath, bool previewApi, Uri expectedUri) { var uri = AzureDevOpsRestClient.BuildAzureDevOpsUri(relativePath, previewApi); Assert.AreEqual(expectedUri, uri); }