func testStartWithAudioDeviceCapabilities_startedOk()

in AmazonChimeSDK/AmazonChimeSDKTests/internal/audio/DefaultAudioClientControllerTests.swift [277:319]


    func testStartWithAudioDeviceCapabilities_startedOk() {
        var count = 0
        for capabilities in AudioDeviceCapabilities.allCases {
            count += 1
            DefaultAudioClientController.state = .initialized
            XCTAssertNoThrow(try defaultAudioClientController.start(audioFallbackUrl: audioFallbackUrl,
                                                                    audioHostUrl: audioHostUrlWithPort,
                                                                    meetingId: meetingId,
                                                                    attendeeId: attendeeId,
                                                                    joinToken: joinToken,
                                                                    callKitEnabled: callKitEnabled,
                                                                    audioMode: .stereo48K,
                                                                    audioDeviceCapabilities: capabilities,
                                                                    enableAudioRedundancy: true,
                                                                    reconnectTimeoutMs: self.reconnectTimeoutMs))
            verify(audioLockMock.lock()).wasCalled(count)
            verify(audioClientObserverMock.notifyAudioClientObserver(observerFunction: any())).wasCalled(count)
            var capabilitiesInternal: AudioDeviceCapabilitiesInternal = .InputAndOutput
            if (capabilities == .none) {
                capabilitiesInternal = .None
            } else if (capabilities == .outputOnly) {
                capabilitiesInternal = .OutputOnly
            }
            verify(audioClientMock.startSession(self.audioHostUrl,
                                                basePort: 1820,
                                                callId: self.meetingId,
                                                profileId: self.attendeeId,
                                                microphoneMute: false,
                                                speakerMute: false,
                                                isPresenter: true,
                                                sessionToken: self.joinToken,
                                                audioWsUrl: self.audioFallbackUrl,
                                                callKitEnabled: false,
                                                appInfo: any(),
                                                audioMode: .Stereo48K,
                                                audioDeviceCapabilities: capabilitiesInternal,
                                                enableAudioRedundancy: true,
                                                reconnectTimeoutMs: self.reconnectTimeoutMs)).wasCalled()
            verify(eventAnalyticsControllerMock.publishEvent(name: .meetingStartRequested)).wasCalled(count)
            XCTAssertEqual(.started, DefaultAudioClientController.state)
            verify(audioLockMock.unlock()).wasCalled(count)
        }
    }