forked from apollographql/apollo-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMockWebSocket.swift
More file actions
56 lines (41 loc) · 1.35 KB
/
MockWebSocket.swift
File metadata and controls
56 lines (41 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import Starscream
@testable import ApolloWebSocket
class MockWebSocket: ApolloWebSocketClient {
var callbackQueue: DispatchQueue = DispatchQueue.main
var pongDelegate: WebSocketPongDelegate?
var request: URLRequest
var sslClientCertificate: SSLClientCertificate?
required init(request: URLRequest, protocols: [String]?) {
self.request = request
}
public init() {
self.request = URLRequest(url: URL(string: "http://localhost:8080")!)
}
open func reportDidConnect() {
callbackQueue.async {
self.delegate?.websocketDidConnect(socket: self)
}
}
open func write(string: String, completion: (() -> ())?) {
callbackQueue.async {
self.delegate?.websocketDidReceiveMessage(socket: self, text: string)
}
}
open func write(data: Data, completion: (() -> ())?) {
}
open func write(ping: Data, completion: (() -> ())?) {
}
open func write(pong: Data, completion: (() -> ())?) {
}
func disconnect(forceTimeout: TimeInterval?, closeCode: UInt16) {
}
public var disableSSLCertValidation = false
public var overrideTrustHostname = false
public var desiredTrustHostname: String? = nil
var delegate: WebSocketDelegate? = nil
var security: SSLTrustValidator? = nil
var enabledSSLCipherSuites: [SSLCipherSuite]? = []
var isConnected: Bool = false
func connect() {
}
}