func testConnectionError()

in AppSyncRealTimeClientTests/ConnectionProvider/ConnectionProviderTests.swift [136:174]


    func testConnectionError() {
        receivedConnected.isInverted = true
        receivedNotConnected.isInverted = true

        let onConnect: MockWebsocketProvider.OnConnect = { _, _, delegate in
            self.websocketDelegate = delegate
            DispatchQueue.global().async {
                delegate?.websocketDidConnect(provider: self.websocket)
            }
        }

        let onDisconnect: MockWebsocketProvider.OnDisconnect = { }

        let onWrite: MockWebsocketProvider.OnWrite = { message in
            guard RealtimeConnectionProviderTestBase.messageType(of: message, equals: "connection_init") else {
                XCTFail("Incoming message did not have 'connection_init' type")
                return
            }

            self.websocketDelegate.websocketDidDisconnect(
                provider: self.websocket,
                error: "test error"
            )
        }

        websocket = MockWebsocketProvider(
            onConnect: onConnect,
            onDisconnect: onDisconnect,
            onWrite: onWrite
        )

        // Retain the provider so it doesn't release prior to executing callbacks
        let provider = createProviderAndConnect()

        // Get rid of "written to, but never read" compiler warnings
        print(provider)

        waitForExpectations(timeout: 0.05)
    }