Jellyfish

What is this?
Jellyfish is a library that parse .api
files and stub all web request according to the file contents.
TODO
Vision
When in testing environment, Jellyfish
should serve as api endpoint for the app.
UI Tests
and Unit Tests
don’t need to stub web request with this framework.
As in production environment, we can just remove Jellyfish
and the app should make request to production server and perform normally.
Dependency
Usage
Start a stub with .apib
file
import Jellyfish
var jellyfish: Jellyfish = Jellyfish()
jellyfish.stub(docPath: Bundle.main.path(forResource: "testing_normal_blueprint", ofType: "apib")!)
Stop the stub
jellyfish.stop()
When using URLSessionConfiguration
, you need to call .jellyfishConfiguration
For example, when use with Alamofire
import Alamofire
sessionManager = Alamofire.SessionManager(configuration: .jellyfishConfiguration)
sessionManager.request("https://example.com/message").responseString { result in
print("==================Alamofire")
print(result.description)
}
You can override default matcher function with addMatcher(to:)
jellyfish.addMatcher(to: "/message") { req in
let str: String = "This is a message"
return APIResponse(headers: ["Server": "Custom Handler"], responseCode: 200, body: str.data(using: .utf8)!)
}
Jellyfish
What is this?
Jellyfish is a library that parse
.api
files and stub all web request according to the file contents.TODO
.api
files and stub requestsVision
When in testing environment,
Jellyfish
should serve as api endpoint for the app.UI Tests
andUnit Tests
don’t need to stub web request with this framework.As in production environment, we can just remove
Jellyfish
and the app should make request to production server and perform normally.Dependency
Usage
Start a stub with
.apib
fileStop the stub
When using
URLSessionConfiguration
, you need to call.jellyfishConfiguration
For example, when use with
Alamofire
You can override default matcher function with
addMatcher(to:)