1
- #nullable disable
2
-
3
1
using System ;
4
2
using System . Net . Http ;
5
3
using System . Net . Http . Headers ;
@@ -18,46 +16,46 @@ public abstract class IntegrationTest
18
16
protected abstract JsonSerializerOptions SerializerOptions { get ; }
19
17
20
18
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecuteHeadAsync < TResponseDocument > ( string requestUrl ,
21
- Action < HttpRequestHeaders > setRequestHeaders = null )
19
+ Action < HttpRequestHeaders > ? setRequestHeaders = null )
22
20
{
23
21
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Head , requestUrl , null , null , setRequestHeaders ) ;
24
22
}
25
23
26
24
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecuteGetAsync < TResponseDocument > ( string requestUrl ,
27
- Action < HttpRequestHeaders > setRequestHeaders = null )
25
+ Action < HttpRequestHeaders > ? setRequestHeaders = null )
28
26
{
29
27
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Get , requestUrl , null , null , setRequestHeaders ) ;
30
28
}
31
29
32
30
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecutePostAsync < TResponseDocument > ( string requestUrl ,
33
- object requestBody , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > setRequestHeaders = null )
31
+ object requestBody , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > ? setRequestHeaders = null )
34
32
{
35
33
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Post , requestUrl , requestBody , contentType , setRequestHeaders ) ;
36
34
}
37
35
38
36
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecutePostAtomicAsync < TResponseDocument > ( string requestUrl ,
39
- object requestBody , string contentType = HeaderConstants . AtomicOperationsMediaType , Action < HttpRequestHeaders > setRequestHeaders = null )
37
+ object requestBody , string contentType = HeaderConstants . AtomicOperationsMediaType , Action < HttpRequestHeaders > ? setRequestHeaders = null )
40
38
{
41
39
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Post , requestUrl , requestBody , contentType , setRequestHeaders ) ;
42
40
}
43
41
44
42
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecutePatchAsync < TResponseDocument > ( string requestUrl ,
45
- object requestBody , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > setRequestHeaders = null )
43
+ object requestBody , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > ? setRequestHeaders = null )
46
44
{
47
45
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Patch , requestUrl , requestBody , contentType , setRequestHeaders ) ;
48
46
}
49
47
50
48
public async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecuteDeleteAsync < TResponseDocument > ( string requestUrl ,
51
- object requestBody = null , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > setRequestHeaders = null )
49
+ object ? requestBody = null , string contentType = HeaderConstants . MediaType , Action < HttpRequestHeaders > ? setRequestHeaders = null )
52
50
{
53
51
return await ExecuteRequestAsync < TResponseDocument > ( HttpMethod . Delete , requestUrl , requestBody , contentType , setRequestHeaders ) ;
54
52
}
55
53
56
54
private async Task < ( HttpResponseMessage httpResponse , TResponseDocument responseDocument ) > ExecuteRequestAsync < TResponseDocument > ( HttpMethod method ,
57
- string requestUrl , object requestBody , string contentType , Action < HttpRequestHeaders > setRequestHeaders )
55
+ string requestUrl , object ? requestBody , string ? contentType , Action < HttpRequestHeaders > ? setRequestHeaders )
58
56
{
59
57
using var request = new HttpRequestMessage ( method , requestUrl ) ;
60
- string requestText = SerializeRequest ( requestBody ) ;
58
+ string ? requestText = SerializeRequest ( requestBody ) ;
61
59
62
60
if ( ! string . IsNullOrEmpty ( requestText ) )
63
61
{
@@ -79,18 +77,18 @@ public abstract class IntegrationTest
79
77
string responseText = await responseMessage . Content . ReadAsStringAsync ( ) ;
80
78
var responseDocument = DeserializeResponse < TResponseDocument > ( responseText ) ;
81
79
82
- return ( responseMessage , responseDocument ) ;
80
+ return ( responseMessage , responseDocument ! ) ;
83
81
}
84
82
85
- private string SerializeRequest ( object requestBody )
83
+ private string ? SerializeRequest ( object ? requestBody )
86
84
{
87
85
return requestBody == null ? null :
88
86
requestBody is string stringRequestBody ? stringRequestBody : JsonSerializer . Serialize ( requestBody , SerializerOptions ) ;
89
87
}
90
88
91
89
protected abstract HttpClient CreateClient ( ) ;
92
90
93
- private TResponseDocument DeserializeResponse < TResponseDocument > ( string responseText )
91
+ private TResponseDocument ? DeserializeResponse < TResponseDocument > ( string responseText )
94
92
{
95
93
if ( typeof ( TResponseDocument ) == typeof ( string ) )
96
94
{
0 commit comments