11using System . IO ;
22using System . Runtime . CompilerServices ;
3- using System . Runtime . InteropServices ;
43
54using TestableHttpClient . Utils ;
5+ using static TestableHttpClient . Utils . HttpRequestMessageFormatter ;
66
77namespace TestableHttpClient . Tests . Utils ;
88
@@ -21,7 +21,7 @@ public void Format_NullRequest_CreatesExpectedString()
2121 {
2222 HttpRequestMessage ? request = null ;
2323
24- var result = HttpRequestMessageFormatter . Format ( request , HttpRequestMessageFormatOptions . All ) ;
24+ var result = Format ( request , HttpRequestMessageFormatOptions . All ) ;
2525
2626 Assert . Equal ( "null" , result ) ;
2727 }
@@ -37,7 +37,7 @@ public void Format_SimpleGetRequest_CreatesExpectedString(string version)
3737 {
3838 Version = Version . Parse ( version )
3939 } ;
40- string result = HttpRequestMessageFormatter . Format ( request , HttpRequestMessageFormatOptions . All ) ;
40+ string result = Format ( request , HttpRequestMessageFormatOptions . All ) ;
4141
4242 string expected = FetchTestData ( $ "simple_get_request_version_{ version } ") ;
4343
@@ -53,10 +53,57 @@ public void Format_SimplePostRequestWithHeadersAndBody_CreatesExpectedString()
5353 } ;
5454 request . Content = new StringContent ( "Hello, World!" ) ;
5555 request . Content . Headers . ContentLength = 13 ;
56- string result = HttpRequestMessageFormatter . Format ( request , HttpRequestMessageFormatOptions . All ) ;
56+ string result = Format ( request , HttpRequestMessageFormatOptions . All ) ;
5757
5858 string expected = FetchTestData ( "simple_post_request" ) ;
5959
6060 Assert . Equal ( expected , result ) ;
6161 }
62+
63+ [ Fact ]
64+ public void FormatRequestLineOptions_AnyRequest_CreatesExpectedString ( )
65+ {
66+ using HttpRequestMessage request = new ( HttpMethod . Get , "https://example.com" ) { Version = HttpVersion . Version11 } ;
67+
68+ Assert . Multiple (
69+ ( ) => Assert . Equal ( "GET" , Format ( request , HttpRequestMessageFormatOptions . HttpMethod ) ) ,
70+ ( ) => Assert . Equal ( "https://example.com/" , Format ( request , HttpRequestMessageFormatOptions . RequestUri ) ) ,
71+ ( ) => Assert . Equal ( "HTTP/1.1" , Format ( request , HttpRequestMessageFormatOptions . HttpVersion ) ) ,
72+ ( ) => Assert . Equal ( "GET https://example.com/" , Format ( request , HttpRequestMessageFormatOptions . HttpMethod | HttpRequestMessageFormatOptions . RequestUri ) ) ,
73+ ( ) => Assert . Equal ( "https://example.com/ HTTP/1.1" , Format ( request , HttpRequestMessageFormatOptions . RequestUri | HttpRequestMessageFormatOptions . HttpVersion ) ) ,
74+ ( ) => Assert . Equal ( "GET https://example.com/ HTTP/1.1\r \n " , Format ( request , HttpRequestMessageFormatOptions . RequestLine ) )
75+ ) ;
76+ }
77+
78+ [ Fact ]
79+ public void FormatRequestLineHeaders_SimplePostRequestWithHeadersAndBody_CreatesExpectedString ( )
80+ {
81+ using HttpRequestMessage request = new ( HttpMethod . Post , "https://example.com" )
82+ {
83+ Version = HttpVersion . Version11
84+ } ;
85+ request . Content = new StringContent ( "Hello, World!" ) ;
86+ request . Content . Headers . ContentLength = 13 ;
87+ string result = Format ( request , HttpRequestMessageFormatOptions . HttpMethod | HttpRequestMessageFormatOptions . RequestUri | HttpRequestMessageFormatOptions . Headers ) ;
88+
89+ string expected = FetchTestData ( "method_uri_headers_post_request" ) ;
90+
91+ Assert . Equal ( expected , result ) ;
92+ }
93+
94+ [ Fact ]
95+ public void FormatRequestLineContent_SimplePostRequestWithHeadersAndBody_CreatesExpectedString ( )
96+ {
97+ using HttpRequestMessage request = new ( HttpMethod . Post , "https://example.com" )
98+ {
99+ Version = HttpVersion . Version11
100+ } ;
101+ request . Content = new StringContent ( "Hello, World!" ) ;
102+ request . Content . Headers . ContentLength = 13 ;
103+ string result = Format ( request , HttpRequestMessageFormatOptions . HttpMethod | HttpRequestMessageFormatOptions . RequestUri | HttpRequestMessageFormatOptions . Content ) ;
104+
105+ string expected = FetchTestData ( "method_uri_content_post_request" ) ;
106+
107+ Assert . Equal ( expected , result ) ;
108+ }
62109}
0 commit comments