Test also counting of unknown and OTP related fields

This commit is contained in:
Danny Moesch 2018-12-08 18:21:09 +01:00 committed by Bob Sun
parent e019f6ac9d
commit 2ba6917710
2 changed files with 21 additions and 0 deletions

View file

@ -30,10 +30,13 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, "") XCTAssertEqual(password.additionsPlainText, "")
XCTAssertTrue(password.getFilteredAdditions().isEmpty) XCTAssertTrue(password.getFilteredAdditions().isEmpty)
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertNil(password.username) XCTAssertNil(password.username)
XCTAssertNil(password.urlString) XCTAssertNil(password.urlString)
XCTAssertNil(password.login) XCTAssertNil(password.login)
XCTAssertEqual(password.numberOfOtpRelated, 0)
} }
} }
@ -75,6 +78,7 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.password, PASSWORD_STRING)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, additions) XCTAssertEqual(password.additionsPlainText, additions)
XCTAssertEqual(password.numberOfUnknowns, 1)
XCTAssert(INSECURE_URL_FIELD password) XCTAssert(INSECURE_URL_FIELD password)
XCTAssert(Constants.unknown(1) => "efgh5678" password) XCTAssert(Constants.unknown(1) => "efgh5678" password)
@ -82,6 +86,8 @@ class PasswordTest: XCTestCase {
XCTAssertNil(password.username) XCTAssertNil(password.username)
XCTAssertEqual(password.urlString, INSECURE_URL_FIELD.content) XCTAssertEqual(password.urlString, INSECURE_URL_FIELD.content)
XCTAssertNil(password.login) XCTAssertNil(password.login)
XCTAssertEqual(password.numberOfOtpRelated, 0)
} }
func testNoPassword() { func testNoPassword() {
@ -124,6 +130,7 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.password, PASSWORD_STRING)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, additions) XCTAssertEqual(password.additionsPlainText, additions)
XCTAssertEqual(password.numberOfUnknowns, 4)
XCTAssert(Constants.unknown(1) => value1 password) XCTAssert(Constants.unknown(1) => value1 password)
XCTAssert(NOTE_FIELD password) XCTAssert(NOTE_FIELD password)
@ -135,6 +142,8 @@ class PasswordTest: XCTestCase {
XCTAssertNil(password.username) XCTAssertNil(password.username)
XCTAssertEqual(password.urlString, SECURE_URL_FIELD.content) XCTAssertEqual(password.urlString, SECURE_URL_FIELD.content)
XCTAssertNil(password.login) XCTAssertNil(password.login)
XCTAssertEqual(password.numberOfOtpRelated, 0)
} }
func testPasswordFileWithOtpToken() { func testPasswordFileWithOtpToken() {
@ -145,7 +154,9 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.password, PASSWORD_STRING)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, additions) XCTAssertEqual(password.additionsPlainText, additions)
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertEqual(password.numberOfOtpRelated, 1)
XCTAssertEqual(password.otpType, .totp) XCTAssertEqual(password.otpType, .totp)
XCTAssertNotNil(password.currentOtp) XCTAssertNotNil(password.currentOtp)
} }
@ -156,11 +167,13 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, TOTP_URL) XCTAssertEqual(password.password, TOTP_URL)
XCTAssertEqual(password.plainData, TOTP_URL.data(using: .utf8)) XCTAssertEqual(password.plainData, TOTP_URL.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, "") XCTAssertEqual(password.additionsPlainText, "")
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertNil(password.username) XCTAssertNil(password.username)
XCTAssertNil(password.urlString) XCTAssertNil(password.urlString)
XCTAssertNil(password.login) XCTAssertNil(password.login)
XCTAssertEqual(password.numberOfOtpRelated, 0)
XCTAssertEqual(password.otpType, .totp) XCTAssertEqual(password.otpType, .totp)
XCTAssertNotNil(password.currentOtp) XCTAssertNotNil(password.currentOtp)
} }
@ -173,7 +186,9 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.password, PASSWORD_STRING)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, additions) XCTAssertEqual(password.additionsPlainText, additions)
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertEqual(password.numberOfOtpRelated, 1)
XCTAssertEqual(password.otpType, .totp) XCTAssertEqual(password.otpType, .totp)
XCTAssertNotNil(password.currentOtp) XCTAssertNotNil(password.currentOtp)
} }
@ -190,7 +205,9 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, PASSWORD_STRING) XCTAssertEqual(password.password, PASSWORD_STRING)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertEqual(password.additionsPlainText, additions) XCTAssertEqual(password.additionsPlainText, additions)
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertEqual(password.numberOfOtpRelated, 4)
XCTAssertEqual(password.otpType, .hotp) XCTAssertEqual(password.otpType, .hotp)
XCTAssertNotNil(password.currentOtp) XCTAssertNotNil(password.currentOtp)
} }
@ -202,7 +219,9 @@ class PasswordTest: XCTestCase {
XCTAssertEqual(password.password, fileContent) XCTAssertEqual(password.password, fileContent)
XCTAssertEqual(password.plainData, fileContent.data(using: .utf8)) XCTAssertEqual(password.plainData, fileContent.data(using: .utf8))
XCTAssertTrue(password.additionsPlainText.isEmpty) XCTAssertTrue(password.additionsPlainText.isEmpty)
XCTAssertEqual(password.numberOfUnknowns, 0)
XCTAssertEqual(password.numberOfOtpRelated, 0)
XCTAssertEqual(password.otpType, OtpType.none) XCTAssertEqual(password.otpType, OtpType.none)
XCTAssertNil(password.currentOtp) XCTAssertNil(password.currentOtp)
} }

View file

@ -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.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.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.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) XCTAssertEqual(password.otpType, .none, "OTP type is not .none.", file: file, line: line)
} }