mirror of
https://github.com/Moya/Moya.git
synced 2026-03-18 19:52:28 +00:00
51 lines
2.1 KiB
Swift
51 lines
2.1 KiB
Swift
import Quick
|
|
import Nimble
|
|
import Moya
|
|
import Result
|
|
|
|
final class AccessTokenPluginSpec: QuickSpec {
|
|
struct TestTarget: TargetType, AccessTokenAuthorizable {
|
|
let baseURL = URL(string: "http://www.api.com/")!
|
|
let path = ""
|
|
let method = Method.get
|
|
let task = Task.requestPlain
|
|
let sampleData = Data()
|
|
let headers: [String: String]? = nil
|
|
let authorizationType: AuthorizationType
|
|
}
|
|
|
|
override func spec() {
|
|
let token = "eyeAm.AJsoN.weBTOKen"
|
|
let plugin = AccessTokenPlugin(tokenClosure: token)
|
|
|
|
it("doesn't add an authorization header to TargetTypes by default") {
|
|
let target = GitHub.zen
|
|
let request = URLRequest(url: target.baseURL)
|
|
let preparedRequest = plugin.prepare(request, target: target)
|
|
expect(preparedRequest.allHTTPHeaderFields).to(beNil())
|
|
}
|
|
|
|
it("doesn't add an authorization header to AccessTokenAuthorizables when AuthorizationType is .none") {
|
|
let target = TestTarget(authorizationType: .none)
|
|
let request = URLRequest(url: target.baseURL)
|
|
let preparedRequest = plugin.prepare(request, target: target)
|
|
expect(preparedRequest.allHTTPHeaderFields).to(beNil())
|
|
}
|
|
|
|
it("adds a bearer authorization header to AccessTokenAuthorizables when AuthorizationType is .bearer") {
|
|
let target = TestTarget(authorizationType: .bearer)
|
|
let request = URLRequest(url: target.baseURL)
|
|
let preparedRequest = plugin.prepare(request, target: target)
|
|
expect(preparedRequest.allHTTPHeaderFields) == ["Authorization": "Bearer eyeAm.AJsoN.weBTOKen"]
|
|
}
|
|
|
|
it("adds a basic authorization header to AccessTokenAuthorizables when AuthorizationType is .basic") {
|
|
let target = TestTarget(authorizationType: .basic)
|
|
let request = URLRequest(url: target.baseURL)
|
|
let preparedRequest = plugin.prepare(request, target: target)
|
|
expect(preparedRequest.allHTTPHeaderFields) == ["Authorization": "Basic eyeAm.AJsoN.weBTOKen"]
|
|
}
|
|
|
|
}
|
|
}
|