public void AddHmacHeadersContentTest() { Authentication.Hmac.HttpClientAuthenticationExtensions.RegisterHeaderGenerator(null); Mock <HmacSignatureGenerator> signatureGeneratorProxy = new Mock <HmacSignatureGenerator>(MockBehavior.Strict, customNameSpace); Mock <HmacHeaderGenerator> headerGeneratorProxy = new Mock <HmacHeaderGenerator>(MockBehavior.Strict, signatureGeneratorProxy.Object, customNameSpace); using (HttpClient client = new HttpClient()) { Uri resource = new Uri(requestedResource); Assert.Throws <InvalidOperationException>(() => client.AddHmacHeaders(resource, method, content)); headerGeneratorProxy.Setup(x => x.AddHmacHeaders(client, resource, method, content)); headerGeneratorProxy.Object.RegisterHeaderGenerator(); client.AddHmacHeaders(resource, method, content); headerGeneratorProxy.Verify(x => x.AddHmacHeaders(client, resource, method, content)); } Authentication.Hmac.HttpClientAuthenticationExtensions.RegisterHeaderGenerator(null); }
/// <summary> /// Adds an HMAC header to a HttpClient using the registered header generator /// </summary> /// <param name="client">The client that will be used to make the request</param> /// <param name="requestUri">The Uri that the request will be sent to</param> /// <param name="method">The method that the request will be used</param> /// <exception cref="NullReferenceException">If no valid header generator is registered</exception> public static void AddHmacHeaders(this HttpClient client, Uri requestUri, HttpMethod method) { client.AddHmacHeaders(requestUri, method, null); }