diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj index 5c90136..cb366fc 100644 --- a/pass.xcodeproj/project.pbxproj +++ b/pass.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 301F646D216166AA0071A4CE /* AdditionFieldTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301F646C216166AA0071A4CE /* AdditionFieldTest.swift */; }; 302E85612125ECC70031BA64 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302E85602125ECC70031BA64 /* Parser.swift */; }; 302E85632125EE550031BA64 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302E85622125EE550031BA64 /* Constants.swift */; }; + 307BF39921BC2298003A082D /* TestBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 307BF39821BC2297003A082D /* TestBase.swift */; }; 30A1D29C21AF451E00E2D1F7 /* PasswordGeneratorFlavourTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D29B21AF451E00E2D1F7 /* PasswordGeneratorFlavourTest.swift */; }; 30A1D29E21AF468F00E2D1F7 /* PasswordGeneratorFlavour.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D29D21AF468E00E2D1F7 /* PasswordGeneratorFlavour.swift */; }; 30A1D2A221B2BC6F00E2D1F7 /* TokenBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A121B2BC6F00E2D1F7 /* TokenBuilder.swift */; }; @@ -194,6 +195,7 @@ 301F646C216166AA0071A4CE /* AdditionFieldTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdditionFieldTest.swift; sourceTree = ""; }; 302E85602125ECC70031BA64 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; 302E85622125EE550031BA64 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + 307BF39821BC2297003A082D /* TestBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestBase.swift; sourceTree = ""; }; 30A1D29B21AF451E00E2D1F7 /* PasswordGeneratorFlavourTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordGeneratorFlavourTest.swift; sourceTree = ""; }; 30A1D29D21AF468E00E2D1F7 /* PasswordGeneratorFlavour.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PasswordGeneratorFlavour.swift; path = Helpers/PasswordGeneratorFlavour.swift; sourceTree = ""; }; 30A1D2A121B2BC6F00E2D1F7 /* TokenBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenBuilder.swift; sourceTree = ""; }; @@ -494,6 +496,7 @@ 301F6464216164670071A4CE /* Helpers */, 30C015A7214ED378005BB6DF /* Models */, 30C015A6214ED32A005BB6DF /* Parser */, + 307BF39821BC2297003A082D /* TestBase.swift */, A26075871EEC6F34005DB03E /* passKitTests.swift */, A26075891EEC6F34005DB03E /* Info.plist */, ); @@ -1194,6 +1197,7 @@ 301F646D216166AA0071A4CE /* AdditionFieldTest.swift in Sources */, 30FD2F78214D9E0E005E0A92 /* ParserTest.swift in Sources */, 30B04860209A5141001013CA /* PasswordTest.swift in Sources */, + 307BF39921BC2298003A082D /* TestBase.swift in Sources */, 30A1D2AA21B32A0100E2D1F7 /* OtpTypeTest.swift in Sources */, 301F6468216165290071A4CE /* ConstantsTest.swift in Sources */, 30A1D29C21AF451E00E2D1F7 /* PasswordGeneratorFlavourTest.swift in Sources */, diff --git a/passKitTests/Models/PasswordTest.swift b/passKitTests/Models/PasswordTest.swift index d9457c6..80a96b8 100644 --- a/passKitTests/Models/PasswordTest.swift +++ b/passKitTests/Models/PasswordTest.swift @@ -1,5 +1,5 @@ // -// PasswordTests.swift +// PasswordTest.swift // passKitTests // // Created by Danny Moesch on 02.05.18. @@ -12,20 +12,6 @@ import XCTest class PasswordTest: XCTestCase { - private let PASSWORD_PATH = "/path/to/password" - private let PASSWORD_URL = URL(fileURLWithPath: "/path/to/password") - private let PASSWORD_STRING = "abcd1234" - private let TOTP_URL = "otpauth://totp/email@email.com?secret=abcd1234" - private let HOTP_URL = "otpauth://hotp/email@email.com?secret=abcd1234" - - private let SECURE_URL_FIELD = "url" => "https://secure.com" - private let INSECURE_URL_FIELD = "url" => "http://insecure.com" - private let LOGIN_FIELD = "login" => "login name" - private let USERNAME_FIELD = "username" => "some username" - private let NOTE_FIELD = "note" => "A NOTE" - private let HINT_FIELD = "some hints" => "äöüß // €³ %% −° && @²` | [{\\}],.<>" - private let TOTP_URL_FIELD = "otpauth" => "//totp/email@email.com?secret=abcd1234" - func testUrl() { let password = getPasswordObjectWith(content: "") XCTAssertEqual(password.url, PASSWORD_URL) @@ -320,12 +306,4 @@ class PasswordTest: XCTestCase { XCTAssertNotNil(otpStrings) XCTAssertEqual(otpStrings!.description, "HMAC-based") } - - private func getPasswordObjectWith(content: String, url: URL? = nil) -> Password { - return Password(name: "password", url: url ?? PASSWORD_URL, plainText: content) - } - - private func does(_ password: Password, contain field: AdditionField) -> Bool { - return password.getFilteredAdditions().contains(field) - } } diff --git a/passKitTests/TestBase.swift b/passKitTests/TestBase.swift new file mode 100644 index 0000000..a39c118 --- /dev/null +++ b/passKitTests/TestBase.swift @@ -0,0 +1,34 @@ +// +// TestBase.swift +// passKitTests +// +// Created by Danny Moesch on 08.12.18. +// Copyright © 2018 Bob Sun. All rights reserved. +// + +import XCTest + +@testable import passKit + +let PASSWORD_PATH = "/path/to/password" +let PASSWORD_URL = URL(fileURLWithPath: "/path/to/password") +let PASSWORD_STRING = "abcd1234" +let TOTP_URL = "otpauth://totp/email@email.com?secret=abcd1234" +let HOTP_URL = "otpauth://hotp/email@email.com?secret=abcd1234" + +let SECURE_URL_FIELD = "url" => "https://secure.com" +let INSECURE_URL_FIELD = "url" => "http://insecure.com" +let LOGIN_FIELD = "login" => "login name" +let USERNAME_FIELD = "username" => "some username" +let NOTE_FIELD = "note" => "A NOTE" +let HINT_FIELD = "some hints" => "äöüß // €³ %% −° && @²` | [{\\}],.<>" +let TOTP_URL_FIELD = "otpauth" => "//totp/email@email.com?secret=abcd1234" + +func getPasswordObjectWith(content: String, url: URL? = nil) -> Password { + return Password(name: "password", url: url ?? PASSWORD_URL, plainText: content) +} + +func does(_ password: Password, contain field: AdditionField) -> Bool { + return password.getFilteredAdditions().contains(field) +} +