74 lines
1.9 KiB
Swift
74 lines
1.9 KiB
Swift
//
|
|
// MakeAuthorizationHeaderUseCaseTests.swift
|
|
// APIServiceTests
|
|
//
|
|
// Created by Javier Cicchelli on 04/12/2022.
|
|
// Copyright © 2022 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
import XCTest
|
|
|
|
@testable import APIService
|
|
|
|
final class MakeAuthorizationHeaderUseCaseTests: XCTestCase {
|
|
|
|
// MARK: Properties
|
|
|
|
let makeAuthHeader = MakeAuthorizationHeaderUseCase()
|
|
|
|
var username: String!
|
|
var password: String!
|
|
|
|
var result: [String: String]!
|
|
|
|
// MARK: Test cases
|
|
|
|
func test_withCorrectUsernameAndPassword() throws {
|
|
// GIVEN
|
|
username = "username"
|
|
password = "password"
|
|
|
|
// WHEN
|
|
|
|
result = try makeAuthHeader(username: username, password: password)
|
|
|
|
// THEN
|
|
XCTAssertEqual(result.count, 1)
|
|
XCTAssertEqual(result[.Header.Keys.authorization], "Basic dXNlcm5hbWU6cGFzc3dvcmQ=")
|
|
}
|
|
|
|
func test_withEmptyUsername() throws {
|
|
// GIVEN
|
|
username = ""
|
|
password = "password"
|
|
|
|
// WHEN & THEN
|
|
XCTAssertThrowsError(try makeAuthHeader(username: username, password: password)) { error in
|
|
XCTAssertEqual(error as? MakeAuthorizationHeaderError, .usernameIsEmpty)
|
|
}
|
|
}
|
|
|
|
func test_withEmptyPassword() throws {
|
|
// GIVEN
|
|
username = "username"
|
|
password = ""
|
|
|
|
// WHEN & THEN
|
|
XCTAssertThrowsError(try makeAuthHeader(username: username, password: password)) { error in
|
|
XCTAssertEqual(error as? MakeAuthorizationHeaderError, .passwordIsEmpty)
|
|
}
|
|
}
|
|
|
|
func test_withEmptyUsernameAndPassword() throws {
|
|
// GIVEN
|
|
username = ""
|
|
password = ""
|
|
|
|
// WHEN & THEN
|
|
XCTAssertThrowsError(try makeAuthHeader(username: username, password: password)) { error in
|
|
XCTAssertEqual(error as? MakeAuthorizationHeaderError, .usernameIsEmpty)
|
|
}
|
|
}
|
|
|
|
}
|