Skip to content

Commit 609243c

Browse files
Merge pull request #714 from apollographql/add/transport-equatable
Equatable conformance for HTTPNetworkTransport
2 parents 72ec525 + 7b88026 commit 609243c

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

Sources/Apollo/HTTPNetworkTransport.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,3 +287,15 @@ extension HTTPNetworkTransport: NetworkTransport {
287287
return send(operation: operation, files: nil, completionHandler: completionHandler)
288288
}
289289
}
290+
291+
// MARK: - Equatable conformance
292+
293+
extension HTTPNetworkTransport: Equatable {
294+
295+
public static func ==(lhs: HTTPNetworkTransport, rhs: HTTPNetworkTransport) -> Bool {
296+
return lhs.url == rhs.url
297+
&& lhs.session == rhs.session
298+
&& lhs.sendOperationIdentifiers == rhs.sendOperationIdentifiers
299+
&& lhs.useGETForQueries == rhs.useGETForQueries
300+
}
301+
}

Tests/ApolloTests/HTTPTransportTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,17 @@ class HTTPTransportTests: XCTestCase {
182182

183183
self.wait(for: [expectation], timeout: 10)
184184
}
185+
186+
func testEquality() {
187+
let identicalTransport = HTTPNetworkTransport(url: self.url,
188+
useGETForQueries: true,
189+
delegate: self)
190+
XCTAssertEqual(self.networkTransport, identicalTransport)
191+
192+
let nonIdenticalTransport = HTTPNetworkTransport(url: self.url,
193+
delegate: self)
194+
XCTAssertNotEqual(self.networkTransport, nonIdenticalTransport)
195+
}
185196
}
186197

187198
// MARK: - HTTPNetworkTransportPreflightDelegate

0 commit comments

Comments
 (0)