AmazonChimeSDK/AmazonChimeSDKTests/audiovideo/data/DataMessageTests.swift (65 lines of code) (raw):
//
// DataMessageTests.swift
// AmazonChimeSDK
//
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//
@testable import AmazonChimeSDK
import XCTest
class DataMessageTests: XCTestCase {
let topic = "AValidTopic"
let data = Data()
let senderAttendeeId = "123456"
let senderExternalAttendeeId = "1234#external"
func testDataMessageShouldBeInitialized() {
let dataMessage = DataMessage(topic: topic,
data: data,
senderAttendeeId: senderAttendeeId,
senderExternalUserId: senderExternalAttendeeId,
timestampMs: 1,
throttled: false)
XCTAssertEqual(topic, dataMessage.topic)
XCTAssertEqual(data, dataMessage.data)
XCTAssertEqual(senderAttendeeId, dataMessage.senderAttendeeId)
XCTAssertEqual(senderExternalAttendeeId, dataMessage.senderExternalUserId)
XCTAssertEqual(1, dataMessage.timestampMs)
XCTAssertEqual(false, dataMessage.throttled)
}
func testDataMessageText() {
let anotherString = "AnotherString"
let dataMessage = DataMessage(topic: topic,
data: anotherString.data(using: .utf8, allowLossyConversion: true)!,
senderAttendeeId: senderAttendeeId,
senderExternalUserId: senderExternalAttendeeId,
timestampMs: 1,
throttled: false)
XCTAssertEqual(anotherString, dataMessage.text())
}
func testDataMessageTextNil() {
var data = Data()
data.append(contentsOf: [255, 255])
let dataMessage = DataMessage(topic: topic,
data: data,
senderAttendeeId: senderAttendeeId,
senderExternalUserId: senderExternalAttendeeId,
timestampMs: 1,
throttled: false)
XCTAssertNil(dataMessage.text())
}
func testDataMessageFromJSON() {
let anotherString = "{\"ABC\":\"CBA\"}"
let jsonObject = ["ABC": "CBA"]
let dataMessage = DataMessage(topic: topic,
data: anotherString.data(using: .utf8, allowLossyConversion: true)!,
senderAttendeeId: senderAttendeeId,
senderExternalUserId: senderExternalAttendeeId,
timestampMs: 1,
throttled: false)
let returnJson = dataMessage.fromJSON() as? [String: String]
XCTAssertEqual(jsonObject, returnJson)
}
func testDataMessageFromJSONNil() {
let anotherString = "AnotherString"
let dataMessage = DataMessage(topic: topic,
data: anotherString.data(using: .utf8, allowLossyConversion: true)!,
senderAttendeeId: senderAttendeeId,
senderExternalUserId: senderExternalAttendeeId,
timestampMs: 1,
throttled: false)
XCTAssertNil(dataMessage.fromJSON())
}
}