SharedCredentialTests.swift 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. //
  2. // SharedCredentialTests.swift
  3. // KeychainAccessTests
  4. //
  5. // Created by kishikawa katsumi on 10/12/15.
  6. // Copyright © 2015 kishikawa katsumi. All rights reserved.
  7. //
  8. import XCTest
  9. import KeychainAccess
  10. class SharedCredentialTests: XCTestCase {
  11. override func setUp() {
  12. super.setUp()
  13. }
  14. override func tearDown() {
  15. super.tearDown()
  16. }
  17. func testGetSharedPassword() {
  18. do {
  19. let expectation = expectationWithDescription("getSharedPassword")
  20. let keychain = Keychain(server: "https://kishikawakatsumi.com", protocolType: .HTTPS)
  21. keychain.getSharedPassword("kishikawakatsumi") { (password, error) -> () in
  22. XCTAssertNil(password)
  23. XCTAssertNotNil(error)
  24. expectation.fulfill()
  25. }
  26. waitForExpectationsWithTimeout(10.0, handler: nil)
  27. }
  28. do {
  29. let expectation = expectationWithDescription("getSharedPassword")
  30. let keychain = Keychain(server: "https://kishikawakatsumi.com", protocolType: .HTTPS)
  31. keychain.getSharedPassword { (account, password, error) -> () in
  32. XCTAssertNil(account)
  33. XCTAssertNil(password)
  34. XCTAssertNotNil(error)
  35. expectation.fulfill()
  36. }
  37. waitForExpectationsWithTimeout(10.0, handler: nil)
  38. }
  39. }
  40. func testGeneratePassword() {
  41. do {
  42. var passwords = Set<String>()
  43. for _ in 0...100_000 {
  44. let password = Keychain.generatePassword()
  45. XCTAssertEqual(password.characters.count, "xxx-xxx-xxx-xxx".characters.count)
  46. XCTAssertFalse(passwords.contains(password))
  47. passwords.insert(password)
  48. }
  49. }
  50. }
  51. }