Signal-iOS/SignalServiceKit/tests/Network/API/Requests/ChatServiceAuthTest.swift

55 lines
1.7 KiB
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import XCTest
import SignalServiceKit
final class ChatServiceAuthTest: XCTestCase {
func testImplicit() {
let auth = ChatServiceAuth.implicit()
XCTAssertNil(auth.aci)
XCTAssertNil(auth.username)
XCTAssertNil(auth.password)
XCTAssertEqual(auth.mode, .implicit)
}
func testExplicit() {
let uuidString = "125A6D22-5364-4583-9132-66227867D9EC"
let aci = UUID(uuidString: uuidString)!
let auth = ChatServiceAuth.explicit(aci: aci, password: "foo bar")
XCTAssertEqual(auth.aci, aci)
XCTAssertEqual(auth.username, uuidString)
XCTAssertEqual(auth.password, "foo bar")
XCTAssertEqual(auth.mode, .explicit)
}
func testEquality() {
let uuid1 = UUID()
let uuid2 = UUID()
let implicit = ChatServiceAuth.implicit()
let explicit1 = ChatServiceAuth.explicit(aci: uuid1, password: "foo bar")
let explicit2 = ChatServiceAuth.explicit(aci: uuid1, password: "foo bar")
let explicit3 = ChatServiceAuth.explicit(aci: uuid1, password: "baz qux")
let explicit4 = ChatServiceAuth.explicit(aci: uuid2, password: "foo bar")
for auth in [implicit, explicit1, explicit2, explicit3, explicit4] {
XCTAssertEqual(auth, auth)
}
for other in [explicit1, explicit2, explicit3, explicit4] {
XCTAssertNotEqual(implicit, other)
XCTAssertNotEqual(other, implicit)
}
XCTAssertEqual(explicit1, explicit2)
XCTAssertNotEqual(explicit1, explicit3)
XCTAssertNotEqual(explicit1, explicit4)
}
}