Files
OpenVPNAdapter/Carthage/Checkouts/KeychainAccess/Lib/KeychainAccessTests/EnumTests.swift
2017-03-06 21:24:37 +03:00

306 lines
13 KiB
Swift

//
// EnumTests.swift
// KeychainAccessTests
//
// Created by kishikawa katsumi on 10/12/15.
// Copyright © 2015 kishikawa katsumi. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import XCTest
import KeychainAccess
class EnumTests: XCTestCase {
override func setUp() {
super.setUp()
}
override func tearDown() {
super.tearDown()
}
func testItemClass() {
do {
let itemClass = ItemClass(rawValue: kSecClassGenericPassword as String)
XCTAssertEqual(itemClass, .genericPassword)
XCTAssertEqual(itemClass?.description, "GenericPassword")
}
do {
let itemClass = ItemClass(rawValue: kSecClassInternetPassword as String)
XCTAssertEqual(itemClass, .internetPassword)
XCTAssertEqual(itemClass?.description, "InternetPassword")
}
do {
let itemClass = ItemClass(rawValue: kSecClassCertificate as String)
XCTAssertNil(itemClass)
}
do {
let itemClass = ItemClass(rawValue: kSecClassKey as String)
XCTAssertNil(itemClass)
}
do {
let itemClass = ItemClass(rawValue: kSecClassIdentity as String)
XCTAssertNil(itemClass)
}
}
func testProtocolType() {
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolFTP as String)
XCTAssertEqual(protocolType, .ftp)
XCTAssertEqual(protocolType?.description, "FTP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolFTPAccount as String)
XCTAssertEqual(protocolType, .ftpAccount)
XCTAssertEqual(protocolType?.description, "FTPAccount")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolHTTP as String)
XCTAssertEqual(protocolType, .http)
XCTAssertEqual(protocolType?.description, "HTTP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolIRC as String)
XCTAssertEqual(protocolType, .irc)
XCTAssertEqual(protocolType?.description, "IRC")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolNNTP as String)
XCTAssertEqual(protocolType, .nntp)
XCTAssertEqual(protocolType?.description, "NNTP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolPOP3 as String)
XCTAssertEqual(protocolType, .pop3)
XCTAssertEqual(protocolType?.description, "POP3")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolSMTP as String)
XCTAssertEqual(protocolType, .smtp)
XCTAssertEqual(protocolType?.description, "SMTP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolSOCKS as String)
XCTAssertEqual(protocolType, .socks)
XCTAssertEqual(protocolType?.description, "SOCKS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolIMAP as String)
XCTAssertEqual(protocolType, .imap)
XCTAssertEqual(protocolType?.description, "IMAP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolLDAP as String)
XCTAssertEqual(protocolType, .ldap)
XCTAssertEqual(protocolType?.description, "LDAP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolAppleTalk as String)
XCTAssertEqual(protocolType, .appleTalk)
XCTAssertEqual(protocolType?.description, "AppleTalk")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolAFP as String)
XCTAssertEqual(protocolType, .afp)
XCTAssertEqual(protocolType?.description, "AFP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolTelnet as String)
XCTAssertEqual(protocolType, .telnet)
XCTAssertEqual(protocolType?.description, "Telnet")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolSSH as String)
XCTAssertEqual(protocolType, .ssh)
XCTAssertEqual(protocolType?.description, "SSH")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolFTPS as String)
XCTAssertEqual(protocolType, .ftps)
XCTAssertEqual(protocolType?.description, "FTPS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolHTTPS as String)
XCTAssertEqual(protocolType, .https)
XCTAssertEqual(protocolType?.description, "HTTPS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolHTTPProxy as String)
XCTAssertEqual(protocolType, .httpProxy)
XCTAssertEqual(protocolType?.description, "HTTPProxy")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolHTTPSProxy as String)
XCTAssertEqual(protocolType, .httpsProxy)
XCTAssertEqual(protocolType?.description, "HTTPSProxy")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolFTPProxy as String)
XCTAssertEqual(protocolType, .ftpProxy)
XCTAssertEqual(protocolType?.description, "FTPProxy")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolSMB as String)
XCTAssertEqual(protocolType, .smb)
XCTAssertEqual(protocolType?.description, "SMB")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolRTSP as String)
XCTAssertEqual(protocolType, .rtsp)
XCTAssertEqual(protocolType?.description, "RTSP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolRTSPProxy as String)
XCTAssertEqual(protocolType, .rtspProxy)
XCTAssertEqual(protocolType?.description, "RTSPProxy")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolDAAP as String)
XCTAssertEqual(protocolType, .daap)
XCTAssertEqual(protocolType?.description, "DAAP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolEPPC as String)
XCTAssertEqual(protocolType, .eppc)
XCTAssertEqual(protocolType?.description, "EPPC")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolIPP as String)
XCTAssertEqual(protocolType, .ipp)
XCTAssertEqual(protocolType?.description, "IPP")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolNNTPS as String)
XCTAssertEqual(protocolType, .nntps)
XCTAssertEqual(protocolType?.description, "NNTPS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolLDAPS as String)
XCTAssertEqual(protocolType, .ldaps)
XCTAssertEqual(protocolType?.description, "LDAPS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolTelnetS as String)
XCTAssertEqual(protocolType, .telnetS)
XCTAssertEqual(protocolType?.description, "TelnetS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolIMAPS as String)
XCTAssertEqual(protocolType, .imaps)
XCTAssertEqual(protocolType?.description, "IMAPS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolIRCS as String)
XCTAssertEqual(protocolType, .ircs)
XCTAssertEqual(protocolType?.description, "IRCS")
}
do {
let protocolType = ProtocolType(rawValue: kSecAttrProtocolPOP3S as String)
XCTAssertEqual(protocolType, .pop3S)
XCTAssertEqual(protocolType?.description, "POP3S")
}
}
func testAuthenticationType() {
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeNTLM as String)
XCTAssertEqual(authenticationType, .ntlm)
XCTAssertEqual(authenticationType?.description, "NTLM")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeMSN as String)
XCTAssertEqual(authenticationType, .msn)
XCTAssertEqual(authenticationType?.description, "MSN")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeDPA as String)
XCTAssertEqual(authenticationType, .dpa)
XCTAssertEqual(authenticationType?.description, "DPA")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeRPA as String)
XCTAssertEqual(authenticationType, .rpa)
XCTAssertEqual(authenticationType?.description, "RPA")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeHTTPBasic as String)
XCTAssertEqual(authenticationType, .httpBasic)
XCTAssertEqual(authenticationType?.description, "HTTPBasic")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeHTTPDigest as String)
XCTAssertEqual(authenticationType, .httpDigest)
XCTAssertEqual(authenticationType?.description, "HTTPDigest")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeHTMLForm as String)
XCTAssertEqual(authenticationType, .htmlForm)
XCTAssertEqual(authenticationType?.description, "HTMLForm")
}
do {
let authenticationType = AuthenticationType(rawValue: kSecAttrAuthenticationTypeDefault as String)
XCTAssertEqual(authenticationType, .default)
XCTAssertEqual(authenticationType?.description, "Default")
}
}
func testAccessibility() {
guard #available(OSX 10.10, *) else {
return
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleWhenUnlocked as String)
XCTAssertEqual(accessibility, .whenUnlocked)
XCTAssertEqual(accessibility?.description, "WhenUnlocked")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlock as String)
XCTAssertEqual(accessibility, .afterFirstUnlock)
XCTAssertEqual(accessibility?.description, "AfterFirstUnlock")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleAlways as String)
XCTAssertEqual(accessibility, .always)
XCTAssertEqual(accessibility?.description, "Always")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String)
XCTAssertEqual(accessibility, .whenPasscodeSetThisDeviceOnly)
XCTAssertEqual(accessibility?.description, "WhenPasscodeSetThisDeviceOnly")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleWhenUnlockedThisDeviceOnly as String)
XCTAssertEqual(accessibility, .whenUnlockedThisDeviceOnly)
XCTAssertEqual(accessibility?.description, "WhenUnlockedThisDeviceOnly")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String)
XCTAssertEqual(accessibility, .afterFirstUnlockThisDeviceOnly)
XCTAssertEqual(accessibility?.description, "AfterFirstUnlockThisDeviceOnly")
}
do {
let accessibility = Accessibility(rawValue: kSecAttrAccessibleAlwaysThisDeviceOnly as String)
XCTAssertEqual(accessibility, .alwaysThisDeviceOnly)
XCTAssertEqual(accessibility?.description, "AlwaysThisDeviceOnly")
}
}
}