Skip to content

Releases: bastion-dev/Bastion

Version 0.7 (Beta)

07 Aug 09:08
4b1dabf
Compare
Choose a tag to compare
Version 0.7 (Beta) Pre-release
Pre-release

Release notes:

#63, #77: Improved Bastion's ability to guess the file's MIME type when using FileRequest. This fix also changes the default MIME type used in case the file type cannot be determined. The new MIME type that is used for these kind of files is application/octet-stream (was plain/text previously).

Happy Birthday Bastion! 😸

Version 0.6 (Beta)

31 Mar 10:58
6889e24
Compare
Choose a tag to compare
Version 0.6 (Beta) Pre-release
Pre-release

Release notes:

  • #61: Removed the JUnit BastionRunner as it was causing too many issues. It might be back in the future.
  • #44: Implemented a new system of Views. Each response is now bound to multiple views (one of which is possibly the model specified by .bind()). This should make it easier to use .bind() now without having to guess the type of object returned by Bastion.
  • #21: JsonRequest and JsonResponseAssertions can now be initialised by providing any Java object. Bastion will then use the Jackson ObjectMapper to generate the appropriate JSON string to send/expect.
  • #71: Removed the thenDo() method when constructing a Bastion test.

Version 0.5.2 (Beta)

27 Feb 21:41
Compare
Choose a tag to compare
Version 0.5.2 (Beta) Pre-release
Pre-release

Release notes:

Version 0.5.1 (Beta)

08 Jan 17:15
Compare
Choose a tag to compare
Version 0.5.1 (Beta) Pre-release
Pre-release

Two bugfixes:

  • #54: The timeout set using Bastion.globals().timeout() is no longer ignored by requests.
  • #70: The content-type returned by HttpRequest.contentType() is sent correctly.

Version 0.5 (Beta)

03 Jan 18:03
Compare
Choose a tag to compare
Version 0.5 (Beta) Pre-release
Pre-release

Upgrading to this version from 0.4 might break your build. Please read through the notes below for more details.

In this version:

  • #64: We have removed an ambiguous method: StatusCodeAssertions.expecting(). This method accepted either an array of int or an array of Integer. When these are passed as literals, compilation fails because the compiler could not determine which method to call. Since this is a public API change, you need to check anywhere you were using this method and ensure that your code compiles.
  • #59: JsonSchemaAssertions will now also assert that the response received from the server has Content-type header of application/json. If you want to change the expected content type, use the overrideContentType() method.
  • #24: New request class: FileRequest. This class lets you upload a file's content as the HTTP entity body. Think of it as the file version of GeneralRequest. Bastion will even try to guess the Content-type header to send by looking at the filename.
    • Known Issue: On MacOS systems, a JDK bug prevents Bastion from guessing the MIME type of given files. You will need to use the setContentType() method if you need to set the content type.

Verison 0.4 (Beta)

08 Dec 16:37
Compare
Choose a tag to compare
Verison 0.4 (Beta) Pre-release
Pre-release

Version 0.4 adds the following features:

  • #34: A new overloaded Bastion.request() method which does not take descriptive text. You are free to immediately provide a request without specified a name for your request.
  • #14: Bastion requests now support setting a different timeout. Custom request implementation can specify their timeout using timeout(). For built-in requests, use setTimeout() method, after initialising the request, to set a different timeout.
  • #12: You can now set global HTTP attributes. These attributes will apply to all requests you send using Bastion. For example, Bastion.globals().addHeader() adds an HTTP header which is sent with all HTTP requests sent by Bastion. You can also specify this configuration in a YAML file and load it using Bastion.loadConfiguration().

Also, in this release:

  • #33: Bastion has a new logo! Check it out on http://bastion.rocks.
  • #31: We've set up TravisCI to build every commit and pull request automatically. This will run the tests for Bastion before merging feature branches into the main branch.

Version 0.3 (Beta)

06 Nov 10:41
Compare
Choose a tag to compare
Version 0.3 (Beta) Pre-release
Pre-release

Version 0.3 release adds the following features:

  • #27: StatusCodeAssertions which takes a set of expected response status codes. The assertions pass if the actual response status code is one of those expected.
  • #30: The HTTP request/response content (including headers) will be output to the console when a Bastion request fails or does not pass its assertions.
  • #40: ignoreOrderForArrayProperties() for JsonResponseAssertions which will ignore the element ordering in JSON arrays. The assertion will still check that the array exists and that all the expected values in the array have been returned. (Thanks @tyronegrech for this contribution.)

Version 0.2.2 (Beta)

02 Nov 23:41
Compare
Choose a tag to compare
Version 0.2.2 (Beta) Pre-release
Pre-release

Bug fixes:

#37: Fixed an issue related to the model bound by default after calling Bastion.request().

Version 0.2.1 (Beta)

16 Sep 21:15
Compare
Choose a tag to compare
Version 0.2.1 (Beta) Pre-release
Pre-release

Patch version 0.2.1 includes:

  • Corrected the return type of GeneralRequest.get() to return the actual constructed GeneralRequest.

Version 0.2 (Beta)

15 Sep 17:39
Compare
Choose a tag to compare
Version 0.2 (Beta) Pre-release
Pre-release

New Beta version for Bastion. Changes include:

  • A new type of Request, FormUrlEncodedRequest, which sends data using an application/x-www-form-urlencoded content-type.
  • A new type of Assertions object, JsonSchemaAssertions, which will assert that the received JSON response conforms to the given JSON schema.
  • Improvements to JsonRequest and JsonResponseAssertions to support templating functionality. Load a template from a file (containing placeholders for data) and then fill in with real data during runtime. This allows the same template to be reused across multiple Bastion tests.