Skip to content

Releases: xvik/dropwizard-guicey

8.0.2

10 Feb 18:27

Choose a tag to compare

  • Dropwizard 5.0.1 compatibility (for jdbi3 module)
  • Update spock-junit5 to 1.4.1

7.3.2

10 Feb 18:08

Choose a tag to compare

  • Dropwizard 4.0.17 compatibility (for jdbi3 module)
  • Update spock-junit5 to 1.4.1

6.4.2

10 Feb 18:00

Choose a tag to compare

  • Dropwizard 3.0.17 compatibility (for jdbi3 module)
  • Update spock-junit5 to 1.4.1

8.0.1

18 Jan 12:55

Choose a tag to compare

  • Fix broken guice dependency in BOM

7.3.1

18 Jan 12:54

Choose a tag to compare

  • Fix broken guice dependency in BOM

6.4.1

18 Jan 12:54

Choose a tag to compare

  • Fix broken guice dependency in BOM

8.0.0

24 Oct 18:47

Choose a tag to compare

  • Update to dropwizard 5 (requires java 17)
  • Use guice version without bundled asm ('classes' classifier)
  • Support field injections in application (to use injected services in run method)
  • Customizable DefaultTestClientFactory: it is now possible to use default implementation
    with customizations (override configure method)
    • Add ApacheTestClientFactory: useful to support PATCH methods on jdk > 16
    • Add apacheClient (shortcut) configuration into @TestGuiceyApp and @TestDropwizardApp
      to simplify usage of ApacheTestClientFactory with annotations
    • Add apacheClient() (shortcut) method into extension and generic builders
  • Shared state:
    • State objects, implementing AutoClosable, now would be closed on application shutdown
    • Add SharedConfigurationState.lookupOrCreate method to simplify static state usage
  • Add a utility to simplify building application urls: AppUrlBuilder
    • Automatically resolve context server port and mapped paths (previously only available in
      tests with ClientSupport class)
    • Could build rest url directly from rest classes and methods
    • Special api for building from direct rest method calls (method arguments
      automatically mapped into url path and query params in this case)
    • General utility for resource methods analysis: ResourceAnalyzer (could be used in
      various api, based on resource (stub) call)
  • Unify ClientSupport and StubRest client APIs
    • New api is a wrapper above jersey client api to simplify test-specific configuration and validation
      (jersey api is still available). The request builder unifies all possible configurations in one place.
    • New common base client class TestClient
    • ClientSupport is a TestClient, but also could provide 3 special clients: appClient(), adminClient(), restClient()
      (restClient() is the same as rest stubs RestClient)
    • New sub clients could be created by applying additional path segments:
      client.subClient("/sub/path/)
    • External api client could be created with support.externalClient("http://external.com/")
    • New client rest api based on real method calls: restClient(RestClass.class).method(mock -> mock.restMethod(args)).invoke()
      (target path and method type resolved from annotations, arguments used for request configuration)
    • Helper api for testing multipart requests: restClient(..).multipartMethod(..)
      (simplifies multipart method arguments creation)
    • Defaults mechanism: it is possible to declare default headers, cookies, etc.
      on the client to be applied for all requests (evolution of StubRest client ideas)
    • Add PATCH method shortcuts
    • Add builder-style response assertions like: client.do_request.assertHeader("Name", val)
      This allows checking response headers, cookies, status code, etc. in a chained calls style without additional variables
    • Add connector switching api to ClientSupport: apacheClient(), urlconnectorClient()
      This allows using different connectors within one test
      (note that apache connector is required for PATCH calls and urlconnector better handles multipart requests)
    • Client logging now logs multipart requests (now PAYLOAD_ANY, before it was PAYLOAD_TEXT)
    • (BREAKING) previous target(String... path) methods replaced with string format: target(String, Object...args)
    • (BREAKING) deprecated targetMain(): replaced with targetApp()
    • (BREAKING) StubRest default status declaration removed as not useful
      (required status could be declared now with the new request builder)
  • Add test web client field injection:
    • @webclient for ClientSupport, @webclient(App), @webclient(Admin), @webclient(Rest) for specific clients
    • @WebResourceClient for resource client direct mapping (works for integration and stub rest tests)
  • Add guicey event ApplicationStartingEvent thrown just before managed and web services startup
  • Fix stubs rest too early startup, causing problems with jersey registrations in application run method

7.3.0

24 Oct 18:47

Choose a tag to compare

  • Update to dropwizard 4.0.16
  • Use guice version without bundled asm ('classes' classifier)
  • Support field injections in application (to use injected services in run method)
  • Customizable DefaultTestClientFactory: it is now possible to use default implementation
    with customizations (override configure method)
    • Add ApacheTestClientFactory: useful to support PATCH methods on jdk > 16
    • Add apacheClient (shortcut) configuration into @TestGuiceyApp and @TestDropwizardApp
      to simplify usage of ApacheTestClientFactory with annotations
    • Add apacheClient() (shortcut) method into extension and generic builders
  • Shared state:
    • State objects, implementing AutoClosable, now would be closed on application shutdown
    • Add SharedConfigurationState.lookupOrCreate method to simplify static state usage
  • Add a utility to simplify building application urls: AppUrlBuilder
    • Automatically resolve context server port and mapped paths (previously only available in
      tests with ClientSupport class)
    • Could build rest url directly from rest classes and methods
    • Special api for building from direct rest method calls (method arguments
      automatically mapped into url path and query params in this case)
    • General utility for resource methods analysis: ResourceAnalyzer (could be used in
      various api, based on resource (stub) call)
  • Unify ClientSupport and StubRest client APIs
    • New api is a wrapper above jersey client api to simplify test-specific configuration and validation
      (jersey api is still available). The request builder unifies all possible configurations in one place.
    • New common base client class TestClient
    • ClientSupport is a TestClient, but also could provide 3 special clients: appClient(), adminClient(), restClient()
      (restClient() is the same as rest stubs RestClient)
    • New sub clients could be created by applying additional path segments:
      client.subClient("/sub/path/)
    • External api client could be created with support.externalClient("http://external.com/")
    • New client rest api based on real method calls: restClient(RestClass.class).method(mock -> mock.restMethod(args)).invoke()
      (target path and method type resolved from annotations, arguments used for request configuration)
    • Helper api for testing multipart requests: restClient(..).multipartMethod(..)
      (simplifies multipart method arguments creation)
    • Defaults mechanism: it is possible to declare default headers, cookies, etc.
      on the client to be applied for all requests (evolution of StubRest client ideas)
    • Add PATCH method shortcuts
    • Add builder-style response assertions like: client.do_request.assertHeader("Name", val)
      This allows checking response headers, cookies, status code, etc. in a chained calls style without additional variables
    • Add connector switching api to ClientSupport: apacheClient(), urlconnectorClient()
      This allows using different connectors within one test
      (note that apache connector is required for PATCH calls and urlconnector better handles multipart requests)
    • Client logging now logs multipart requests (now PAYLOAD_ANY, before it was PAYLOAD_TEXT)
    • (BREAKING) previous target(String... path) methods replaced with string format: target(String, Object...args)
    • (BREAKING) deprecated targetMain(): replaced with targetApp()
    • (BREAKING) StubRest default status declaration removed as not useful
      (required status could be declared now with the new request builder)
  • Add test web client field injection:
    • @webclient for ClientSupport, @webclient(App), @webclient(Admin), @webclient(Rest) for specific clients
    • @WebResourceClient for resource client direct mapping (works for integration and stub rest tests)
  • Add guicey event ApplicationStartingEvent thrown just before managed and web services startup
  • Fix stubs rest too early startup, causing problems with jersey registrations in application run method

6.4.0

24 Oct 18:46

Choose a tag to compare

  • Update to dropwizard 3.0.16
  • Use guice version without bundled asm ('classes' classifier)
  • Support field injections in application (to use injected services in run method)
  • Customizable DefaultTestClientFactory: it is now possible to use default implementation
    with customizations (override configure method)
    • Add ApacheTestClientFactory: useful to support PATCH methods on jdk > 16
    • Add apacheClient (shortcut) configuration into @TestGuiceyApp and @TestDropwizardApp
      to simplify usage of ApacheTestClientFactory with annotations
    • Add apacheClient() (shortcut) method into extension and generic builders
  • Shared state:
    • State objects, implementing AutoClosable, now would be closed on application shutdown
    • Add SharedConfigurationState.lookupOrCreate method to simplify static state usage
  • Add a utility to simplify building application urls: AppUrlBuilder
    • Automatically resolve context server port and mapped paths (previously only available in
      tests with ClientSupport class)
    • Could build rest url directly from rest classes and methods
    • Special api for building from direct rest method calls (method arguments
      automatically mapped into url path and query params in this case)
    • General utility for resource methods analysis: ResourceAnalyzer (could be used in
      various api, based on resource (stub) call)
  • Unify ClientSupport and StubRest client APIs
    • New api is a wrapper above jersey client api to simplify test-specific configuration and validation
      (jersey api is still available). The request builder unifies all possible configurations in one place.
    • New common base client class TestClient
    • ClientSupport is a TestClient, but also could provide 3 special clients: appClient(), adminClient(), restClient()
      (restClient() is the same as rest stubs RestClient)
    • New sub clients could be created by applying additional path segments:
      client.subClient("/sub/path/)
    • External api client could be created with support.externalClient("http://external.com/")
    • New client rest api based on real method calls: restClient(RestClass.class).method(mock -> mock.restMethod(args)).invoke()
      (target path and method type resolved from annotations, arguments used for request configuration)
    • Helper api for testing multipart requests: restClient(..).multipartMethod(..)
      (simplifies multipart method arguments creation)
    • Defaults mechanism: it is possible to declare default headers, cookies, etc.
      on the client to be applied for all requests (evolution of StubRest client ideas)
    • Add PATCH method shortcuts
    • Add builder-style response assertions like: client.do_request.assertHeader("Name", val)
      This allows checking response headers, cookies, status code, etc. in a chained calls style without additional variables
    • Add connector switching api to ClientSupport: apacheClient(), urlconnectorClient()
      This allows using different connectors within one test
      (note that apache connector is required for PATCH calls and urlconnector better handles multipart requests)
    • Client logging now logs multipart requests (now PAYLOAD_ANY, before it was PAYLOAD_TEXT)
    • (BREAKING) previous target(String... path) methods replaced with string format: target(String, Object...args)
    • (BREAKING) deprecated targetMain(): replaced with targetApp()
    • (BREAKING) StubRest default status declaration removed as not useful
      (required status could be declared now with the new request builder)
  • Add test web client field injection:
    • @webclient for ClientSupport, @webclient(App), @webclient(Admin), @webclient(Rest) for specific clients
    • @WebResourceClient for resource client direct mapping (works for integration and stub rest tests)
  • Add guicey event ApplicationStartingEvent thrown just before managed and web services startup
  • Fix stubs rest too early startup, causing problems with jersey registrations in application run method

8.0.0-rc.5

18 Jul 11:48

Choose a tag to compare

8.0.0-rc.5 Pre-release
Pre-release
  • Update to dropwizard 5.0.0-rc.3