Accurest Becomes Part of the Spring Cloud Contract
I’m extremely happy to announce that we have successfully rebranded the Accurest project. It’s officially become part of the Spring Cloud Contract initiative.
Join the DZone community and get the full member experience.Join For Free
I’m extremely happy to announce that we have successfully rebranded the Accurest project. It’s officially become part of the Spring Cloud Contract initiative. Ladies and Gentlemen please welcome the new projects:
A Little Bit of History
Accurest was created because of the lack of an easy-to-use tool for doing Consumer Driven Contracts. From our production experience, the biggest problem was the lack of verification that the defined contract actually does what it says it does. We wanted to ensure that tests are automatically generated from the contract so that we can have a proof that the stubs are reliable. Since there was no such tool, the first commit of Accurest took place on 12/2014. This idea and its implementation was initially set by Jakub Kubrynski and me. The last available version of Accurest was 1.1.0 released on 06/2016 (the docs for the old version are available here). During these 19 months, a lot of feedback has been gathered. The tool has received very good reception, and that made us want to work even harder. Many times we have missed out on good sleep, so as to fix a bug or develop a new feature in Accurest... it's been hard but rewarding work!
Speaking of features, there are quite a few of them that definitely make Accurest stand out on the “market” of Consumer Driven Contract (CDC) tooling. Out of many, the most interesting are:
- Possibility to do CDC with messaging
- Clear and easy to use, statically typed DSL
- Possibility to copy-paste your current JSON file to the contract and only edit its elements
- Automatic generation of tests from the defined Contract
- Stub Runner functionality - the stubs are automatically downloaded at runtime from Nexus / Artifactory
- Spring Cloud integration - no discovery service is needed for integration tests
Spring Cloud Contract
In Pivotal, we came to the conclusion that Accurest could become an interesting addition to our Spring Cloud tooling. Due to the increased interest of the community in the Consumer Driven Contracts approach, we’ve decided to start the Spring Cloud Contract initiative.
Accurest became Spring Cloud Contract Verifier (note: the name might change in the future) but, for the time being, we will remain in the Codearte repository. It’s becoming the part of Spring Cloud tooling as a mature tool with a growing community around it. Some arguments for that are that it has:
- a nice AsciiDoc documentation that was completely rewritten following users' feedback
- active Gitter channel where we try to immediately answer any support questions
- Over 80 stars on Github and counting ;)
Since we believe very much in the Consumer Driven Contract approach, we also want to do the library in a Client Driven way. That means that we (server side) are very open to your feedback (consumer side) and want you to be the main driver of changes in the library.
The Accurest project would never have come to life without the hard work of the Codearte developers (the order is random):
And obviously, we have to thank everybody who has ever committed to the project.
Published at DZone with permission of Marcin Grzejszczak, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.