Simple HTTP mocking framework.
pod 'Stubborn'
This is done automatically when you add a stub
Stubborn.start()
Stubborn.add(url: ".*/users") { request in
print(request.method)
print(request.url)
print(request.body)
print(request.headers)
print(request.queryString)
print(request.numberOfRequests)
return [
"users": [
[
"id": 123,
"username": "materik"
],
[
"id": 124,
"username": "leo"
]
]
]
}
Stubborn.add(url: ".*/users", error: Stubborn.Error(400, "Something went wrong"))
Wait a second before responding
1 ⏱ Stubborn.add(url: ".*/users", dictionary: ["success": true])
Stubborn.add(url: ".*/users", resource: "MyResponse")
Stubborn.unhandledRequest { request in
print(request.method)
print(request.url)
print(request.body)
print(request.headers)
print(request.queryString)
}
Stubborn.reset()
QueryString(key: "page", value: "1") ❓ Stubborn.add(url: ".*/get", dictionary: ["result": 1])
QueryString(key: "page", value: "2") ❓ Stubborn.add(url: ".*/get", dictionary: ["result": 2])
Alamofire.request("https://httpbin.org/get?page=1").responseJSON {
print($0.value) // ["result": 1]
}
Alamofire.request("https://httpbin.org/get?page=2").responseJSON {
print($0.value) // ["result": 2]
}