bastion-dev / Bastion

Java test library for HTTP APIs
http://bastion.rocks
GNU General Public License v3.0
13 stars 8 forks source link

Implement Bastion test plugins #71

Open KPull opened 7 years ago

KPull commented 7 years ago

The Bastion fluent-build has a method, thenDo() which takes a Callback function object which gets executed after the request is performed. Now that Bastion has been active for quite a while, it seems this method is not really being used for anything and could be removed for our initial release. Remember that if someone wants to do something after a request, they can just type out their code as normal after the Bastion.request()...call() statement.

Alternatively, we can also change the concept into something like a withPlugins() method which takes a series of Plugin objects. This let's you configure how Bastion performs the request and what to do when it receives a response. A use-case I can think of, which is available in other REST libraries, would be something like a CookieHandler which automatically sets new cookies in the response into Bastion's globals().

KPull commented 7 years ago

And then we could even have something in the Basion Configuration for Plugins. So, for example, if you plan on performing multiple requests which need to handle cookies, then you could do something like Bastion.plugins().add(new CookieHandler()) and it would apply to all Bastion requests.

KPull commented 7 years ago

Merged removing thenDo() in #84.