public void CreateWebHookRequest_CreatesExpectedRequest() { // Arrange WebHookWorkItem workItem = CreateWorkItem(); workItem.WebHook.Headers.Add("Content-Language", "da"); _sender = new WebHookSenderMock(_loggerMock.Object); // Act HttpRequestMessage actual = _sender.CreateWebHookRequest(workItem); // Assert Assert.Equal(HttpMethod.Post, actual.Method); Assert.Equal(workItem.WebHook.WebHookUri, actual.RequestUri); IEnumerable <string> headers; actual.Headers.TryGetValues("h1", out headers); Assert.Equal("hv1", headers.Single()); actual.Headers.TryGetValues("ms-signature", out headers); Assert.Equal(WebHookSignature, headers.Single()); Assert.Equal("da", actual.Content.Headers.ContentLanguage.Single()); Assert.Equal("application/json; charset=utf-8", actual.Content.Headers.ContentType.ToString()); }
public void Dispose_Succeeds() { // Arrange WebHookSenderMock s = new WebHookSenderMock(_loggerMock.Object); // Act s.Dispose(); s.Dispose(); }
public void CreateWebHookRequestBody_CreatesExpectedBody() { // Arrange WebHookWorkItem workItem = CreateWorkItem(); _sender = new WebHookSenderMock(_loggerMock.Object); // Act JObject actual = _sender.CreateWebHookRequestBody(workItem); // Assert Assert.Equal(SerializedWebHook, actual.ToString()); }
public void SignWebHookRequest_HandlesNullWebHook() { WebHookWorkItem workItem = CreateWorkItem(); HttpRequestMessage request = new HttpRequestMessage(); _sender = new WebHookSenderMock(_loggerMock.Object); JObject body = _sender.CreateWebHookRequestBody(workItem); workItem.WebHook = null; // Act ArgumentException ex = Assert.Throws<ArgumentException>(() => _sender.SignWebHookRequest(workItem, request, body)); // Assert Assert.StartsWith("Invalid 'WebHookSenderMock' instance: 'WebHook' cannot be null.", ex.Message); }
public void SignWebHookRequest_HandlesNullWebHook() { WebHookWorkItem workItem = CreateWorkItem(); HttpRequestMessage request = new HttpRequestMessage(); _sender = new WebHookSenderMock(_loggerMock.Object); JObject body = _sender.CreateWebHookRequestBody(workItem); workItem.WebHook = null; // Act ArgumentException ex = Assert.Throws <ArgumentException>(() => _sender.SignWebHookRequest(workItem, request, body)); // Assert Assert.StartsWith("Invalid 'WebHookSenderMock' instance: 'WebHook' cannot be null.", ex.Message); }
public async Task SignWebHookRequest_SignsBodyCorrectly() { // Arrange WebHookWorkItem workItem = CreateWorkItem(); HttpRequestMessage request = new HttpRequestMessage(); _sender = new WebHookSenderMock(_loggerMock.Object); JObject body = _sender.CreateWebHookRequestBody(workItem); // Act _sender.SignWebHookRequest(workItem, request, body); // Assert IEnumerable<string> signature; request.Headers.TryGetValues("ms-signature", out signature); Assert.Equal(WebHookSignature, signature.Single()); string requestBody = await request.Content.ReadAsStringAsync(); Assert.Equal(SerializedWebHook, requestBody); Assert.Equal("application/json; charset=utf-8", request.Content.Headers.ContentType.ToString()); }
public async Task SignWebHookRequest_SignsBodyCorrectly() { // Arrange WebHookWorkItem workItem = CreateWorkItem(); HttpRequestMessage request = new HttpRequestMessage(); _sender = new WebHookSenderMock(_loggerMock.Object); JObject body = _sender.CreateWebHookRequestBody(workItem); // Act _sender.SignWebHookRequest(workItem, request, body); // Assert IEnumerable <string> signature; request.Headers.TryGetValues("ms-signature", out signature); Assert.Equal(WebHookSignature, signature.Single()); string requestBody = await request.Content.ReadAsStringAsync(); Assert.Equal(SerializedWebHook, requestBody); Assert.Equal("application/json; charset=utf-8", request.Content.Headers.ContentType.ToString()); }
public void CreateWebHookRequest_CreatesExpectedRequest() { // Arrange WebHookWorkItem workItem = CreateWorkItem(); workItem.WebHook.Headers.Add("Content-Language", "da"); _sender = new WebHookSenderMock(_loggerMock.Object); // Act HttpRequestMessage actual = _sender.CreateWebHookRequest(workItem); // Assert Assert.Equal(HttpMethod.Post, actual.Method); Assert.Equal(workItem.WebHook.WebHookUri, actual.RequestUri); IEnumerable<string> headers; actual.Headers.TryGetValues("h1", out headers); Assert.Equal("hv1", headers.Single()); actual.Headers.TryGetValues("ms-signature", out headers); Assert.Equal(WebHookSignature, headers.Single()); Assert.Equal("da", actual.Content.Headers.ContentLanguage.Single()); Assert.Equal("application/json; charset=utf-8", actual.Content.Headers.ContentType.ToString()); }