AmazonChimeSDK/AmazonChimeSDKTests/session/DefaultMeetingSessionTests.swift (79 lines of code) (raw):

// // DefaultMeetingSessionTests.swift // AmazonChimeSDK // // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // @testable import AmazonChimeSDK import XCTest class DefaultMeetingSessionTests: XCTestCase { private let audioFallbackStr = "audioFallbackUrl" private let audioHostStr = "audioHostUrl" private let attendeeIdStr = "attendeeId" private let externalMeetingIdStr = "externalMeetingId" private let externalUserIdStr = "externalUserId" private let joinTokenStr = "joinToken" private let mediaRegionStr = "mediaRegion" private let meetingIdStr = "meetingId" private let signalingUrlStr = "signalingUrl" private let turnControlUrlStr = "turnControlUrl" private var meetingSession: DefaultMeetingSession? private var meetingSessionNone: DefaultMeetingSession? private var meetingSessionHigh: DefaultMeetingSession? override func setUp() { super.setUp() let mediaPlacement = MediaPlacement(audioFallbackUrl: audioFallbackStr, audioHostUrl: audioHostStr, signalingUrl: signalingUrlStr, turnControlUrl: turnControlUrlStr) let meeting = Meeting(externalMeetingId: externalMeetingIdStr, mediaPlacement: mediaPlacement, mediaRegion: mediaRegionStr, meetingId: meetingIdStr) let attendee = Attendee(attendeeId: attendeeIdStr, externalUserId: externalUserIdStr, joinToken: joinTokenStr) let configuration = MeetingSessionConfiguration( createMeetingResponse: CreateMeetingResponse(meeting: meeting), createAttendeeResponse: CreateAttendeeResponse(attendee: attendee) ) let logger = ConsoleLogger(name: "test") meetingSession = DefaultMeetingSession(configuration: configuration, logger: logger) // MaxResolution set to disabled let meetingNone = Meeting(externalMeetingId: externalMeetingIdStr, mediaPlacement: mediaPlacement, meetingFeatures: MeetingFeatures(video: "none", content: "none"), mediaRegion: mediaRegionStr, meetingId: meetingIdStr, primaryMeetingId: nil) let configurationNone = MeetingSessionConfiguration( createMeetingResponse: CreateMeetingResponse(meeting: meetingNone), createAttendeeResponse: CreateAttendeeResponse(attendee: attendee) ) meetingSessionNone = DefaultMeetingSession(configuration: configurationNone, logger: logger) // MaxResolution set to high let meetingHigh = Meeting(externalMeetingId: externalMeetingIdStr, mediaPlacement: mediaPlacement, meetingFeatures: MeetingFeatures(video: "fhd", content: "uhd"), mediaRegion: mediaRegionStr, meetingId: meetingIdStr, primaryMeetingId: nil) let configurationHigh = MeetingSessionConfiguration( createMeetingResponse: CreateMeetingResponse(meeting: meetingHigh), createAttendeeResponse: CreateAttendeeResponse(attendee: attendee) ) meetingSessionHigh = DefaultMeetingSession(configuration: configurationHigh, logger: logger) } func testMeetingSessionShouldBeInitialized() throws { XCTAssertNotNil(meetingSession) XCTAssertNotNil(meetingSession?.audioVideo) } func testDefaultMeetingFeaturesShouldBeInitializedThroughConstructor() { let localConfiguration = meetingSession?.configuration XCTAssertNil(localConfiguration!.urls.ingestionUrl) XCTAssertEqual(localConfiguration!.meetingFeatures.videoMaxResolution, VideoResolution.videoResolutionHD) XCTAssertEqual(localConfiguration!.meetingFeatures.contentMaxResolution, VideoResolution.videoResolutionFHD) } func testNoneMeetingFeaturesShouldBeInitializedThroughConstructor() { let localConfiguration = meetingSessionNone?.configuration XCTAssertNil(localConfiguration!.urls.ingestionUrl) XCTAssertEqual(localConfiguration!.meetingFeatures.videoMaxResolution, VideoResolution.videoDisabled) XCTAssertEqual(localConfiguration!.meetingFeatures.contentMaxResolution, VideoResolution.videoDisabled) } func testHighMeetingFeaturesShouldBeInitializedThroughConstructor() { let localConfiguration = meetingSessionHigh?.configuration XCTAssertNil(localConfiguration!.urls.ingestionUrl) XCTAssertEqual(localConfiguration!.meetingFeatures.videoMaxResolution, VideoResolution.videoResolutionFHD) XCTAssertEqual(localConfiguration!.meetingFeatures.contentMaxResolution, VideoResolution.videoResolutionUHD) } }