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)
}
}