public void SetHttpHeaders_transforms_HTTP_headers_correctly_from_a_given_OnPremiseTargetRequest_and_sets_them_on_a_given_HttpContent() { var sut = new HttpResponseMessageBuilder(null); var httpHeaders = new Dictionary <string, string> { ["Content-MD5"] = "Q2hlY2sgSW50ZWdyaXR5IQ==", // will be discarded ["Content-Range"] = "bytes 21010-47021/47022", // will be discarded ["Content-Disposition"] = "attachment", ["Content-Length"] = "300", ["Content-Location"] = "http://tt.invalid", ["Content-Type"] = "application/json", ["Expires"] = "Thu, 01 Dec 1994 16:00:00 GMT", ["Last-Modified"] = "Thu, 01 Dec 1994 15:00:00 GMT", }; var httpContent = new ByteArrayContent(new byte[] { }); sut.AddContentHttpHeaders(httpContent, httpHeaders); httpContent.Headers.Should().HaveCount(6); httpContent.Headers.ContentMD5.Should().BeNull(); httpContent.Headers.ContentRange.Should().BeNull(); httpContent.Headers.ContentDisposition.Should().Be(ContentDispositionHeaderValue.Parse("attachment")); httpContent.Headers.ContentLength.Should().Be(300L); httpContent.Headers.ContentLocation.Should().Be("http://tt.invalid"); httpContent.Headers.ContentType.Should().Be(MediaTypeHeaderValue.Parse("application/json")); httpContent.Headers.Expires.Should().Be(new DateTime(1994, 12, 1, 16, 0, 0)); httpContent.Headers.LastModified.Should().Be(new DateTime(1994, 12, 1, 15, 0, 0)); }
public void SetHttpHeaders_does_nothing_when_no_HttpHeaders_are_provided() { var sut = new HttpResponseMessageBuilder(null); var httpContent = new ByteArrayContent(new byte[] { }); sut.AddContentHttpHeaders(httpContent, null); httpContent.Headers.Should().BeEmpty(); }
public void SetHttpHeaders_sets_unknown_HTTP_headers_without_validation_correctly_from_a_OnPremiseTargetRequest_on_a_given_HttpContent() { var sut = new HttpResponseMessageBuilder(null); var httpHeaders = new Dictionary <string, string> { ["X-Foo"] = "X-Bar", ["Foo"] = "Bar", }; var httpContent = new ByteArrayContent(new byte[] { }); sut.AddContentHttpHeaders(httpContent, httpHeaders); httpContent.Headers.Should().HaveCount(2); httpContent.Headers.GetValues("X-Foo").Single().Should().Be("X-Bar"); httpContent.Headers.GetValues("Foo").Single().Should().Be("Bar"); }