func testSubscribeUnsubscribeRepeat()

in AppSyncRealTimeClientIntegrationTests/AppSyncRealTimeClientIntegrationTests.swift [169:194]


    func testSubscribeUnsubscribeRepeat() {
        let authInterceptor = APIKeyAuthInterceptor(apiKey)
        let connectionProvider = ConnectionProviderFactory.createConnectionProvider(
            for: url,
            authInterceptor: authInterceptor,
            connectionType: .appSyncRealtime
        )
        guard let realTimeConnectionProvider = connectionProvider as? RealtimeConnectionProvider else {
            XCTFail("Could not retrieve concrete connection provider")
            return
        }

        let count = 30
        let subscriptions = subscribe(connectionProvider, count: count)
        assertStatus(of: realTimeConnectionProvider, equals: .connected)
        for index in 0 ..< count {
            subscriptions[index].1.unsubscribe(item: subscriptions[index].0)
        }
        assertStatus(of: realTimeConnectionProvider, equals: .notConnected)
        let subscriptions2 = subscribe(connectionProvider, count: count)
        assertStatus(of: realTimeConnectionProvider, equals: .connected)
        for index in 0 ..< count {
            subscriptions2[index].1.unsubscribe(item: subscriptions2[index].0)
        }
        assertStatus(of: realTimeConnectionProvider, equals: .notConnected)
    }