From 4c2693e2c78d1f1d2f6ec247687cbec4faf22039 Mon Sep 17 00:00:00 2001 From: Danny Moesch Date: Sun, 19 Apr 2020 15:41:30 +0200 Subject: [PATCH] Name classes/structs consistently --- pass.xcodeproj/project.pbxproj | 40 ++++++++--------- ...GopenPgp.swift => GopenPGPInterface.swift} | 4 +- ...ePgp.swift => ObjectivePGPInterface.swift} | 4 +- passKit/Crypto/PGPAgent.swift | 6 +-- ...{PgpInterface.swift => PGPInterface.swift} | 4 +- passKit/Models/Password.swift | 4 +- .../Parser/{OtpType.swift => OTPType.swift} | 2 +- passKit/Parser/TokenBuilder.swift | 4 +- passKitTests/Models/PasswordTest.swift | 2 +- passKitTests/Parser/OTPTypeTest.swift | 45 +++++++++++++++++++ passKitTests/Parser/OtpTypeTest.swift | 45 ------------------- 11 files changed, 80 insertions(+), 80 deletions(-) rename passKit/Crypto/{GopenPgp.swift => GopenPGPInterface.swift} (98%) rename passKit/Crypto/{ObjectivePgp.swift => ObjectivePGPInterface.swift} (96%) rename passKit/Crypto/{PgpInterface.swift => PGPInterface.swift} (90%) rename passKit/Parser/{OtpType.swift => OTPType.swift} (96%) create mode 100644 passKitTests/Parser/OTPTypeTest.swift delete mode 100644 passKitTests/Parser/OtpTypeTest.swift diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj index 91e3a16..f687fcd 100644 --- a/pass.xcodeproj/project.pbxproj +++ b/pass.xcodeproj/project.pbxproj @@ -56,9 +56,9 @@ 308C273A2279F9CB0016D0E2 /* SearchBarScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302202EE222F14E400555236 /* SearchBarScope.swift */; }; 30A1D29C21AF451E00E2D1F7 /* PasswordGeneratorFlavorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D29B21AF451E00E2D1F7 /* PasswordGeneratorFlavorTest.swift */; }; 30A1D2A221B2BC6F00E2D1F7 /* TokenBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A121B2BC6F00E2D1F7 /* TokenBuilder.swift */; }; - 30A1D2A621B2D46100E2D1F7 /* OtpType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A521B2D46100E2D1F7 /* OtpType.swift */; }; + 30A1D2A621B2D46100E2D1F7 /* OTPType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A521B2D46100E2D1F7 /* OTPType.swift */; }; 30A1D2A821B2D53200E2D1F7 /* PasswordChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A721B2D53200E2D1F7 /* PasswordChange.swift */; }; - 30A1D2AA21B32A0100E2D1F7 /* OtpTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A921B32A0100E2D1F7 /* OtpTypeTest.swift */; }; + 30A1D2AA21B32A0100E2D1F7 /* OTPTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A921B32A0100E2D1F7 /* OTPTypeTest.swift */; }; 30A1D2AC21B32C2A00E2D1F7 /* TokenBuilderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2AB21B32C2A00E2D1F7 /* TokenBuilderTest.swift */; }; 30A69948240EED5E00B7D967 /* IntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A69947240EED5E00B7D967 /* IntentHandler.swift */; }; 30A6995D240EED5F00B7D967 /* PassShortcuts.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 30A69945240EED5E00B7D967 /* PassShortcuts.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; @@ -75,9 +75,9 @@ 30C25DD721F4834D00BB27BB /* UILocalizedLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C25DD521F4834D00BB27BB /* UILocalizedLabel.swift */; }; 30C25DD821F4834D00BB27BB /* UICodeHighlightingLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C25DD621F4834D00BB27BB /* UICodeHighlightingLabel.swift */; }; 30CCA90B2325119C0048CA51 /* Data+Mutable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA90A2325119C0048CA51 /* Data+Mutable.swift */; }; - 30CCA91623258C380048CA51 /* PgpInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA91523258C380048CA51 /* PgpInterface.swift */; }; - 30CCA91823258E760048CA51 /* GopenPgp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA91723258E760048CA51 /* GopenPgp.swift */; }; - 30CCA91A232591320048CA51 /* ObjectivePgp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA919232591320048CA51 /* ObjectivePgp.swift */; }; + 30CCA91623258C380048CA51 /* PGPInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA91523258C380048CA51 /* PGPInterface.swift */; }; + 30CCA91823258E760048CA51 /* GopenPGPInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA91723258E760048CA51 /* GopenPGPInterface.swift */; }; + 30CCA91A232591320048CA51 /* ObjectivePGPInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CCA919232591320048CA51 /* ObjectivePGPInterface.swift */; }; 30DAFD4A240985A7002456E7 /* Array+Slices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DAFD49240985A7002456E7 /* Array+Slices.swift */; }; 30DAFD4C240985E3002456E7 /* Array+SlicesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DAFD4B240985E3002456E7 /* Array+SlicesTest.swift */; }; 30EE3A14241AE6EC009FBB61 /* SyncRepositoryIntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A69968240EF52E00B7D967 /* SyncRepositoryIntentHandler.swift */; }; @@ -309,9 +309,9 @@ 3087574E2343E42A00B971A2 /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = ""; }; 30A1D29B21AF451E00E2D1F7 /* PasswordGeneratorFlavorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordGeneratorFlavorTest.swift; sourceTree = ""; }; 30A1D2A121B2BC6F00E2D1F7 /* TokenBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenBuilder.swift; sourceTree = ""; }; - 30A1D2A521B2D46100E2D1F7 /* OtpType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OtpType.swift; sourceTree = ""; }; + 30A1D2A521B2D46100E2D1F7 /* OTPType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTPType.swift; sourceTree = ""; }; 30A1D2A721B2D53200E2D1F7 /* PasswordChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordChange.swift; sourceTree = ""; }; - 30A1D2A921B32A0100E2D1F7 /* OtpTypeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OtpTypeTest.swift; sourceTree = ""; }; + 30A1D2A921B32A0100E2D1F7 /* OTPTypeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTPTypeTest.swift; sourceTree = ""; }; 30A1D2AB21B32C2A00E2D1F7 /* TokenBuilderTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenBuilderTest.swift; sourceTree = ""; }; 30A69945240EED5E00B7D967 /* PassShortcuts.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PassShortcuts.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 30A69947240EED5E00B7D967 /* IntentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentHandler.swift; sourceTree = ""; }; @@ -336,9 +336,9 @@ 30C25DD521F4834D00BB27BB /* UILocalizedLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UILocalizedLabel.swift; sourceTree = ""; }; 30C25DD621F4834D00BB27BB /* UICodeHighlightingLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICodeHighlightingLabel.swift; sourceTree = ""; }; 30CCA90A2325119C0048CA51 /* Data+Mutable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Mutable.swift"; sourceTree = ""; }; - 30CCA91523258C380048CA51 /* PgpInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PgpInterface.swift; sourceTree = ""; }; - 30CCA91723258E760048CA51 /* GopenPgp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GopenPgp.swift; sourceTree = ""; }; - 30CCA919232591320048CA51 /* ObjectivePgp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectivePgp.swift; sourceTree = ""; }; + 30CCA91523258C380048CA51 /* PGPInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PGPInterface.swift; sourceTree = ""; }; + 30CCA91723258E760048CA51 /* GopenPGPInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GopenPGPInterface.swift; sourceTree = ""; }; + 30CCA919232591320048CA51 /* ObjectivePGPInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectivePGPInterface.swift; sourceTree = ""; }; 30DAFD49240985A7002456E7 /* Array+Slices.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Slices.swift"; sourceTree = ""; }; 30DAFD4B240985E3002456E7 /* Array+SlicesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+SlicesTest.swift"; sourceTree = ""; }; 30EE3A18241E98C1009FBB61 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = en; path = en.lproj/Intents.intentdefinition; sourceTree = ""; }; @@ -610,7 +610,7 @@ children = ( 301F6462216162550071A4CE /* AdditionField.swift */, 302E85622125EE550031BA64 /* Constants.swift */, - 30A1D2A521B2D46100E2D1F7 /* OtpType.swift */, + 30A1D2A521B2D46100E2D1F7 /* OTPType.swift */, 302E85602125ECC70031BA64 /* Parser.swift */, 30A1D2A721B2D53200E2D1F7 /* PasswordChange.swift */, 30A1D2A121B2BC6F00E2D1F7 /* TokenBuilder.swift */, @@ -623,7 +623,7 @@ children = ( 301F646C216166AA0071A4CE /* AdditionFieldTest.swift */, 301F6467216165290071A4CE /* ConstantsTest.swift */, - 30A1D2A921B32A0100E2D1F7 /* OtpTypeTest.swift */, + 30A1D2A921B32A0100E2D1F7 /* OTPTypeTest.swift */, 30FD2F77214D9E0E005E0A92 /* ParserTest.swift */, 30A1D2AB21B32C2A00E2D1F7 /* TokenBuilderTest.swift */, ); @@ -643,10 +643,10 @@ 30CCA90C232584560048CA51 /* Crypto */ = { isa = PBXGroup; children = ( - 30CCA91723258E760048CA51 /* GopenPgp.swift */, - 30CCA919232591320048CA51 /* ObjectivePgp.swift */, + 30CCA91723258E760048CA51 /* GopenPGPInterface.swift */, + 30CCA919232591320048CA51 /* ObjectivePGPInterface.swift */, A2AA934322DE30DD00D79A00 /* PGPAgent.swift */, - 30CCA91523258C380048CA51 /* PgpInterface.swift */, + 30CCA91523258C380048CA51 /* PGPInterface.swift */, ); path = Crypto; sourceTree = ""; @@ -1458,13 +1458,13 @@ A2AA934422DE30DD00D79A00 /* PGPAgent.swift in Sources */, 30697C3B21F63C990064FCAC /* String+Localization.swift in Sources */, 302E85612125ECC70031BA64 /* Parser.swift in Sources */, - 30CCA91A232591320048CA51 /* ObjectivePgp.swift in Sources */, + 30CCA91A232591320048CA51 /* ObjectivePGPInterface.swift in Sources */, 30697C4621F63CAB0064FCAC /* GitCredential.swift in Sources */, 30B4C7BA24084AAA008B86F7 /* PasswordGenerator.swift in Sources */, - 30A1D2A621B2D46100E2D1F7 /* OtpType.swift in Sources */, + 30A1D2A621B2D46100E2D1F7 /* OTPType.swift in Sources */, 3032328E22CBD4CD009EBD9C /* CryptographicKeys.swift in Sources */, 30697C2A21F63C5A0064FCAC /* NotificationNames.swift in Sources */, - 30CCA91623258C380048CA51 /* PgpInterface.swift in Sources */, + 30CCA91623258C380048CA51 /* PGPInterface.swift in Sources */, 30DAFD4A240985A7002456E7 /* Array+Slices.swift in Sources */, 30697C4721F63CAB0064FCAC /* PasscodeLock.swift in Sources */, A2699ACD2402631400F36323 /* PasswordTableEntry.swift in Sources */, @@ -1475,7 +1475,7 @@ 30697C3D21F63C990064FCAC /* UIViewExtension.swift in Sources */, 30697C3A21F63C990064FCAC /* UIViewControllerExtension.swift in Sources */, 30697C2E21F63C5A0064FCAC /* Utils.swift in Sources */, - 30CCA91823258E760048CA51 /* GopenPgp.swift in Sources */, + 30CCA91823258E760048CA51 /* GopenPGPInterface.swift in Sources */, 30697C4521F63CAB0064FCAC /* Password.swift in Sources */, 30697C4421F63CAB0064FCAC /* PasswordEntity.swift in Sources */, 30BAC8CD22E3BB9700438475 /* KeyStore.swift in Sources */, @@ -1501,7 +1501,7 @@ 3032328A22C9FBA2009EBD9C /* KeyFileManagerTest.swift in Sources */, 306623332406F1A8000E2AD6 /* PasswordGeneratorTest.swift in Sources */, 30BAC8C722E3BAAF00438475 /* TestPGPKeys.swift in Sources */, - 30A1D2AA21B32A0100E2D1F7 /* OtpTypeTest.swift in Sources */, + 30A1D2AA21B32A0100E2D1F7 /* OTPTypeTest.swift in Sources */, 301F6468216165290071A4CE /* ConstantsTest.swift in Sources */, 30A1D29C21AF451E00E2D1F7 /* PasswordGeneratorFlavorTest.swift in Sources */, A26075881EEC6F34005DB03E /* passKitTests.swift in Sources */, diff --git a/passKit/Crypto/GopenPgp.swift b/passKit/Crypto/GopenPGPInterface.swift similarity index 98% rename from passKit/Crypto/GopenPgp.swift rename to passKit/Crypto/GopenPGPInterface.swift index 2e9e98b..3614a7a 100644 --- a/passKit/Crypto/GopenPgp.swift +++ b/passKit/Crypto/GopenPGPInterface.swift @@ -1,5 +1,5 @@ // -// GopenPgp.swift +// GopenPGPInterface.swift // passKit // // Created by Danny Moesch on 08.09.19. @@ -8,7 +8,7 @@ import Crypto -struct GopenPgp: PgpInterface { +struct GopenPGPInterface: PGPInterface { private static let errorMapping: [String: Error] = [ "gopenpgp: error in unlocking key: openpgp: invalid data: private key checksum failure": AppError.WrongPassphrase, diff --git a/passKit/Crypto/ObjectivePgp.swift b/passKit/Crypto/ObjectivePGPInterface.swift similarity index 96% rename from passKit/Crypto/ObjectivePgp.swift rename to passKit/Crypto/ObjectivePGPInterface.swift index af25465..34c9c80 100644 --- a/passKit/Crypto/ObjectivePgp.swift +++ b/passKit/Crypto/ObjectivePGPInterface.swift @@ -1,5 +1,5 @@ // -// ObjectivePgp.swift +// ObjectivePGPInterface.swift // passKit // // Created by Danny Moesch on 08.09.19. @@ -8,7 +8,7 @@ import ObjectivePGP -struct ObjectivePgp: PgpInterface { +struct ObjectivePGPInterface: PGPInterface { private let publicKey: Key private let privateKey: Key diff --git a/passKit/Crypto/PGPAgent.swift b/passKit/Crypto/PGPAgent.swift index 64caadd..7ffe020 100644 --- a/passKit/Crypto/PGPAgent.swift +++ b/passKit/Crypto/PGPAgent.swift @@ -11,7 +11,7 @@ public class PGPAgent { public static let shared: PGPAgent = PGPAgent() private let keyStore: KeyStore - private var pgpInterface: PgpInterface? + private var pgpInterface: PGPInterface? private var latestDecryptStatus: Bool = true public init(keyStore: KeyStore = AppKeychain.shared) { @@ -25,9 +25,9 @@ public class PGPAgent { throw AppError.KeyImport } do { - pgpInterface = try GopenPgp(publicArmoredKey: publicKey, privateArmoredKey: privateKey) + pgpInterface = try GopenPGPInterface(publicArmoredKey: publicKey, privateArmoredKey: privateKey) } catch { - pgpInterface = try ObjectivePgp(publicArmoredKey: publicKey, privateArmoredKey: privateKey) + pgpInterface = try ObjectivePGPInterface(publicArmoredKey: publicKey, privateArmoredKey: privateKey) } } diff --git a/passKit/Crypto/PgpInterface.swift b/passKit/Crypto/PGPInterface.swift similarity index 90% rename from passKit/Crypto/PgpInterface.swift rename to passKit/Crypto/PGPInterface.swift index db4c320..2052b84 100644 --- a/passKit/Crypto/PgpInterface.swift +++ b/passKit/Crypto/PGPInterface.swift @@ -1,12 +1,12 @@ // -// PgpInterface.swift +// PGPInterface.swift // passKit // // Created by Danny Moesch on 08.09.19. // Copyright © 2019 Bob Sun. All rights reserved. // -protocol PgpInterface { +protocol PGPInterface { func decrypt(encryptedData: Data, keyID: String, passphrase: String) throws -> Data? diff --git a/passKit/Models/Password.swift b/passKit/Models/Password.swift index 37acd74..351b025 100644 --- a/passKit/Models/Password.swift +++ b/passKit/Models/Password.swift @@ -16,7 +16,7 @@ public class Password { public var plainText: String public var changed: Int = 0 - public var otpType: OtpType = .none + public var otpType: OTPType = .none private var parser = Parser(plainText: "") private var additions = [AdditionField]() @@ -24,7 +24,7 @@ public class Password { private var otpToken: Token? { didSet { - otpType = OtpType(token: otpToken) + otpType = OTPType(token: otpToken) } } diff --git a/passKit/Parser/OtpType.swift b/passKit/Parser/OTPType.swift similarity index 96% rename from passKit/Parser/OtpType.swift rename to passKit/Parser/OTPType.swift index 4c277d0..80b8cf3 100644 --- a/passKit/Parser/OtpType.swift +++ b/passKit/Parser/OTPType.swift @@ -8,7 +8,7 @@ import OneTimePassword -public enum OtpType: String { +public enum OTPType: String { case totp = "TimeBased" case hotp = "HmacBased" case none = "None" diff --git a/passKit/Parser/TokenBuilder.swift b/passKit/Parser/TokenBuilder.swift index ee8a5d3..737087d 100644 --- a/passKit/Parser/TokenBuilder.swift +++ b/passKit/Parser/TokenBuilder.swift @@ -30,7 +30,7 @@ class TokenBuilder { private var name: String = "" private var secret: Data? - private var type: OtpType = .totp + private var type: OTPType = .totp private var algorithm: Generator.Algorithm = .sha1 private var digits: Int? = Constants.DEFAULT_DIGITS private var period: Double? = Constants.DEFAULT_PERIOD @@ -49,7 +49,7 @@ class TokenBuilder { } func usingType(_ type: String?) -> TokenBuilder { - self.type = OtpType(name: type) + self.type = OTPType(name: type) return self } diff --git a/passKitTests/Models/PasswordTest.swift b/passKitTests/Models/PasswordTest.swift index 52ad5a3..875372e 100644 --- a/passKitTests/Models/PasswordTest.swift +++ b/passKitTests/Models/PasswordTest.swift @@ -222,7 +222,7 @@ class PasswordTest: XCTestCase { XCTAssertEqual(password.numberOfUnknowns, 0) XCTAssertEqual(password.numberOfOtpRelated, 0) - XCTAssertEqual(password.otpType, OtpType.none) + XCTAssertEqual(password.otpType, OTPType.none) XCTAssertNil(password.currentOtp) } diff --git a/passKitTests/Parser/OTPTypeTest.swift b/passKitTests/Parser/OTPTypeTest.swift new file mode 100644 index 0000000..64b6d3b --- /dev/null +++ b/passKitTests/Parser/OTPTypeTest.swift @@ -0,0 +1,45 @@ +// +// OTPTypeTest.swift +// passKitTests +// +// Created by Danny Moesch on 01.12.18. +// Copyright © 2018 Bob Sun. All rights reserved. +// + +import OneTimePassword +import XCTest + +@testable import passKit + +class OTPTypeTest: XCTestCase { + + func testInitFromToken() { + let secret = "secret".data(using: .utf8)! + + let totpGenerator = Generator(factor: .timer(period: 30.0), secret: secret, algorithm: .sha1, digits: 6)! + let totpToken = Token(name: "", issuer: "", generator: totpGenerator) + XCTAssertEqual(OTPType(token: totpToken), .totp) + + let hotpGenerator = Generator(factor: .counter(4), secret: secret, algorithm: .sha1, digits: 6)! + let hotpToken = Token(name: "", issuer: "", generator: hotpGenerator) + XCTAssertEqual(OTPType(token: hotpToken), .hotp) + + XCTAssertEqual(OTPType(token: nil), .none) + } + + func testInitFromString() { + XCTAssertEqual(OTPType(name: "totp"), .totp) + XCTAssertEqual(OTPType(name: "tOtP"), .totp) + XCTAssertEqual(OTPType(name: "hotp"), .hotp) + XCTAssertEqual(OTPType(name: "HoTp"), .hotp) + XCTAssertEqual(OTPType(name: nil), .none) + XCTAssertEqual(OTPType(name: ""), .none) + XCTAssertEqual(OTPType(name: "something"), .none) + } + + func testDescription() { + XCTAssertEqual(OTPType(name: "totp").description, "TimeBased".localize()) + XCTAssertEqual(OTPType(name: "hotp").description, "HmacBased".localize()) + XCTAssertEqual(OTPType(name: nil).description, "None".localize()) + } +} diff --git a/passKitTests/Parser/OtpTypeTest.swift b/passKitTests/Parser/OtpTypeTest.swift deleted file mode 100644 index c1bdb36..0000000 --- a/passKitTests/Parser/OtpTypeTest.swift +++ /dev/null @@ -1,45 +0,0 @@ -// -// OtpTypeTest.swift -// passKitTests -// -// Created by Danny Moesch on 01.12.18. -// Copyright © 2018 Bob Sun. All rights reserved. -// - -import OneTimePassword -import XCTest - -@testable import passKit - -class OtpTypeTest: XCTestCase { - - func testInitFromToken() { - let secret = "secret".data(using: .utf8)! - - let totpGenerator = Generator(factor: .timer(period: 30.0), secret: secret, algorithm: .sha1, digits: 6)! - let totpToken = Token(name: "", issuer: "", generator: totpGenerator) - XCTAssertEqual(OtpType(token: totpToken), .totp) - - let hotpGenerator = Generator(factor: .counter(4), secret: secret, algorithm: .sha1, digits: 6)! - let hotpToken = Token(name: "", issuer: "", generator: hotpGenerator) - XCTAssertEqual(OtpType(token: hotpToken), .hotp) - - XCTAssertEqual(OtpType(token: nil), .none) - } - - func testInitFromString() { - XCTAssertEqual(OtpType(name: "totp"), .totp) - XCTAssertEqual(OtpType(name: "tOtP"), .totp) - XCTAssertEqual(OtpType(name: "hotp"), .hotp) - XCTAssertEqual(OtpType(name: "HoTp"), .hotp) - XCTAssertEqual(OtpType(name: nil), .none) - XCTAssertEqual(OtpType(name: ""), .none) - XCTAssertEqual(OtpType(name: "something"), .none) - } - - func testDescription() { - XCTAssertEqual(OtpType(name: "totp").description, "TimeBased".localize()) - XCTAssertEqual(OtpType(name: "hotp").description, "HmacBased".localize()) - XCTAssertEqual(OtpType(name: nil).description, "None".localize()) - } -}