public void ClientBase_InternalHttpClient_HasMandatoryHeaders() { var httpClient = new HttpClient(); _ = new ClientBaseTests(validKey, serviceName, httpClient); Assert.IsTrue(httpClient.DefaultRequestHeaders.Contains(UserAgentHeader)); Assert.IsTrue(httpClient.DefaultRequestHeaders.Contains(HIBPApiKeyHeader)); }
public async Task GetAsyncT_WithKnownErrorResponse_Throws() { HttpResponseMessage httpResponse = new HttpResponseMessage(); httpResponse.Content = new StringContent("", Encoding.UTF8, "application/json"); var httpClient = new HttpClient(SetupHttpHandler(httpResponse)); var client = new ClientBaseTests(validKey, serviceName, httpClient); httpResponse.StatusCode = HttpStatusCode.Unauthorized; await Assert.ThrowsExceptionAsync <InvalidApiKeyException>(() => client.GetAsync <string>("", default)); httpResponse.StatusCode = HttpStatusCode.Forbidden; await Assert.ThrowsExceptionAsync <InvalidServiceNameException>(() => client.GetAsync <string>("", default)); httpResponse.StatusCode = HttpStatusCode.TooManyRequests; await Assert.ThrowsExceptionAsync <TooManyRequestsException>(() => client.GetAsync <string>("", default)); }