Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }