@@ -2091,7 +2091,70 @@ class HTTPClientTests: XCTestCase {
2091
2091
logger: logger) . wait ( ) )
2092
2092
XCTAssertEqual ( 0 , logStore. allEntries. count)
2093
2093
2094
+ // === Synthesized Request
2095
+ XCTAssertNoThrow ( try self . defaultClient. execute ( . GET,
2096
+ url: self . defaultHTTPBinURLPrefix + " get " ,
2097
+ body: nil ,
2098
+ deadline: nil ,
2099
+ logger: logger) . wait ( ) )
2100
+ XCTAssertEqual ( 0 , logStore. allEntries. count)
2101
+
2094
2102
XCTAssertEqual ( 0 , self . backgroundLogStore. allEntries. count)
2103
+
2104
+ // === Synthesized Socket Path Request
2105
+ XCTAssertNoThrow ( try TemporaryFileHelpers . withTemporaryUnixDomainSocketPathName { path in
2106
+ let backgroundLogStore = CollectEverythingLogHandler . LogStore ( )
2107
+ var backgroundLogger = Logger ( label: " \( #function) " , factory: { _ in
2108
+ CollectEverythingLogHandler ( logStore: backgroundLogStore)
2109
+ } )
2110
+ backgroundLogger. logLevel = . trace
2111
+
2112
+ let localSocketPathHTTPBin = HTTPBin ( bindTarget: . unixDomainSocket( path) )
2113
+ let localClient = HTTPClient ( eventLoopGroupProvider: . shared( self . clientGroup) ,
2114
+ backgroundActivityLogger: backgroundLogger)
2115
+ defer {
2116
+ XCTAssertNoThrow ( try localClient. syncShutdown ( ) )
2117
+ XCTAssertNoThrow ( try localSocketPathHTTPBin. shutdown ( ) )
2118
+ }
2119
+
2120
+ XCTAssertNoThrow ( try localClient. execute ( . GET,
2121
+ socketPath: path,
2122
+ urlPath: " get " ,
2123
+ body: nil ,
2124
+ deadline: nil ,
2125
+ logger: logger) . wait ( ) )
2126
+ XCTAssertEqual ( 0 , logStore. allEntries. count)
2127
+
2128
+ XCTAssertEqual ( 0 , backgroundLogStore. allEntries. count)
2129
+ } )
2130
+
2131
+ // === Synthesized Secure Socket Path Request
2132
+ XCTAssertNoThrow ( try TemporaryFileHelpers . withTemporaryUnixDomainSocketPathName { path in
2133
+ let backgroundLogStore = CollectEverythingLogHandler . LogStore ( )
2134
+ var backgroundLogger = Logger ( label: " \( #function) " , factory: { _ in
2135
+ CollectEverythingLogHandler ( logStore: backgroundLogStore)
2136
+ } )
2137
+ backgroundLogger. logLevel = . trace
2138
+
2139
+ let localSocketPathHTTPBin = HTTPBin ( ssl: true , bindTarget: . unixDomainSocket( path) )
2140
+ let localClient = HTTPClient ( eventLoopGroupProvider: . shared( self . clientGroup) ,
2141
+ configuration: HTTPClient . Configuration ( certificateVerification: . none) ,
2142
+ backgroundActivityLogger: backgroundLogger)
2143
+ defer {
2144
+ XCTAssertNoThrow ( try localClient. syncShutdown ( ) )
2145
+ XCTAssertNoThrow ( try localSocketPathHTTPBin. shutdown ( ) )
2146
+ }
2147
+
2148
+ XCTAssertNoThrow ( try localClient. execute ( . GET,
2149
+ secureSocketPath: path,
2150
+ urlPath: " get " ,
2151
+ body: nil ,
2152
+ deadline: nil ,
2153
+ logger: logger) . wait ( ) )
2154
+ XCTAssertEqual ( 0 , logStore. allEntries. count)
2155
+
2156
+ XCTAssertEqual ( 0 , backgroundLogStore. allEntries. count)
2157
+ } )
2095
2158
}
2096
2159
2097
2160
func testAllMethodsLog( ) {
@@ -2104,7 +2167,7 @@ class HTTPClientTests: XCTestCase {
2104
2167
logger. logLevel = . trace
2105
2168
logger [ metadataKey: " req " ] = " yo- \( type) "
2106
2169
2107
- let url = self . defaultHTTPBinURLPrefix + " not-found/request/ \( type) ) "
2170
+ let url = " not-found/request/ \( type) ) "
2108
2171
let result = try body ( logger, url)
2109
2172
2110
2173
XCTAssertGreaterThan ( logStore. allEntries. count, 0 )
@@ -2116,27 +2179,78 @@ class HTTPClientTests: XCTestCase {
2116
2179
}
2117
2180
2118
2181
XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " GET " ) { logger, url in
2119
- try self . defaultClient. get ( url: url, logger: logger) . wait ( )
2182
+ try self . defaultClient. get ( url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2120
2183
} . status) )
2121
2184
2122
2185
XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " PUT " ) { logger, url in
2123
- try self . defaultClient. put ( url: url, logger: logger) . wait ( )
2186
+ try self . defaultClient. put ( url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2124
2187
} . status) )
2125
2188
2126
2189
XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " POST " ) { logger, url in
2127
- try self . defaultClient. post ( url: url, logger: logger) . wait ( )
2190
+ try self . defaultClient. post ( url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2128
2191
} . status) )
2129
2192
2130
2193
XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " DELETE " ) { logger, url in
2131
- try self . defaultClient. delete ( url: url, logger: logger) . wait ( )
2194
+ try self . defaultClient. delete ( url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2132
2195
} . status) )
2133
2196
2134
2197
XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " PATCH " ) { logger, url in
2135
- try self . defaultClient. patch ( url: url, logger: logger) . wait ( )
2198
+ try self . defaultClient. patch ( url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2199
+ } . status) )
2200
+
2201
+ XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " CHECKOUT " ) { logger, url in
2202
+ try self . defaultClient. execute ( . CHECKOUT, url: self . defaultHTTPBinURLPrefix + url, logger: logger) . wait ( )
2136
2203
} . status) )
2137
2204
2138
2205
// No background activity expected here.
2139
2206
XCTAssertEqual ( 0 , self . backgroundLogStore. allEntries. count)
2207
+
2208
+ XCTAssertNoThrow ( try TemporaryFileHelpers . withTemporaryUnixDomainSocketPathName { path in
2209
+ let backgroundLogStore = CollectEverythingLogHandler . LogStore ( )
2210
+ var backgroundLogger = Logger ( label: " \( #function) " , factory: { _ in
2211
+ CollectEverythingLogHandler ( logStore: backgroundLogStore)
2212
+ } )
2213
+ backgroundLogger. logLevel = . trace
2214
+
2215
+ let localSocketPathHTTPBin = HTTPBin ( bindTarget: . unixDomainSocket( path) )
2216
+ let localClient = HTTPClient ( eventLoopGroupProvider: . shared( self . clientGroup) ,
2217
+ backgroundActivityLogger: backgroundLogger)
2218
+ defer {
2219
+ XCTAssertNoThrow ( try localClient. syncShutdown ( ) )
2220
+ XCTAssertNoThrow ( try localSocketPathHTTPBin. shutdown ( ) )
2221
+ }
2222
+
2223
+ XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " GET " ) { logger, url in
2224
+ try localClient. execute ( socketPath: path, urlPath: url, logger: logger) . wait ( )
2225
+ } . status) )
2226
+
2227
+ // No background activity expected here.
2228
+ XCTAssertEqual ( 0 , backgroundLogStore. allEntries. count)
2229
+ } )
2230
+
2231
+ XCTAssertNoThrow ( try TemporaryFileHelpers . withTemporaryUnixDomainSocketPathName { path in
2232
+ let backgroundLogStore = CollectEverythingLogHandler . LogStore ( )
2233
+ var backgroundLogger = Logger ( label: " \( #function) " , factory: { _ in
2234
+ CollectEverythingLogHandler ( logStore: backgroundLogStore)
2235
+ } )
2236
+ backgroundLogger. logLevel = . trace
2237
+
2238
+ let localSocketPathHTTPBin = HTTPBin ( ssl: true , bindTarget: . unixDomainSocket( path) )
2239
+ let localClient = HTTPClient ( eventLoopGroupProvider: . shared( self . clientGroup) ,
2240
+ configuration: HTTPClient . Configuration ( certificateVerification: . none) ,
2241
+ backgroundActivityLogger: backgroundLogger)
2242
+ defer {
2243
+ XCTAssertNoThrow ( try localClient. syncShutdown ( ) )
2244
+ XCTAssertNoThrow ( try localSocketPathHTTPBin. shutdown ( ) )
2245
+ }
2246
+
2247
+ XCTAssertNoThrow ( XCTAssertEqual ( . notFound, try checkExpectationsWithLogger ( type: " GET " ) { logger, url in
2248
+ try localClient. execute ( secureSocketPath: path, urlPath: url, logger: logger) . wait ( )
2249
+ } . status) )
2250
+
2251
+ // No background activity expected here.
2252
+ XCTAssertEqual ( 0 , backgroundLogStore. allEntries. count)
2253
+ } )
2140
2254
}
2141
2255
2142
2256
func testClosingIdleConnectionsInPoolLogsInTheBackground( ) {
0 commit comments