diff --git a/passKitTests/Models/PasswordTest.swift b/passKitTests/Models/PasswordTest.swift index e67e7b8..a94b209 100644 --- a/passKitTests/Models/PasswordTest.swift +++ b/passKitTests/Models/PasswordTest.swift @@ -30,10 +30,13 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, "") XCTAssertTrue(password.getFilteredAdditions().isEmpty) + XCTAssertEqual(password.numberOfUnknowns, 0) XCTAssertNil(password.username) XCTAssertNil(password.urlString) XCTAssertNil(password.login) + + XCTAssertEqual(password.numberOfOtpRelated, 0) } } @@ -75,6 +78,7 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, additions) + XCTAssertEqual(password.numberOfUnknowns, 1) XCTAssert(INSECURE_URL_FIELD ∈ password) XCTAssert(Constants.unknown(1) => "efgh5678" ∈ password) @@ -82,6 +86,8 @@ class PasswordTest: XCTestCase { XCTAssertNil(password.username) XCTAssertEqual(password.urlString, INSECURE_URL_FIELD.content) XCTAssertNil(password.login) + + XCTAssertEqual(password.numberOfOtpRelated, 0) } func testNoPassword() { @@ -124,6 +130,7 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, additions) + XCTAssertEqual(password.numberOfUnknowns, 4) XCTAssert(Constants.unknown(1) => value1 ∈ password) XCTAssert(NOTE_FIELD ∈ password) @@ -135,6 +142,8 @@ class PasswordTest: XCTestCase { XCTAssertNil(password.username) XCTAssertEqual(password.urlString, SECURE_URL_FIELD.content) XCTAssertNil(password.login) + + XCTAssertEqual(password.numberOfOtpRelated, 0) } func testPasswordFileWithOtpToken() { @@ -145,7 +154,9 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, additions) + XCTAssertEqual(password.numberOfUnknowns, 0) + XCTAssertEqual(password.numberOfOtpRelated, 1) XCTAssertEqual(password.otpType, .totp) XCTAssertNotNil(password.currentOtp) } @@ -156,11 +167,13 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, TOTP_URL) XCTAssertEqual(password.plainData, TOTP_URL.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, "") + XCTAssertEqual(password.numberOfUnknowns, 0) XCTAssertNil(password.username) XCTAssertNil(password.urlString) XCTAssertNil(password.login) + XCTAssertEqual(password.numberOfOtpRelated, 0) XCTAssertEqual(password.otpType, .totp) XCTAssertNotNil(password.currentOtp) } @@ -173,7 +186,9 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, additions) + XCTAssertEqual(password.numberOfUnknowns, 0) + XCTAssertEqual(password.numberOfOtpRelated, 1) XCTAssertEqual(password.otpType, .totp) XCTAssertNotNil(password.currentOtp) } @@ -190,7 +205,9 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.additionsPlainText, additions) + XCTAssertEqual(password.numberOfUnknowns, 0) + XCTAssertEqual(password.numberOfOtpRelated, 4) XCTAssertEqual(password.otpType, .hotp) XCTAssertNotNil(password.currentOtp) } @@ -202,7 +219,9 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.password, fileContent) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertTrue(password.additionsPlainText.isEmpty) + XCTAssertEqual(password.numberOfUnknowns, 0) + XCTAssertEqual(password.numberOfOtpRelated, 0) XCTAssertEqual(password.otpType, OtpType.none) XCTAssertNil(password.currentOtp) } diff --git a/passKitTests/TestBase.swift b/passKitTests/TestBase.swift index 8c7d72a..fa21995 100644 --- a/passKitTests/TestBase.swift +++ b/passKitTests/TestBase.swift @@ -38,6 +38,8 @@ func assertDefaults(in password: Password, with passwordString: String, and addi XCTAssertEqual(password.password, passwordString, "Actual passwords do not match.", file: file, line: line) XCTAssertEqual(password.plainData, fileContent, "Plain data are not equal.", file: file, line: line) XCTAssertEqual(password.additionsPlainText, additions, "Plain texts are not equal.", file: file, line: line) + XCTAssertEqual(password.numberOfUnknowns, 0, "Number of unknowns is not 0.", file: file, line: line) + XCTAssertEqual(password.numberOfOtpRelated, 0, "Number of OTP related fields is not 0.", file: file, line: line) XCTAssertEqual(password.otpType, .none, "OTP type is not .none.", file: file, line: line) }