├── .editorconfig ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── gradle.yml │ ├── maven.yml │ └── update-gradle-wrapper.yml ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .springformat ├── LICENSE.txt ├── README.adoc ├── beer_contracts ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── README.adoc ├── build.gradle ├── example │ ├── graphs │ │ ├── d3.png │ │ └── dracula.png │ └── pom.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── js │ ├── d3.min.js │ ├── dracula.min.js │ ├── graffle.js │ ├── graph.js │ └── raphael-min.js ├── mvnw ├── mvnw.cmd ├── pom.xml ├── relationships.js ├── relationships_d3.html ├── relationships_dracula.html ├── settings.gradle └── src │ ├── assembly │ └── contracts.xml │ ├── main │ └── resources │ │ ├── .gitignore │ │ └── contracts │ │ ├── com │ │ └── example │ │ │ └── beer-api-producer-external │ │ │ ├── 1.0.0 │ │ │ ├── beer-api-consumer │ │ │ │ ├── messaging │ │ │ │ │ ├── shouldSendAcceptedVerification.groovy │ │ │ │ │ └── shouldSendRejectedVerification.groovy │ │ │ │ └── rest │ │ │ │ │ ├── response.json │ │ │ │ │ ├── shouldGrantABeerIfOldEnough.groovy │ │ │ │ │ ├── shouldGrantABeerIfOldEnoughFromFile.groovy │ │ │ │ │ └── shouldRejectABeerIfTooYoung.groovy │ │ │ └── pom.xml │ │ │ └── 2.0.0 │ │ │ ├── anotherConsumerOnly │ │ │ └── .gitkeep │ │ │ ├── barService │ │ │ └── .gitkeep │ │ │ ├── foo.bar.bazService │ │ │ └── .gitkeep │ │ │ ├── foo.bar.consumerOnly │ │ │ └── .gitkeep │ │ │ ├── foo.bar.fooService.1_2_3 │ │ │ └── .gitkeep │ │ │ └── pom.xml │ │ └── foo │ │ └── bar │ │ ├── barService │ │ ├── pom.xml │ │ └── yetAnotherConsumer │ │ │ └── .gitkeep │ │ ├── bazService │ │ ├── bazConsumer1 │ │ │ └── rest │ │ │ │ └── shouldSayHello.groovy │ │ └── pom.xml │ │ ├── beer-api-consumer │ │ ├── .producer_contracts │ │ ├── messaging │ │ │ └── .gitkeep │ │ ├── pom.xml │ │ └── rest │ │ │ └── .gitkeep │ │ └── fooService │ │ └── 1.2.3 │ │ └── pom.xml │ └── test │ └── java │ └── docs │ ├── GenerateAdocsFromContractsTests.java │ └── GenerateGraphFromContractsTests.java ├── build.gradle ├── common ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ └── main │ └── java │ └── com │ └── example │ ├── ConsumerUtils.java │ ├── PatternUtils.java │ └── ProducerUtils.java ├── consumer ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerStatsController.java │ │ │ ├── BeerVerificationListener.java │ │ │ ├── ClientApplication.java │ │ │ ├── GrumpyBartenderController.java │ │ │ └── intoxication │ │ │ └── IntoxicationController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ ├── BeerControllerEmptyGitTest.java │ ├── BeerControllerGitTest.java │ ├── BeerControllerGraphQLTest.java │ ├── BeerControllerJaxRsSpringTest.java │ ├── BeerControllerJaxRsTest.java │ ├── BeerControllerRouterFunctionTest.java │ ├── BeerControllerTest.java │ ├── BeerControllerWebClientTest.java │ ├── BeerControllerWebFluxTest.java │ ├── BeerControllerWithJUnitTest.java │ ├── BeerControllerYamlTest.java │ ├── BeerOrderTest.java │ ├── BeerStatsControllerTest.java │ ├── BeerVerificationListenerTest.java │ ├── BeerVerificationListenerWithGitTest.java │ ├── BeerVerificationListenerYamlTest.java │ ├── ExternalBeerControllerTest.java │ ├── ExternalBeerVerificationListenerTest.java │ ├── GrumpyBartenderControllerTest.java │ └── intoxication │ ├── AbstractTest.java │ ├── IntoxicationControllerTest.java │ └── IntoxicationControllerYamlTest.java ├── consumer_camel ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ └── DemoApplication.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── example │ └── demo │ └── DemoApplicationTests.java ├── consumer_grpc ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keygen.sh ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── bash │ │ ├── download_protoc.sh │ │ └── generate_proto.sh │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── ClientApplication.java │ ├── proto │ │ └── beer.proto │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ └── GrpcTests.java ├── consumer_java ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerStatsController.java │ │ │ ├── BeerVerificationListener.java │ │ │ ├── ClientApplication.java │ │ │ ├── GrumpyBartenderController.java │ │ │ └── intoxication │ │ │ └── IntoxicationController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ ├── BeerControllerTest.java │ ├── BeerStatsControllerTest.java │ ├── BeerVerificationListenerTest.java │ └── intoxication │ ├── AbstractTest.java │ └── IntoxicationControllerTest.java ├── consumer_jms_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ └── Application.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ └── ApplicationTests.java │ └── resources │ └── application-test.properties ├── consumer_kafka_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ └── Application.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── ApplicationTests.java │ └── resources │ └── application-test.yml ├── consumer_kotlin ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ └── ClientApplication.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ └── BeerControllerKotlinTest.java ├── consumer_kotlin_ftw ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── loan │ │ │ ├── Application.kt │ │ │ ├── LoanApplicationService.kt │ │ │ └── model │ │ │ ├── Client.kt │ │ │ ├── FraudCheckStatus.kt │ │ │ ├── FraudServiceRequest.kt │ │ │ ├── FraudServiceResponse.kt │ │ │ ├── LoanApplication.kt │ │ │ ├── LoanApplicationResult.kt │ │ │ ├── LoanApplicationStatus.kt │ │ │ └── Response.kt │ └── resources │ │ └── application.yml │ └── test │ ├── kotlin │ └── com │ │ └── example │ │ └── loan │ │ ├── GoodbyeWorldTests.kt │ │ ├── LoanApplicationServiceContextPathTests.kt │ │ └── LoanApplicationServiceTests.kt │ └── resources │ ├── application-gradle.yaml │ ├── application.yaml │ ├── binary │ ├── request.pdf │ └── response.pdf │ └── contractsAtRuntime │ └── goodbyeWorld.kts ├── consumer_proto ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── bash │ │ ├── download_protoc.sh │ │ └── generate_proto.sh │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── ClientApplication.java │ └── resources │ │ ├── application.yml │ │ └── proto │ │ └── beer.proto │ └── test │ └── java │ └── com │ └── example │ └── ProtoTest.java ├── consumer_rabbit_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ └── Application.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── ApplicationTests.java │ └── resources │ └── application-test.yml ├── consumer_security ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ └── ClientApplication.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ └── BeerControllerSecurityTest.java ├── consumer_with_discovery ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ └── ClientApplication.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── AbstractTest.java │ │ └── BeerControllerTest.java │ └── resources │ └── application.yaml ├── consumer_with_latest_2_2_features ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerStatsController.java │ │ │ ├── BeerVerificationListener.java │ │ │ ├── ClientApplication.java │ │ │ ├── GrumpyBartenderController.java │ │ │ └── intoxication │ │ │ └── IntoxicationController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── GenerateStubsTest.java │ └── GenerateStubsWithFindProducerTest.java ├── consumer_with_latest_3_0_features_gradle ├── .gitignore ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerStatsController.java │ │ │ ├── BeerVerificationListener.java │ │ │ ├── ClientApplication.java │ │ │ ├── GrumpyBartenderController.java │ │ │ └── intoxication │ │ │ └── IntoxicationController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── GenerateStubsTest.java │ └── GenerateStubsWithFindProducerTest.java ├── consumer_with_restdocs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerVerificationListener.java │ │ │ └── ClientApplication.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ ├── BeerControllerClasspathTest.java │ ├── BeerControllerTest.java │ ├── BeerControllerWebTestClientTest.java │ ├── BeerVerificationListenerClasspathTest.java │ └── BeerVerificationListenerTest.java ├── consumer_with_secured_webflux ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── ideabaker │ │ │ └── samples │ │ │ └── scc │ │ │ └── security │ │ │ └── consumerwebflux │ │ │ ├── ConsumerWebfluxApplication.kt │ │ │ └── config │ │ │ └── WebConfig.kt │ └── resources │ │ └── application.properties │ └── test │ └── kotlin │ └── com │ └── ideabaker │ └── samples │ └── scc │ └── security │ └── consumerwebflux │ ├── ConsumerWebfluxApplicationTests.kt │ └── ContactConsumerTest.kt ├── consumer_with_stubs_per_consumer ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BeerController.java │ │ │ ├── BeerVerificationListener.java │ │ │ └── ClientApplication.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── AbstractTest.java │ ├── BeerControllerForBarTest.java │ ├── BeerControllerTest.java │ ├── BeerControllerWithConsumerNameTest.java │ ├── BeerControllerWithJUnitForBarTest.java │ ├── BeerVerificationListenerTest.java │ ├── BeerVerificationListenerWithConsumerNameTest.java │ └── FooControllerTest.java ├── contract_empty_git ├── README.adoc └── git │ ├── COMMIT_EDITMSG │ ├── HEAD │ ├── ORIG_HEAD │ ├── config │ ├── description │ ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── post-update.sample │ ├── pre-applypatch.sample │ ├── pre-commit.sample │ ├── pre-push.sample │ ├── pre-rebase.sample │ ├── pre-receive.sample │ ├── prepare-commit-msg.sample │ └── update.sample │ ├── index │ ├── info │ └── exclude │ ├── logs │ ├── HEAD │ └── refs │ │ ├── heads │ │ └── master │ │ └── stash │ ├── objects │ ├── 19 │ │ ├── 1cb1a2f1072d231f74dbf8aadf18fd55b70586 │ │ └── 25e013d63de24d335d2a6d3e5aa5fc164a3861 │ ├── 24 │ │ ├── 7c62bae9b14ff815ef24d7945334826e3f6fa1 │ │ └── 825d7f06ed2e153ce43525e068b80991e6c4b3 │ ├── 41 │ │ └── 26c23cfaaa870d1173df87efca80e4483464ad │ ├── 51 │ │ └── 4f24488388c76bf5490dd70875e1f7594b6721 │ ├── 64 │ │ └── b6288460d8a5745499bc3de71e174436401f76 │ ├── 2e │ │ └── 57118406e46fb6bdd0212e44a8ab82a694e4ec │ ├── 3a │ │ └── 8ffd71a8a55237dfcdcd2651200dcd8b63a82a │ ├── 3e │ │ └── 71c00ed58c6d6c9f4822cb0a3dbb14eaba998f │ ├── 4b │ │ └── 825dc642cb6eb9a060e54bf8d69288fbee4904 │ ├── 5c │ │ └── 5c21c41060f5b168144ee9f29be8a2006152b0 │ ├── 6a │ │ └── 09bce46f3eb17bd60d1fb6b88f69ce52b3ce61 │ ├── 7a │ │ └── 49fac4a3de83145797c9e3408579a794af4d1e │ ├── 7d │ │ └── 892c525ec1ee2c66178a7bc499160d78e528df │ ├── a0 │ │ └── 283f7bf054b57e732c5017849eb809c5f2751f │ ├── ae │ │ └── e2548158cb0434c92a28e86e8a354bd679a7c0 │ ├── b1 │ │ └── 76ae6214b2e788561b9e2429815c69fe3d28ef │ ├── b5 │ │ └── 68f24c4e97a0cd645e92948a80bad29a7071b0 │ ├── b6 │ │ └── 5e48c05857df0da2fcbf5fd42b78d4811edc90 │ ├── b8 │ │ └── afb4067084b6d819d8501a4c13b1bfc27c1e55 │ ├── ca │ │ └── 8f42fefb682db740d7637709f7021d29834acf │ ├── ef │ │ └── 84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08 │ ├── f0 │ │ └── 704987fb2930053eb983bcae7328e8ccd22c4a │ └── f8 │ │ └── 3a13ef05d1318cdc8a2cb48c13108c11fb1794 │ └── refs │ ├── heads │ └── master │ └── stash ├── contract_git ├── META-INF │ └── com.example │ │ └── beer-api-producer-git │ │ └── 0.0.1-SNAPSHOT │ │ └── contracts │ │ └── beer-api-consumer │ │ ├── messaging │ │ ├── shouldSendAcceptedVerification.groovy │ │ └── shouldSendRejectedVerification.groovy │ │ └── rest │ │ ├── shouldGrantABeerIfOldEnough.groovy │ │ └── shouldRejectABeerIfTooYoung.groovy ├── README.adoc └── git │ ├── COMMIT_EDITMSG │ ├── HEAD │ ├── ORIG_HEAD │ ├── config │ ├── description │ ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── post-update.sample │ ├── pre-applypatch.sample │ ├── pre-commit.sample │ ├── pre-push.sample │ ├── pre-rebase.sample │ ├── pre-receive.sample │ ├── prepare-commit-msg.sample │ └── update.sample │ ├── index │ ├── info │ └── exclude │ ├── logs │ ├── HEAD │ └── refs │ │ ├── heads │ │ └── master │ │ └── stash │ ├── objects │ ├── 16 │ │ └── 829aaafe15b2e3cf7c5aa564aedd179b5c6555 │ ├── 19 │ │ ├── 1cb1a2f1072d231f74dbf8aadf18fd55b70586 │ │ └── 25e013d63de24d335d2a6d3e5aa5fc164a3861 │ ├── 24 │ │ ├── 7c62bae9b14ff815ef24d7945334826e3f6fa1 │ │ └── 825d7f06ed2e153ce43525e068b80991e6c4b3 │ ├── 41 │ │ └── 26c23cfaaa870d1173df87efca80e4483464ad │ ├── 51 │ │ └── 4f24488388c76bf5490dd70875e1f7594b6721 │ ├── 64 │ │ └── b6288460d8a5745499bc3de71e174436401f76 │ ├── 99 │ │ └── 35f13ccfca317de9dbe5bae6e8aec86b69957e │ ├── 2e │ │ └── 57118406e46fb6bdd0212e44a8ab82a694e4ec │ ├── 3a │ │ └── 8ffd71a8a55237dfcdcd2651200dcd8b63a82a │ ├── 3e │ │ └── 71c00ed58c6d6c9f4822cb0a3dbb14eaba998f │ ├── 4b │ │ └── 825dc642cb6eb9a060e54bf8d69288fbee4904 │ ├── 5c │ │ └── 5c21c41060f5b168144ee9f29be8a2006152b0 │ ├── 6a │ │ └── 09bce46f3eb17bd60d1fb6b88f69ce52b3ce61 │ ├── 7a │ │ └── 49fac4a3de83145797c9e3408579a794af4d1e │ ├── 7d │ │ └── 892c525ec1ee2c66178a7bc499160d78e528df │ ├── a0 │ │ └── 283f7bf054b57e732c5017849eb809c5f2751f │ ├── a7 │ │ └── 8da88fa111cb245b8d48b25945a56cffb04580 │ ├── ae │ │ └── e2548158cb0434c92a28e86e8a354bd679a7c0 │ ├── b5 │ │ └── 68f24c4e97a0cd645e92948a80bad29a7071b0 │ ├── b6 │ │ └── 5e48c05857df0da2fcbf5fd42b78d4811edc90 │ ├── b8 │ │ └── afb4067084b6d819d8501a4c13b1bfc27c1e55 │ ├── ca │ │ └── 8f42fefb682db740d7637709f7021d29834acf │ ├── ef │ │ └── 84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08 │ ├── f0 │ │ └── 704987fb2930053eb983bcae7328e8ccd22c4a │ └── f8 │ │ └── 3a13ef05d1318cdc8a2cb48c13108c11fb1794 │ └── refs │ ├── heads │ └── master │ └── stash ├── docs ├── images │ ├── beer_1.png │ ├── beer_2.png │ ├── consumer_flow_1.png │ ├── consumer_flow_2.png │ ├── external_consumer_flow_1.png │ ├── external_producer_flow_1.png │ ├── external_producer_flow_2.png │ ├── external_producer_flow_3.png │ ├── flow.png │ ├── grumpy_1.png │ ├── grumpy_2.png │ ├── msg_1.png │ ├── msg_2.png │ ├── producer_flow_1.png │ ├── rest_docs_flow.png │ ├── rest_docs_producer_flow.png │ ├── scenario.png │ ├── scenario_stubs_per_consumer_1.png │ ├── scenario_stubs_per_consumer_2.png │ ├── scenario_stubs_per_consumer_3.png │ └── scenario_stubs_per_consumer_4.png ├── index.adoc ├── index.html ├── scenarios.adoc ├── tutorials │ ├── contracts_external.adoc │ ├── contracts_external.html │ ├── contracts_on_the_producer_side.adoc │ ├── contracts_on_the_producer_side.html │ ├── contracts_representing_scenarios.adoc │ ├── contracts_representing_scenarios.html │ ├── junit_rule.adoc │ ├── junit_rule.html │ ├── library_with_common_code.adoc │ ├── library_with_common_code.html │ ├── rest_docs.adoc │ ├── rest_docs.html │ ├── snippets │ │ ├── consumer_flow_1.adoc │ │ ├── consumer_flow_2.adoc │ │ ├── consumer_http_implementation.adoc │ │ ├── consumer_ide_setup.adoc │ │ ├── consumer_implementation.adoc │ │ ├── consumer_implementation_2.adoc │ │ ├── consumer_messaging_implementation.adoc │ │ ├── consumer_requirements.adoc │ │ ├── consumer_stub_runner_dep.adoc │ │ ├── first_http_contract.adoc │ │ ├── first_messaging_contract.adoc │ │ ├── fixing_base_class.adoc │ │ ├── fixing_broken_messaging_tests.adoc │ │ ├── generating_docs.adoc │ │ ├── generating_tests_from_contract.adoc │ │ ├── package_with_base_classes.adoc │ │ ├── playing_with_http_contracts.adoc │ │ ├── producer_flow.adoc │ │ ├── producer_http_tests.adoc │ │ ├── producer_ide_setup.adoc │ │ ├── producer_implementation.adoc │ │ ├── setting_plugin_on_clone.adoc │ │ ├── setting_plugin_on_producer.adoc │ │ ├── setup_cloned_producer.adoc │ │ ├── solutions.adoc │ │ ├── stub_runner_http_consumer_tests.adoc │ │ ├── stub_runner_messaging.adoc │ │ └── updating_messaging_contracts_from_pr.adoc │ ├── spring_cloud_contract_advanced.adoc │ ├── spring_cloud_contract_advanced.html │ ├── stub_runner_boot.adoc │ ├── stub_runner_boot.html │ ├── stubbing_out_service_discovery.adoc │ ├── stubbing_out_service_discovery.html │ ├── stubs_per_consumer.adoc │ └── stubs_per_consumer.html ├── workshops.adoc └── workshops.html ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── producer ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ ├── StatsController.java │ │ │ ├── StuffController.java │ │ │ └── intoxication │ │ │ ├── BeerServingController.java │ │ │ └── NoOpResponseProvider.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ ├── BeerRestBase.java │ │ ├── BeerStuffBase.java │ │ ├── GenerateAdocsFromContractsTests.java │ │ └── intoxication │ │ └── BeerIntoxicationBase.java │ └── resources │ └── contracts │ └── beer │ ├── intoxication │ ├── 1_sober.groovy │ ├── 2_tipsy.groovy │ └── 3_drunk.groovy │ ├── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy │ ├── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.groovy │ ├── shouldGrantABeerIfOldEnoughFromFile.groovy │ ├── shouldRejectABeerIfTooYoung.groovy │ └── shouldReturnStatsForAUser.groovy │ └── stuff │ └── hasLongText.yaml ├── producer_advanced ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── BuyController.java │ │ │ ├── ProducerApplication.java │ │ │ └── StoutController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerRestBase.java │ │ └── GenerateAdocsFromContractsTests.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldNotSellAnyAlcohol.groovy │ ├── shouldReturnStout.groovy │ └── shouldSellAlcoholOnlyToStarbuxman.groovy ├── producer_camel ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ └── MyProcessor.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ └── demo │ │ ├── BaseClass.java │ │ └── DemoApplicationTests.java │ └── resources │ └── contracts │ ├── should_send_a_negative_verification.yml │ └── should_send_a_positive_verification.groovy ├── producer_graphql ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── README.adoc ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── PeopleToCheckDataFetcher.java │ │ │ ├── PersonToCheck.java │ │ │ ├── PersonToCheckDataFetcher.java │ │ │ ├── PersonToCheckService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerConfiguration.java │ │ │ └── ProducerGrahpqlConfiguration.java │ └── resources │ │ ├── application.yml │ │ └── logback.xml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BaseClass.java │ └── resources │ └── contracts │ └── shouldRetrieveOldEnoughPerson.groovy ├── producer_grpc ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── bash │ │ ├── download_protoc.sh │ │ ├── dump_proto_bytes.sh │ │ ├── generate_proto.sh │ │ └── grpcEnvelope.groovy │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ ├── proto │ │ └── beer.proto │ ├── proto_gen │ │ └── com │ │ │ └── example │ │ │ ├── Beer.java │ │ │ ├── BeerServiceGrpc.java │ │ │ ├── PersonToCheck.java │ │ │ ├── PersonToCheckOrBuilder.java │ │ │ ├── Response.java │ │ │ └── ResponseOrBuilder.java │ └── resources │ │ ├── application.properties │ │ └── public.txt │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerRestBase.java │ │ ├── ProducerApplicationTests.java │ │ └── beer │ │ └── api │ │ └── GrpcStubHttpVerifier.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── PersonToCheck_old_enough.bin │ ├── PersonToCheck_too_young.bin │ ├── Response_old_enough.bin │ ├── Response_too_young.bin │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_java ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ ├── StatsController.java │ │ │ ├── StuffController.java │ │ │ └── intoxication │ │ │ ├── BeerServingController.java │ │ │ └── NoOpResponseProvider.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ ├── com │ └── example │ │ ├── BeerMessagingBase.java │ │ ├── BeerRestBase.java │ │ ├── BeerStuffBase.java │ │ └── intoxication │ │ └── BeerIntoxicationBase.java │ └── contracts │ └── beer │ ├── intoxication │ ├── 1_sober.java │ ├── 2_tipsy.java │ └── 3_drunk.java │ ├── messaging │ ├── shouldSendAcceptedVerification.java │ └── shouldSendRejectedVerification.java │ └── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.java │ ├── shouldGrantABeerIfOldEnoughFromFile.java │ ├── shouldRejectABeerIfTooYoung.java │ └── shouldReturnStatsForAUser.java ├── producer_jaxrs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── HELP.md ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── beerapiproducerjaxrs │ │ │ ├── FraudDetectionController.java │ │ │ ├── ProducerWithJaxRsApplication.java │ │ │ └── model │ │ │ ├── FraudCheck.java │ │ │ ├── FraudCheckResult.java │ │ │ └── FraudCheckStatus.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerRestBase.java │ │ └── beerapiproducerjaxrs │ │ └── ProducerWithJaxRsApplicationTests.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.yml │ ├── shouldGrantABeerIfOldEnoughFromFile.yml │ └── shouldRejectABeerIfTooYoung.yml ├── producer_jaxrs_spring ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── HELP.md ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── beerapiproducerjaxrs │ │ │ ├── FraudDetectionController.java │ │ │ ├── PersonCheckingService.java │ │ │ ├── ProducerWithJaxRsApplication.java │ │ │ └── model │ │ │ ├── FraudCheck.java │ │ │ ├── FraudCheckResult.java │ │ │ └── FraudCheckStatus.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerRestBase.java │ │ └── beerapiproducerjaxrs │ │ └── ProducerWithJaxRsApplicationTests.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.yml │ ├── shouldGrantABeerIfOldEnoughFromFile.yml │ └── shouldRejectABeerIfTooYoung.yml ├── producer_jms_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ ├── Application.java │ │ │ └── Controller.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BaseClass.java │ └── resources │ ├── application-test.properties │ └── contracts │ └── shouldSendFoo.groovy ├── producer_kafka_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ ├── Application.java │ │ │ └── Controller.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BaseClass.java │ └── resources │ ├── application-test.yml │ └── contracts │ └── shouldSendFoo.groovy ├── producer_kotlin ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.kt │ │ │ ├── ProducerApplication.kt │ │ │ ├── ProducerController.kt │ │ │ ├── StatsController.kt │ │ │ ├── StuffController.kt │ │ │ └── intoxication │ │ │ ├── BeerServingController.kt │ │ │ └── NoOpResponseProvider.kt │ └── resources │ │ └── application.yml │ └── test │ ├── kotlin │ └── com │ │ └── example │ │ ├── BeerMessagingBase.kt │ │ ├── BeerRestBase.kt │ │ ├── BeerStuffBase.kt │ │ └── intoxication │ │ └── BeerIntoxicationBase.kt │ └── resources │ └── contracts │ └── beer │ ├── intoxication │ ├── 1_sober.groovy │ ├── 2_tipsy.groovy │ └── 3_drunk.groovy │ ├── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy │ ├── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.groovy │ ├── shouldGrantABeerIfOldEnoughFromFile.groovy │ ├── shouldRejectABeerIfTooYoung.groovy │ └── shouldReturnStatsForAUser.groovy │ └── stuff │ └── hasLongText.yaml ├── producer_kotlin_ftw ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── fraud │ │ │ ├── Application.kt │ │ │ ├── FraudDetectionController.kt │ │ │ ├── FraudNameController.kt │ │ │ ├── FraudStatsController.kt │ │ │ ├── TestController.kt │ │ │ └── model │ │ │ ├── FraudCheck.kt │ │ │ ├── FraudCheckResult.kt │ │ │ └── FraudCheckStatus.kt │ └── resources │ │ └── application.yml │ └── test │ ├── kotlin │ └── com │ │ └── example │ │ └── fraud │ │ ├── BinaryBase.kt │ │ ├── FraudBase.kt │ │ ├── FraudnameBase.kt │ │ └── MultipartBase.kt │ └── resources │ └── contracts │ ├── binary │ ├── request.pdf │ ├── response.pdf │ └── shouldWorkWithBinaryPayload.kts │ ├── fraud │ ├── shouldMarkClientAsFraud.kts │ ├── shouldMarkClientAsNotFraud.kts │ └── shouldReturnFraudStats.kts │ ├── fraudname │ ├── shouldReturnACookie.kts │ ├── shouldReturnAFraudForTheName.kts │ └── shouldReturnNonFraudForTheName.kts │ └── multipart │ ├── shouldWorkForMultipartAsBytesWithContentType.kts │ ├── shouldWorkForMultipartWithContentType.kts │ └── test.json ├── producer_proto ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── bash │ │ ├── download_protoc.sh │ │ ├── dump_proto_bytes.sh │ │ └── generate_proto.sh │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ └── ProtoConfiguration.java │ └── resources │ │ ├── application.yml │ │ └── proto │ │ └── beer.proto │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── PersonToCheck_old_enough.bin │ ├── PersonToCheck_too_young.bin │ ├── Response_old_enough.bin │ ├── Response_too_young.bin │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_rabbit_middleware ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ ├── common │ │ │ ├── Foo1.java │ │ │ └── Foo2.java │ │ │ └── example │ │ │ ├── Application.java │ │ │ └── Controller.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BaseClass.java │ └── resources │ ├── application-test.yml │ └── contracts │ └── shouldSendFoo.groovy ├── producer_router_function ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerConfiguration.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_security ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── ProducerApplication.java │ │ │ ├── auth │ │ │ ├── AuthenticationMananagerProvider.java │ │ │ └── ResourceServerConfiguration.java │ │ │ ├── rest │ │ │ ├── BeerCheckStatus.java │ │ │ ├── PersonCheckingService.java │ │ │ ├── ProducerController.java │ │ │ └── Response.java │ │ │ └── security │ │ │ ├── UserAuthenticationConverter.java │ │ │ └── UserDetails.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── rest │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_testng ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── ProducerApplication.java │ │ │ └── StuffController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerStuffBase.java │ └── resources │ └── contracts │ └── beer │ └── stuff │ └── hasLongText.yaml ├── producer_webflux ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_webflux_security ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keygen.sh ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── ideabaker │ │ │ └── samples │ │ │ └── scc │ │ │ └── security │ │ │ └── securedproducerwebflux │ │ │ ├── SecuredProducerWebfluxApplication.kt │ │ │ ├── config │ │ │ ├── GlobalSecurityConfig.kt │ │ │ ├── JwtAuthoritiesAuthenticationConverter.kt │ │ │ ├── SpringSecurityWebFluxConfig.kt │ │ │ └── WebConfig.kt │ │ │ ├── model │ │ │ ├── UserContact.kt │ │ │ └── UserInfo.kt │ │ │ ├── service │ │ │ └── ContactService.kt │ │ │ └── web │ │ │ ├── ContactHandler.kt │ │ │ └── Routes.kt │ └── resources │ │ ├── application.properties │ │ └── public.txt │ └── test │ ├── kotlin │ └── com │ │ └── ideabaker │ │ └── samples │ │ └── scc │ │ └── security │ │ └── securedproducerwebflux │ │ ├── WithMockJwt.kt │ │ └── contract │ │ ├── ContactBase.kt │ │ └── ContactSecuredBase.kt │ └── resources │ └── contracts │ └── contact │ ├── givenQuery_ifMissingAuthToken_returns401.groovy │ └── secured │ └── responds_200.groovy ├── producer_webflux_webtestclient ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_with_dsl_restdocs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── npm ├── package.json ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ ├── StatsController.java │ │ │ └── intoxication │ │ │ ├── BeerServingController.java │ │ │ └── NoOpResponseProvider.java │ └── resources │ │ └── application.yml │ └── test │ ├── bash │ ├── generate_swagger.sh │ ├── linux │ │ └── swaggymnia │ └── osx │ │ └── swaggymnia │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ ├── BeerRestBase.java │ │ └── intoxication │ │ └── BeerIntoxicationBase.java │ ├── resources │ └── contracts │ │ └── beer │ │ ├── intoxication │ │ ├── 1_sober.groovy │ │ ├── 2_tipsy.groovy │ │ └── 3_drunk.groovy │ │ ├── messaging │ │ ├── shouldSendAcceptedVerification.groovy │ │ └── shouldSendRejectedVerification.groovy │ │ └── rest │ │ ├── response.json │ │ ├── shouldGrantABeerIfOldEnough.groovy │ │ ├── shouldGrantABeerIfOldEnoughFromFile.groovy │ │ ├── shouldRejectABeerIfTooYoung.groovy │ │ └── shouldReturnStatsForAUser.groovy │ └── swagger │ ├── config.json │ ├── replacements.json │ └── swagger-codegen-cli-2.2.1.jar ├── producer_with_empty_git ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer-api-consumer │ ├── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ └── shouldRejectABeerIfTooYoung.groovy ├── producer_with_external_contracts ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── BeerMessagingBase.java │ └── BeerRestBase.java ├── producer_with_git ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ ├── BeerMessagingBase.java │ └── BeerRestBase.java ├── producer_with_latest_2_2_features ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── ProducerApplication.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── ProducerApplicationTests.java │ └── resources │ └── contracts │ ├── beer │ └── in_progress │ │ └── shouldReturnStuff.groovy │ └── com.example │ ├── some-artifact-id │ └── 0.0.1 │ │ └── shouldReturnStuffForArtifactId.groovy │ └── some-other-artifact-id │ └── shouldReturnStuffForOtherArtifactId.groovy ├── producer_with_restdocs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── assembly │ └── stub.xml │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ └── model │ │ │ ├── BeerCheckStatus.java │ │ │ ├── PersonToCheck.java │ │ │ ├── Response.java │ │ │ └── Verification.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ └── ProducerControllerTests.java │ └── resources │ └── contracts │ └── beer │ └── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy ├── producer_with_spock ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ ├── StatsController.java │ │ │ └── intoxication │ │ │ ├── BeerServingController.java │ │ │ └── NoOpResponseProvider.java │ └── resources │ │ └── application.yml │ └── test │ ├── groovy │ └── com │ │ └── example │ │ ├── BeerMessagingBase.groovy │ │ ├── BeerRestBase.groovy │ │ └── intoxication │ │ └── BeerIntoxicationBase.groovy │ └── resources │ └── contracts │ └── beer │ ├── intoxication │ ├── 1_sober.groovy │ ├── 2_tipsy.groovy │ └── 3_drunk.groovy │ ├── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy │ └── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.groovy │ ├── shouldGrantABeerIfOldEnoughFromFile.groovy │ ├── shouldRejectABeerIfTooYoung.groovy │ └── shouldReturnStatsForAUser.groovy ├── producer_with_stubs_per_consumer ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── CarRentalHistoryController.java │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ ├── BeerRestBase.java │ │ └── GenerateAdocsFromContractsTests.java │ └── resources │ └── contracts │ ├── bar-consumer │ ├── messaging │ │ ├── shouldSendAcceptedVerification.groovy │ │ └── shouldSendRejectedVerification.groovy │ └── rest │ │ ├── shouldGrantABeerIfOldEnough.groovy │ │ ├── shouldRejectABeerIfTooYoung.groovy │ │ └── shouldReturnOkForBar.yml │ └── foo-consumer │ ├── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy │ └── rest │ ├── shouldGrantABeerIfOldEnough.groovy │ ├── shouldRejectABeerIfTooYoung.groovy │ └── shouldReturnOkForFoo.yml ├── producer_with_webtestclient_restdocs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── assembly │ └── stub.xml │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ └── model │ │ │ ├── BeerCheckStatus.java │ │ │ ├── PersonToCheck.java │ │ │ ├── Response.java │ │ │ └── Verification.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ └── ProducerControllerTests.java │ └── resources │ └── contracts │ └── beer │ └── messaging │ ├── shouldSendAcceptedVerification.groovy │ └── shouldSendRejectedVerification.groovy ├── producer_with_xml ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── ProducerApplication.java │ │ │ └── ProducerController.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ └── BeerRestBase.java │ └── resources │ └── contracts │ └── beer │ └── rest │ ├── shouldCancelBeerOrder.groovy │ └── shouldProcessBeerOrder.yml ├── producer_yaml ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── LICENSE.txt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AgeCheckingPersonCheckingService.java │ │ │ ├── ProducerApplication.java │ │ │ ├── ProducerController.java │ │ │ ├── StatsController.java │ │ │ └── intoxication │ │ │ ├── BeerServingController.java │ │ │ └── NoOpResponseProvider.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── BeerMessagingBase.java │ │ ├── BeerRestBase.java │ │ ├── GenerateAdocsFromContractsTests.java │ │ └── intoxication │ │ └── BeerIntoxicationBase.java │ └── resources │ └── contracts │ └── beer │ ├── intoxication │ ├── 1_sober.yml │ ├── 2_tipsy.yml │ └── 3_drunk.yaml │ ├── messaging │ ├── shouldSendAcceptedVerification.yml │ └── shouldSendRejectedVerification.yaml │ └── rest │ ├── response.json │ ├── shouldGrantABeerIfOldEnough.yml │ ├── shouldGrantABeerIfOldEnoughFromFile.yml │ ├── shouldRejectABeerIfTooYoung.yml │ └── shouldReturnStatsForAUser.yml ├── scripts ├── clean.sh ├── common.sh ├── runAcceptanceTests.sh ├── runCompatibilityBuild.sh ├── runDocsBuilds.sh ├── runGradleBuilds.sh ├── runManual.sh ├── runMavenBuilds.sh ├── setup.sh ├── setupEmptyGit.sh ├── setupGit.sh ├── stub_runner_boot.sh ├── updateMavenWrappers.sh └── updateWrappers.sh ├── standalone ├── contracts │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.adoc │ ├── com │ │ └── example │ │ │ └── server │ │ │ ├── client1 │ │ │ └── expectation.groovy │ │ │ ├── client2 │ │ │ └── expectation.groovy │ │ │ ├── client3 │ │ │ └── expectation.groovy │ │ │ └── pom.xml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ └── assembly │ │ └── contracts.xml ├── dsl │ ├── http-client │ │ ├── .gitignore │ │ ├── .mvn │ │ │ ├── jvm.config │ │ │ ├── maven.config │ │ │ └── wrapper │ │ │ │ ├── MavenWrapperDownloader.java │ │ │ │ ├── maven-wrapper.jar │ │ │ │ └── maven-wrapper.properties │ │ ├── README.adoc │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── loan │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── Listener.java │ │ │ │ │ ├── LoanApplicationService.java │ │ │ │ │ ├── SensorData.java │ │ │ │ │ └── model │ │ │ │ │ ├── Client.java │ │ │ │ │ ├── FraudCheckStatus.java │ │ │ │ │ ├── FraudServiceRequest.java │ │ │ │ │ ├── FraudServiceResponse.java │ │ │ │ │ ├── LoanApplication.java │ │ │ │ │ ├── LoanApplicationResult.java │ │ │ │ │ ├── LoanApplicationStatus.java │ │ │ │ │ └── Response.java │ │ │ └── resources │ │ │ │ └── application.yml │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── loan │ │ │ │ ├── GoodbyeWorldTests.java │ │ │ │ ├── LoanApplicationServiceContextPathTests.java │ │ │ │ ├── LoanApplicationServiceTests.java │ │ │ │ ├── MessageConsumedTests.java │ │ │ │ └── TestControllerTests.java │ │ │ └── resources │ │ │ ├── application-gradle.yaml │ │ │ ├── application-test-repo.yaml │ │ │ ├── application.yaml │ │ │ ├── binary │ │ │ ├── request.pdf │ │ │ └── response.pdf │ │ │ └── contractsAtRuntime │ │ │ └── goodbyeWorld.groovy │ └── http-server │ │ ├── .gitignore │ │ ├── .mvn │ │ ├── jvm.config │ │ ├── maven.config │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── README.adoc │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fraud │ │ │ │ ├── Application.java │ │ │ │ ├── FooController.java │ │ │ │ ├── FraudDetectionController.java │ │ │ │ ├── FraudNameController.java │ │ │ │ ├── FraudStatsController.java │ │ │ │ ├── MessageSender.java │ │ │ │ ├── MessagingConfiguration.java │ │ │ │ ├── TestController.java │ │ │ │ └── model │ │ │ │ ├── FraudCheck.java │ │ │ │ ├── FraudCheckResult.java │ │ │ │ └── FraudCheckStatus.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── fraud │ │ │ ├── BinaryBase.java │ │ │ ├── FraudBase.java │ │ │ ├── FraudnameBase.java │ │ │ ├── MessagingBase.java │ │ │ ├── MultipartBase.java │ │ │ ├── TestBase.java │ │ │ ├── YmlFraudBase.java │ │ │ └── YmlFraudnameBase.java │ │ └── resources │ │ └── contracts │ │ ├── binary │ │ ├── request.pdf │ │ ├── response.pdf │ │ └── shouldWorkWithBinaryPayload.groovy │ │ ├── fraud │ │ ├── shouldMarkClientAsFraud.groovy │ │ ├── shouldMarkClientAsNotFraud.groovy │ │ └── shouldReturnFraudStats.groovy │ │ ├── fraudname │ │ ├── shouldReturnACookie.groovy │ │ ├── shouldReturnAFraudForTheName.groovy │ │ └── shouldReturnNonFraudForTheName.groovy │ │ ├── messaging │ │ ├── output.pdf │ │ ├── shouldProduceValidSensorData.groovy │ │ ├── shouldReturnOkWhenServiceIsHealthy.yml │ │ └── shouldWorkWithInputOutputBinary.groovy │ │ ├── multipart │ │ ├── shouldWorkForMultipartAsBytesWithContentType.groovy │ │ ├── shouldWorkForMultipartWithContentType.groovy │ │ └── test.json │ │ ├── test │ │ ├── MyHttpContract.java │ │ └── request.json │ │ └── yml │ │ ├── fraud │ │ ├── shouldMarkClientAsFraud.yml │ │ ├── shouldMarkClientAsNotFraud.yaml │ │ └── shouldReturnFraudStats.yml │ │ └── fraudname │ │ ├── shouldReturnAFraudForTheName.yml │ │ └── shouldReturnNonFraudForTheName.yml ├── restdocs │ ├── http-client │ │ ├── .gitignore │ │ ├── .mvn │ │ │ ├── jvm.config │ │ │ ├── maven.config │ │ │ └── wrapper │ │ │ │ ├── MavenWrapperDownloader.java │ │ │ │ ├── maven-wrapper.jar │ │ │ │ └── maven-wrapper.properties │ │ ├── README.adoc │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── loan │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── LoanApplicationService.java │ │ │ │ │ └── model │ │ │ │ │ ├── Client.java │ │ │ │ │ ├── FraudCheckStatus.java │ │ │ │ │ ├── FraudServiceRequest.java │ │ │ │ │ ├── FraudServiceResponse.java │ │ │ │ │ ├── LoanApplication.java │ │ │ │ │ ├── LoanApplicationResult.java │ │ │ │ │ └── LoanApplicationStatus.java │ │ │ └── resources │ │ │ │ └── application.yml │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── loan │ │ │ │ ├── LoanApplicationServiceTests.java │ │ │ │ ├── LoanApplicationServiceusingStubRunnerTests.java │ │ │ │ ├── XmlServiceTests.java │ │ │ │ └── XmlServiceUsingStubRunnerTests.java │ │ │ └── resources │ │ │ └── application-gradle.yaml │ └── http-server │ │ ├── .gitignore │ │ ├── .mvn │ │ ├── jvm.config │ │ ├── maven.config │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── README.adoc │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ ├── settings.gradle │ │ └── src │ │ ├── assembly │ │ └── stub.xml │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── fraud │ │ │ │ ├── Application.java │ │ │ │ ├── FraudDetectionController.java │ │ │ │ ├── FraudDetectionXmlController.java │ │ │ │ └── model │ │ │ │ ├── FraudCheck.java │ │ │ │ ├── FraudCheckResult.java │ │ │ │ └── FraudCheckStatus.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── fraud │ │ │ ├── FraudBaseWithStandaloneSetup.java │ │ │ ├── FraudBaseWithWebAppSetup.java │ │ │ ├── StubGeneratorTests.java │ │ │ └── XmlStubGeneratorTests.java │ │ └── resources │ │ └── contracts │ │ ├── standalone │ │ └── shouldMarkClientAsFraud.groovy │ │ └── webapp │ │ └── shouldMarkClientAsNotFraud.groovy └── webclient │ ├── http-client │ ├── .gitignore │ ├── .mvn │ │ ├── jvm.config │ │ ├── maven.config │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── README.adoc │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── settings.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── loan │ │ │ │ ├── Application.java │ │ │ │ ├── LoanApplicationService.java │ │ │ │ └── model │ │ │ │ ├── Client.java │ │ │ │ ├── FraudCheckStatus.java │ │ │ │ ├── FraudServiceRequest.java │ │ │ │ ├── FraudServiceResponse.java │ │ │ │ ├── LoanApplication.java │ │ │ │ ├── LoanApplicationResult.java │ │ │ │ └── LoanApplicationStatus.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── loan │ │ │ ├── LoanApplicationServiceTests.java │ │ │ ├── LoanApplicationServiceusingStubRunnerGradleTests.java │ │ │ └── LoanApplicationServiceusingStubRunnerTests.java │ │ └── resources │ │ └── application-gradle.yaml │ └── http-server │ ├── .gitignore │ ├── .mvn │ ├── jvm.config │ ├── maven.config │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── README.adoc │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── settings.gradle │ └── src │ ├── assembly │ └── stub.xml │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── fraud │ │ │ ├── Application.java │ │ │ ├── FraudDetectionController.java │ │ │ └── model │ │ │ ├── FraudCheck.java │ │ │ ├── FraudCheckResult.java │ │ │ └── FraudCheckStatus.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ └── fraud │ └── StubGeneratorTests.java ├── wiremock-for-contract-docs ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── README.adoc ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── WiremockTestsApplication.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── WiremockForDocsClassRuleTests.java │ │ ├── WiremockForDocsMockServerApplicationTests.java │ │ ├── WiremockForDocsTests.java │ │ ├── WiremockHttpsServerApplicationTests.java │ │ ├── WiremockImportApplicationTests.java │ │ ├── WiremockMockServerApplicationTests.java │ │ └── WiremockServerApplicationTests.java │ └── resources │ ├── application-classrule.yml │ ├── application-docs.yml │ └── stubs │ └── resource.json ├── wiremock-native ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── WiremockTestsApplication.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ └── WiremockServerApplicationTests.java │ └── resources │ └── stubs │ └── resource.json ├── wiremock-tomcat ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── WiremockTestsApplication.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── WiremockHttpsServerApplicationTests.java │ │ ├── WiremockImportApplicationTests.java │ │ ├── WiremockImportContextPathApplicationTests.java │ │ ├── WiremockMockServerApplicationTests.java │ │ └── WiremockServerApplicationTests.java │ └── resources │ └── stubs │ └── resource.json ├── wiremock-undertow-ssl ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── WiremockTestsApplication.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── SocketUtils.java │ │ └── WiremockHttpsServerApplicationTests.java │ └── resources │ └── stubs │ └── resource.json ├── wiremock-undertow ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── WiremockTestsApplication.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── com │ │ └── example │ │ ├── WiremockImportApplicationTests.java │ │ ├── WiremockMockServerApplicationTests.java │ │ └── WiremockServerApplicationTests.java │ └── resources │ └── stubs │ └── resource.json └── wiremock ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── example │ │ └── WiremockTestsApplication.java └── resources │ └── application.properties └── test └── java └── com └── example └── AutoConfigureWireMockFilesApplicationWithUrlResourceTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | build/ 20 | .gradle 21 | .gradletasknamecache 22 | nohup.out 23 | effective.pom 24 | test-results/ 25 | bin/ 26 | protoc 27 | .vscode/ -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.springformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/.springformat -------------------------------------------------------------------------------- /beer_contracts/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /beer_contracts/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /beer_contracts/example/graphs/d3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/example/graphs/d3.png -------------------------------------------------------------------------------- /beer_contracts/example/graphs/dracula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/example/graphs/dracula.png -------------------------------------------------------------------------------- /beer_contracts/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /beer_contracts/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /beer_contracts/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 5 | networkTimeout=10000 6 | validateDistributionUrl=true 7 | zipStoreBase=GRADLE_USER_HOME 8 | zipStorePath=wrapper/dists 9 | -------------------------------------------------------------------------------- /beer_contracts/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'beer-api-producer' 2 | -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle 23 | mvnw 24 | .mvn 25 | mvnw.cmd -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/1.0.0/beer-api-consumer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/anotherConsumerOnly/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/anotherConsumerOnly/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/barService/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/barService/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.bazService/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.bazService/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.consumerOnly/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.consumerOnly/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.fooService.1_2_3/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/com/example/beer-api-producer-external/2.0.0/foo.bar.fooService.1_2_3/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/foo/bar/barService/yetAnotherConsumer/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/foo/bar/barService/yetAnotherConsumer/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/foo/bar/bazService/bazConsumer1/rest/shouldSayHello.groovy: -------------------------------------------------------------------------------- 1 | package contracts.foo.bar.bazService.bazConsumer.rest 2 | 3 | org.springframework.cloud.contract.spec.Contract.make { 4 | request { 5 | method 'GET' 6 | url '/hello' 7 | } 8 | response { 9 | status 200 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/.producer_contracts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/.producer_contracts -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/messaging/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/messaging/.gitkeep -------------------------------------------------------------------------------- /beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/rest/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/beer_contracts/src/main/resources/contracts/foo/bar/beer-api-consumer/rest/.gitkeep -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/build.gradle -------------------------------------------------------------------------------- /common/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/common/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /common/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | -------------------------------------------------------------------------------- /common/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/common/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /common/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /common/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'beer-common' 2 | -------------------------------------------------------------------------------- /consumer/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | 4 | cloud.stream.bindings.input-in-0.destination: verifications 5 | 6 | server.port: ${PORT:8081} 7 | logging: 8 | level: 9 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_camel/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_camel/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_camel/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_camel/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_camel/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_camel/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_camel/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_camel/src/main/resources/application.properties -------------------------------------------------------------------------------- /consumer_grpc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_grpc/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_grpc/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_grpc/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_grpc/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_grpc/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_grpc/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_grpc/keygen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | keytool -dname "cn=Unknown, ou=Unknown, o=Unknown, c=Unknown" -genkeypair -alias mytest -keyalg RSA -keysize 2048 -validity 10000 -keypass mypass -keystore mytest.jks -storepass mypass || echo "Exception occurred" 4 | keytool -list -rfc --keystore mytest.jks -storepass mypass | openssl x509 -inform pem -pubkey 5 | -------------------------------------------------------------------------------- /consumer_grpc/src/main/bash/generate_proto.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o pipefail 6 | 7 | ./src/main/bash/download_protoc.sh 8 | 9 | echo "Generating proto files" 10 | mkdir -p target/generated-sources/java 11 | target/protoc/bin/protoc --java_out=target/generated-sources/java src/main/resources/proto/beer.proto 12 | echo "Proto files generated!" -------------------------------------------------------------------------------- /consumer_grpc/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer-grpc 3 | server.port: ${PORT:8081} 4 | -------------------------------------------------------------------------------- /consumer_java/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_java/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_java/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_java/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_java/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | 4 | cloud.stream.bindings.input-in-0.destination: verifications 5 | 6 | server.port: ${PORT:8081} 7 | logging: 8 | level: 9 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_jms_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle 23 | *.log 24 | *.log.* 25 | -------------------------------------------------------------------------------- /consumer_jms_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_jms_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_jms_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /consumer_jms_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_jms_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_jms_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_jms_middleware/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.activemq.in-memory=false -------------------------------------------------------------------------------- /consumer_jms_middleware/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_jms_middleware/src/test/resources/application-test.properties -------------------------------------------------------------------------------- /consumer_kafka_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_kafka_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kafka_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_kafka_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /consumer_kafka_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kafka_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_kafka_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_kafka_middleware/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | producer: 4 | value-serializer: org.springframework.kafka.support.serializer.JsonSerializer 5 | -------------------------------------------------------------------------------- /consumer_kafka_middleware/src/test/resources/application-test.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | producer: 4 | value-serializer: org.apache.kafka.common.serialization.StringSerializer 5 | consumer: 6 | properties: 7 | "key.serializer": "org.springframework.kafka.support.serializer.JsonSerializer" 8 | "key.deserializer": "org.springframework.kafka.support.serializer.JsonDeserializer" 9 | group-id: groupId -------------------------------------------------------------------------------- /consumer_kotlin/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_kotlin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_kotlin/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_kotlin/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer-kotlin 3 | server.port: ${PORT:8081} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_kotlin_ftw/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /consumer_kotlin_ftw/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin_ftw/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_kotlin_ftw/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_kotlin_ftw/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin_ftw/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_kotlin_ftw/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_kotlin_ftw/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port: 8090 -------------------------------------------------------------------------------- /consumer_kotlin_ftw/src/test/resources/application-gradle.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | stubs-mode: local 3 | stubs.ids: 'com.example:producer-kotlin-ftw-gradle:+:stubs:6569' 4 | -------------------------------------------------------------------------------- /consumer_kotlin_ftw/src/test/resources/application.yaml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 6569 3 | -------------------------------------------------------------------------------- /consumer_kotlin_ftw/src/test/resources/binary/request.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin_ftw/src/test/resources/binary/request.pdf -------------------------------------------------------------------------------- /consumer_kotlin_ftw/src/test/resources/binary/response.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_kotlin_ftw/src/test/resources/binary/response.pdf -------------------------------------------------------------------------------- /consumer_proto/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_proto/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_proto/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_proto/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_proto/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_proto/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_proto/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_proto/src/main/bash/generate_proto.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o pipefail 6 | 7 | ./src/main/bash/download_protoc.sh 8 | 9 | echo "Generating proto files" 10 | mkdir -p target/generated-sources/java 11 | target/protoc/bin/protoc --java_out=target/generated-sources/java src/main/resources/proto/beer.proto 12 | echo "Proto files generated!" -------------------------------------------------------------------------------- /consumer_proto/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer-proto 3 | server.port: ${PORT:8081} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug 7 | -------------------------------------------------------------------------------- /consumer_proto/src/main/resources/proto/beer.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package beer; 3 | option java_package = "com.example"; 4 | option java_outer_classname = "Beer"; 5 | 6 | message PersonToCheck { 7 | int32 age = 1; 8 | } 9 | 10 | message Response { 11 | enum BeerCheckStatus { 12 | NOT_OK = 0; 13 | OK = 1; 14 | } 15 | 16 | BeerCheckStatus status = 1; 17 | } -------------------------------------------------------------------------------- /consumer_rabbit_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_rabbit_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_rabbit_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_rabbit_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /consumer_rabbit_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_rabbit_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_rabbit_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_rabbit_middleware/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | producer: 4 | value-serializer: org.springframework.kafka.support.serializer.JsonSerializer 5 | -------------------------------------------------------------------------------- /consumer_rabbit_middleware/src/test/resources/application-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_rabbit_middleware/src/test/resources/application-test.yml -------------------------------------------------------------------------------- /consumer_security/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_security/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_security/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_security/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | bootVersion=3.3.4 3 | BOM_VERSION=2023.0.3-SNAPSHOT 4 | -------------------------------------------------------------------------------- /consumer_security/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_security/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_security/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_security/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer-security 3 | server.port: ${PORT:8081} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_with_discovery/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_with_discovery/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_discovery/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_discovery/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_with_discovery/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_discovery/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_discovery/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_discovery/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | server.port: ${PORT:8081} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_with_discovery/src/test/resources/application.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | idsToServiceIds: 3 | 4 | beer-api-producer: somenameforproducer 5 | -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_latest_2_2_features/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_latest_2_2_features/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | 4 | cloud.stream.bindings.input-in-0.destination: verifications 5 | 6 | server.port: ${PORT:8081} 7 | logging: 8 | level: 9 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_with_latest_3_0_features_gradle/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_with_latest_3_0_features_gradle/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_with_latest_3_0_features_gradle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_latest_3_0_features_gradle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_latest_3_0_features_gradle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_latest_3_0_features_gradle/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | 4 | cloud.stream.bindings.input-in-0.destination: verifications 5 | 6 | server.port: ${PORT:8081} 7 | logging: 8 | level: 9 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_with_restdocs/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_with_restdocs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_restdocs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_restdocs/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_with_restdocs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_restdocs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_restdocs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_restdocs/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | 4 | cloud.stream.bindings.input-in-0.destination: verifications 5 | 6 | server.port: ${PORT:8081} 7 | logging: 8 | level: 9 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /consumer_with_secured_webflux/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_secured_webflux/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_secured_webflux/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | kotlinVersion=1.8.22 6 | -------------------------------------------------------------------------------- /consumer_with_secured_webflux/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_secured_webflux/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_secured_webflux/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_secured_webflux/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_stubs_per_consumer/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | BOM_VERSION=2023.0.3-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/consumer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /consumer_with_stubs_per_consumer/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-consumer 3 | cloud.stream.bindings.input-in-0.destination: verifications 4 | server.port: ${PORT:8081} 5 | logging: 6 | level: 7 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /contract_empty_git/README.adoc: -------------------------------------------------------------------------------- 1 | = Repo with contracts and stubs 2 | 3 | This folder simulates an empty git repository. -------------------------------------------------------------------------------- /contract_empty_git/git/COMMIT_EDITMSG: -------------------------------------------------------------------------------- 1 | empty 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/ORIG_HEAD: -------------------------------------------------------------------------------- 1 | 5c5c21c41060f5b168144ee9f29be8a2006152b0 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = false 5 | logallrefupdates = true 6 | ignorecase = true 7 | precomposeunicode = true 8 | [branch "master"] 9 | remote = origin 10 | merge = refs/heads/master 11 | -------------------------------------------------------------------------------- /contract_empty_git/git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/hooks/post-update.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to prepare a packed repository for use over 4 | # dumb transports. 5 | # 6 | # To enable this hook, rename this file to "post-update". 7 | 8 | exec git update-server-info 9 | -------------------------------------------------------------------------------- /contract_empty_git/git/index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/index -------------------------------------------------------------------------------- /contract_empty_git/git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /contract_empty_git/git/logs/refs/stash: -------------------------------------------------------------------------------- 1 | 0000000000000000000000000000000000000000 aee2548158cb0434c92a28e86e8a354bd679a7c0 Marcin Grzejszczak 1542551556 +0100 WIP on master: 5c5c21c Initial commit 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/objects/19/1cb1a2f1072d231f74dbf8aadf18fd55b70586: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/19/1cb1a2f1072d231f74dbf8aadf18fd55b70586 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/19/25e013d63de24d335d2a6d3e5aa5fc164a3861: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/19/25e013d63de24d335d2a6d3e5aa5fc164a3861 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/24/7c62bae9b14ff815ef24d7945334826e3f6fa1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/24/7c62bae9b14ff815ef24d7945334826e3f6fa1 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/24/825d7f06ed2e153ce43525e068b80991e6c4b3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/24/825d7f06ed2e153ce43525e068b80991e6c4b3 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/2e/57118406e46fb6bdd0212e44a8ab82a694e4ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/2e/57118406e46fb6bdd0212e44a8ab82a694e4ec -------------------------------------------------------------------------------- /contract_empty_git/git/objects/3a/8ffd71a8a55237dfcdcd2651200dcd8b63a82a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/3a/8ffd71a8a55237dfcdcd2651200dcd8b63a82a -------------------------------------------------------------------------------- /contract_empty_git/git/objects/3e/71c00ed58c6d6c9f4822cb0a3dbb14eaba998f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/3e/71c00ed58c6d6c9f4822cb0a3dbb14eaba998f -------------------------------------------------------------------------------- /contract_empty_git/git/objects/41/26c23cfaaa870d1173df87efca80e4483464ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/41/26c23cfaaa870d1173df87efca80e4483464ad -------------------------------------------------------------------------------- /contract_empty_git/git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904: -------------------------------------------------------------------------------- 1 | x+)JMU0` 2 | , -------------------------------------------------------------------------------- /contract_empty_git/git/objects/51/4f24488388c76bf5490dd70875e1f7594b6721: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/51/4f24488388c76bf5490dd70875e1f7594b6721 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/5c/5c21c41060f5b168144ee9f29be8a2006152b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/5c/5c21c41060f5b168144ee9f29be8a2006152b0 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/64/b6288460d8a5745499bc3de71e174436401f76: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/64/b6288460d8a5745499bc3de71e174436401f76 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/6a/09bce46f3eb17bd60d1fb6b88f69ce52b3ce61: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/6a/09bce46f3eb17bd60d1fb6b88f69ce52b3ce61 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/7a/49fac4a3de83145797c9e3408579a794af4d1e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/7a/49fac4a3de83145797c9e3408579a794af4d1e -------------------------------------------------------------------------------- /contract_empty_git/git/objects/7d/892c525ec1ee2c66178a7bc499160d78e528df: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/7d/892c525ec1ee2c66178a7bc499160d78e528df -------------------------------------------------------------------------------- /contract_empty_git/git/objects/a0/283f7bf054b57e732c5017849eb809c5f2751f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/a0/283f7bf054b57e732c5017849eb809c5f2751f -------------------------------------------------------------------------------- /contract_empty_git/git/objects/ae/e2548158cb0434c92a28e86e8a354bd679a7c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/ae/e2548158cb0434c92a28e86e8a354bd679a7c0 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/b1/76ae6214b2e788561b9e2429815c69fe3d28ef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/b1/76ae6214b2e788561b9e2429815c69fe3d28ef -------------------------------------------------------------------------------- /contract_empty_git/git/objects/b5/68f24c4e97a0cd645e92948a80bad29a7071b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/b5/68f24c4e97a0cd645e92948a80bad29a7071b0 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/b6/5e48c05857df0da2fcbf5fd42b78d4811edc90: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/b6/5e48c05857df0da2fcbf5fd42b78d4811edc90 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/b8/afb4067084b6d819d8501a4c13b1bfc27c1e55: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/b8/afb4067084b6d819d8501a4c13b1bfc27c1e55 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/ca/8f42fefb682db740d7637709f7021d29834acf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/ca/8f42fefb682db740d7637709f7021d29834acf -------------------------------------------------------------------------------- /contract_empty_git/git/objects/ef/84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/ef/84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08 -------------------------------------------------------------------------------- /contract_empty_git/git/objects/f0/704987fb2930053eb983bcae7328e8ccd22c4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/f0/704987fb2930053eb983bcae7328e8ccd22c4a -------------------------------------------------------------------------------- /contract_empty_git/git/objects/f8/3a13ef05d1318cdc8a2cb48c13108c11fb1794: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_empty_git/git/objects/f8/3a13ef05d1318cdc8a2cb48c13108c11fb1794 -------------------------------------------------------------------------------- /contract_empty_git/git/refs/heads/master: -------------------------------------------------------------------------------- 1 | b176ae6214b2e788561b9e2429815c69fe3d28ef 2 | -------------------------------------------------------------------------------- /contract_empty_git/git/refs/stash: -------------------------------------------------------------------------------- 1 | aee2548158cb0434c92a28e86e8a354bd679a7c0 2 | -------------------------------------------------------------------------------- /contract_git/README.adoc: -------------------------------------------------------------------------------- 1 | = Repo with contracts and stubs 2 | 3 | This folder simulates an empty git repository. -------------------------------------------------------------------------------- /contract_git/git/COMMIT_EDITMSG: -------------------------------------------------------------------------------- 1 | Migrating to SNAPSHOT instead of BUILD-SNAPSHOT 2 | -------------------------------------------------------------------------------- /contract_git/git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /contract_git/git/ORIG_HEAD: -------------------------------------------------------------------------------- 1 | f83a13ef05d1318cdc8a2cb48c13108c11fb1794 2 | -------------------------------------------------------------------------------- /contract_git/git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = false 5 | logallrefupdates = true 6 | ignorecase = true 7 | precomposeunicode = true 8 | [branch "master"] 9 | remote = origin 10 | merge = refs/heads/master 11 | -------------------------------------------------------------------------------- /contract_git/git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /contract_git/git/hooks/post-update.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to prepare a packed repository for use over 4 | # dumb transports. 5 | # 6 | # To enable this hook, rename this file to "post-update". 7 | 8 | exec git update-server-info 9 | -------------------------------------------------------------------------------- /contract_git/git/index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/index -------------------------------------------------------------------------------- /contract_git/git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /contract_git/git/logs/refs/stash: -------------------------------------------------------------------------------- 1 | 0000000000000000000000000000000000000000 aee2548158cb0434c92a28e86e8a354bd679a7c0 Marcin Grzejszczak 1542551556 +0100 WIP on master: 5c5c21c Initial commit 2 | aee2548158cb0434c92a28e86e8a354bd679a7c0 16829aaafe15b2e3cf7c5aa564aedd179b5c6555 Marcin Grzejszczak 1593172453 +0200 WIP on master: f83a13e Moved snapshot to build snapshot 3 | -------------------------------------------------------------------------------- /contract_git/git/objects/16/829aaafe15b2e3cf7c5aa564aedd179b5c6555: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/16/829aaafe15b2e3cf7c5aa564aedd179b5c6555 -------------------------------------------------------------------------------- /contract_git/git/objects/19/1cb1a2f1072d231f74dbf8aadf18fd55b70586: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/19/1cb1a2f1072d231f74dbf8aadf18fd55b70586 -------------------------------------------------------------------------------- /contract_git/git/objects/19/25e013d63de24d335d2a6d3e5aa5fc164a3861: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/19/25e013d63de24d335d2a6d3e5aa5fc164a3861 -------------------------------------------------------------------------------- /contract_git/git/objects/24/7c62bae9b14ff815ef24d7945334826e3f6fa1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/24/7c62bae9b14ff815ef24d7945334826e3f6fa1 -------------------------------------------------------------------------------- /contract_git/git/objects/24/825d7f06ed2e153ce43525e068b80991e6c4b3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/24/825d7f06ed2e153ce43525e068b80991e6c4b3 -------------------------------------------------------------------------------- /contract_git/git/objects/2e/57118406e46fb6bdd0212e44a8ab82a694e4ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/2e/57118406e46fb6bdd0212e44a8ab82a694e4ec -------------------------------------------------------------------------------- /contract_git/git/objects/3a/8ffd71a8a55237dfcdcd2651200dcd8b63a82a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/3a/8ffd71a8a55237dfcdcd2651200dcd8b63a82a -------------------------------------------------------------------------------- /contract_git/git/objects/3e/71c00ed58c6d6c9f4822cb0a3dbb14eaba998f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/3e/71c00ed58c6d6c9f4822cb0a3dbb14eaba998f -------------------------------------------------------------------------------- /contract_git/git/objects/41/26c23cfaaa870d1173df87efca80e4483464ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/41/26c23cfaaa870d1173df87efca80e4483464ad -------------------------------------------------------------------------------- /contract_git/git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904: -------------------------------------------------------------------------------- 1 | x+)JMU0` 2 | , -------------------------------------------------------------------------------- /contract_git/git/objects/51/4f24488388c76bf5490dd70875e1f7594b6721: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/51/4f24488388c76bf5490dd70875e1f7594b6721 -------------------------------------------------------------------------------- /contract_git/git/objects/5c/5c21c41060f5b168144ee9f29be8a2006152b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/5c/5c21c41060f5b168144ee9f29be8a2006152b0 -------------------------------------------------------------------------------- /contract_git/git/objects/64/b6288460d8a5745499bc3de71e174436401f76: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/64/b6288460d8a5745499bc3de71e174436401f76 -------------------------------------------------------------------------------- /contract_git/git/objects/6a/09bce46f3eb17bd60d1fb6b88f69ce52b3ce61: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/6a/09bce46f3eb17bd60d1fb6b88f69ce52b3ce61 -------------------------------------------------------------------------------- /contract_git/git/objects/7a/49fac4a3de83145797c9e3408579a794af4d1e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/7a/49fac4a3de83145797c9e3408579a794af4d1e -------------------------------------------------------------------------------- /contract_git/git/objects/7d/892c525ec1ee2c66178a7bc499160d78e528df: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/7d/892c525ec1ee2c66178a7bc499160d78e528df -------------------------------------------------------------------------------- /contract_git/git/objects/99/35f13ccfca317de9dbe5bae6e8aec86b69957e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/99/35f13ccfca317de9dbe5bae6e8aec86b69957e -------------------------------------------------------------------------------- /contract_git/git/objects/a0/283f7bf054b57e732c5017849eb809c5f2751f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/a0/283f7bf054b57e732c5017849eb809c5f2751f -------------------------------------------------------------------------------- /contract_git/git/objects/a7/8da88fa111cb245b8d48b25945a56cffb04580: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/a7/8da88fa111cb245b8d48b25945a56cffb04580 -------------------------------------------------------------------------------- /contract_git/git/objects/ae/e2548158cb0434c92a28e86e8a354bd679a7c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/ae/e2548158cb0434c92a28e86e8a354bd679a7c0 -------------------------------------------------------------------------------- /contract_git/git/objects/b5/68f24c4e97a0cd645e92948a80bad29a7071b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/b5/68f24c4e97a0cd645e92948a80bad29a7071b0 -------------------------------------------------------------------------------- /contract_git/git/objects/b6/5e48c05857df0da2fcbf5fd42b78d4811edc90: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/b6/5e48c05857df0da2fcbf5fd42b78d4811edc90 -------------------------------------------------------------------------------- /contract_git/git/objects/b8/afb4067084b6d819d8501a4c13b1bfc27c1e55: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/b8/afb4067084b6d819d8501a4c13b1bfc27c1e55 -------------------------------------------------------------------------------- /contract_git/git/objects/ca/8f42fefb682db740d7637709f7021d29834acf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/ca/8f42fefb682db740d7637709f7021d29834acf -------------------------------------------------------------------------------- /contract_git/git/objects/ef/84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/ef/84a9a58ea1e4d61a72a5eb4f876d4aa80f2a08 -------------------------------------------------------------------------------- /contract_git/git/objects/f0/704987fb2930053eb983bcae7328e8ccd22c4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/f0/704987fb2930053eb983bcae7328e8ccd22c4a -------------------------------------------------------------------------------- /contract_git/git/objects/f8/3a13ef05d1318cdc8a2cb48c13108c11fb1794: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/contract_git/git/objects/f8/3a13ef05d1318cdc8a2cb48c13108c11fb1794 -------------------------------------------------------------------------------- /contract_git/git/refs/heads/master: -------------------------------------------------------------------------------- 1 | a78da88fa111cb245b8d48b25945a56cffb04580 2 | -------------------------------------------------------------------------------- /contract_git/git/refs/stash: -------------------------------------------------------------------------------- 1 | 16829aaafe15b2e3cf7c5aa564aedd179b5c6555 2 | -------------------------------------------------------------------------------- /docs/images/beer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/beer_1.png -------------------------------------------------------------------------------- /docs/images/beer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/beer_2.png -------------------------------------------------------------------------------- /docs/images/consumer_flow_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/consumer_flow_1.png -------------------------------------------------------------------------------- /docs/images/consumer_flow_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/consumer_flow_2.png -------------------------------------------------------------------------------- /docs/images/external_consumer_flow_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/external_consumer_flow_1.png -------------------------------------------------------------------------------- /docs/images/external_producer_flow_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/external_producer_flow_1.png -------------------------------------------------------------------------------- /docs/images/external_producer_flow_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/external_producer_flow_2.png -------------------------------------------------------------------------------- /docs/images/external_producer_flow_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/external_producer_flow_3.png -------------------------------------------------------------------------------- /docs/images/flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/flow.png -------------------------------------------------------------------------------- /docs/images/grumpy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/grumpy_1.png -------------------------------------------------------------------------------- /docs/images/grumpy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/grumpy_2.png -------------------------------------------------------------------------------- /docs/images/msg_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/msg_1.png -------------------------------------------------------------------------------- /docs/images/msg_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/msg_2.png -------------------------------------------------------------------------------- /docs/images/producer_flow_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/producer_flow_1.png -------------------------------------------------------------------------------- /docs/images/rest_docs_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/rest_docs_flow.png -------------------------------------------------------------------------------- /docs/images/rest_docs_producer_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/rest_docs_producer_flow.png -------------------------------------------------------------------------------- /docs/images/scenario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/scenario.png -------------------------------------------------------------------------------- /docs/images/scenario_stubs_per_consumer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/scenario_stubs_per_consumer_1.png -------------------------------------------------------------------------------- /docs/images/scenario_stubs_per_consumer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/scenario_stubs_per_consumer_2.png -------------------------------------------------------------------------------- /docs/images/scenario_stubs_per_consumer_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/scenario_stubs_per_consumer_3.png -------------------------------------------------------------------------------- /docs/images/scenario_stubs_per_consumer_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/docs/images/scenario_stubs_per_consumer_4.png -------------------------------------------------------------------------------- /docs/tutorials/snippets/consumer_implementation_2.adoc: -------------------------------------------------------------------------------- 1 | ==== Playing with the HTTP contracts 2 | 3 | include::playing_with_http_contracts.adoc[] 4 | 5 | ==== Writing the missing consumer messaging implementation 6 | 7 | include::consumer_messaging_implementation.adoc[] 8 | 9 | ==== Turning on Stub Runner in messaging consumer tests 10 | 11 | include::stub_runner_messaging.adoc[] -------------------------------------------------------------------------------- /docs/tutorials/snippets/producer_flow.adoc: -------------------------------------------------------------------------------- 1 | include::producer_ide_setup.adoc[] 2 | 3 | include::setting_plugin_on_producer.adoc[] 4 | include::package_with_base_classes.adoc[] -------------------------------------------------------------------------------- /docs/tutorials/snippets/producer_implementation.adoc: -------------------------------------------------------------------------------- 1 | include::producer_http_tests.adoc[] 2 | 3 | include::fixing_broken_messaging_tests.adoc[] -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 5 | networkTimeout=10000 6 | validateDistributionUrl=true 7 | zipStoreBase=GRADLE_USER_HOME 8 | zipStorePath=wrapper/dists 9 | -------------------------------------------------------------------------------- /producer/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer/src/main/java/com/example/intoxication/NoOpResponseProvider.java: -------------------------------------------------------------------------------- 1 | package com.example.intoxication; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | /** 6 | * @author Marcin Grzejszczak 7 | */ 8 | @Service 9 | class NoOpResponseProvider implements ResponseProvider { 10 | @Override public Response thereYouGo(Customer personToCheck) { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /producer_advanced/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_advanced/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_advanced/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_advanced/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_advanced/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_advanced/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_advanced/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_advanced/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_advanced/src/main/java/com/example/StoutController.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | /** 7 | * @author Marcin Grzejszczak 8 | */ 9 | @RestController 10 | class StoutController { 11 | 12 | @GetMapping("/stout") 13 | String stout() { 14 | return "STOUT"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /producer_advanced/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | server.port: ${PORT:8080} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_advanced/src/test/resources/contracts/beer/rest/shouldReturnStout.groovy: -------------------------------------------------------------------------------- 1 | package contracts.beer.rest 2 | 3 | import org.springframework.cloud.contract.spec.Contract 4 | 5 | Contract.make { 6 | request { 7 | method GET() 8 | url '/stout' 9 | } 10 | response { 11 | status 200 12 | body("STOUT") 13 | headers { 14 | contentType(textPlain()) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /producer_camel/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_camel/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_camel/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_camel/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_camel/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_camel/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_camel/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_camel/src/main/resources/application.properties -------------------------------------------------------------------------------- /producer_camel/src/test/java/com/example/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.demo; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | import org.springframework.test.annotation.DirtiesContext; 6 | 7 | @SpringBootTest 8 | @DirtiesContext 9 | public class DemoApplicationTests { 10 | 11 | @Test 12 | public void contextLoads() { 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /producer_camel/src/test/resources/contracts/should_send_a_negative_verification.yml: -------------------------------------------------------------------------------- 1 | label: negative 2 | input: 3 | triggeredBy: "triggerMessage(17)" 4 | outputMessage: 5 | sentTo: "seda:verifications" 6 | body: 7 | eligible: false 8 | headers: 9 | contentType: application/json 10 | -------------------------------------------------------------------------------- /producer_graphql/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_graphql/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_graphql/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_graphql/README.adoc: -------------------------------------------------------------------------------- 1 | = Examples 2 | 3 | .GraphQL query 4 | ```graphql 5 | query queryName($personName: String!) { 6 | personToCheck(name: $personName) { 7 | name 8 | age 9 | } 10 | } 11 | ``` 12 | 13 | .variables 14 | ```json 15 | { 16 | "personName" : "Old Enough" 17 | } 18 | ``` 19 | 20 | .json 21 | ``` 22 | 23 | ``` -------------------------------------------------------------------------------- /producer_graphql/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_graphql/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_graphql/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_graphql/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_graphql/src/main/java/com/example/PersonToCheck.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | public class PersonToCheck { 4 | private String name; 5 | private int age; 6 | 7 | public PersonToCheck(String name, int age) { 8 | this.name = name; 9 | this.age = age; 10 | } 11 | 12 | public String getName() { 13 | return name; 14 | } 15 | 16 | public int getAge() { 17 | return age; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /producer_graphql/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_graphql/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8000 3 | 4 | spring: 5 | application: 6 | name: graphql-java-example 7 | -------------------------------------------------------------------------------- /producer_graphql/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /producer_grpc/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_grpc/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_grpc/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_grpc/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_grpc/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_grpc/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_grpc/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_grpc/src/main/bash/generate_proto.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o pipefail 6 | 7 | ./src/main/bash/download_protoc.sh 8 | 9 | echo "Generating proto files" 10 | mkdir -p target/generated-sources/java 11 | target/protoc/bin/protoc --java_out=target/generated/source/proto/main/java src/main/proto/beer.proto 12 | echo "Proto files generated!" -------------------------------------------------------------------------------- /producer_grpc/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | grpc.server.port=8008 2 | logging.level.net.devh.boot.grpc=DEBUG 3 | logging.level.io.grpc=DEBUG -------------------------------------------------------------------------------- /producer_grpc/src/test/java/com/example/ProducerApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | class ProducerApplicationTests { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /producer_grpc/src/test/resources/contracts/beer/rest/PersonToCheck_old_enough.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_grpc/src/test/resources/contracts/beer/rest/PersonToCheck_too_young.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_grpc/src/test/resources/contracts/beer/rest/Response_old_enough.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_grpc/src/test/resources/contracts/beer/rest/Response_too_young.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /producer_java/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_java/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_java/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_java/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_java/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | 8 | public class ProducerApplication { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(ProducerApplication.class, args); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_java/src/main/java/com/example/intoxication/NoOpResponseProvider.java: -------------------------------------------------------------------------------- 1 | package com.example.intoxication; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | /** 6 | * @author Marcin Grzejszczak 7 | */ 8 | @Service 9 | class NoOpResponseProvider implements ResponseProvider { 10 | @Override public Response thereYouGo(Customer personToCheck) { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_java/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_java/src/test/java/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /producer_jaxrs/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_jaxrs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jaxrs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_jaxrs/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_jaxrs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jaxrs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_jaxrs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_jaxrs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /producer_jaxrs/src/test/java/com/example/beerapiproducerjaxrs/ProducerWithJaxRsApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.beerapiproducerjaxrs; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class ProducerWithJaxRsApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /producer_jaxrs/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } 4 | -------------------------------------------------------------------------------- /producer_jaxrs_spring/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_jaxrs_spring/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jaxrs_spring/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_jaxrs_spring/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_jaxrs_spring/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jaxrs_spring/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_jaxrs_spring/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_jaxrs_spring/src/main/java/com/example/beerapiproducerjaxrs/PersonCheckingService.java: -------------------------------------------------------------------------------- 1 | package com.example.beerapiproducerjaxrs; 2 | 3 | import com.example.beerapiproducerjaxrs.model.FraudCheck; 4 | 5 | public interface PersonCheckingService { 6 | Boolean shouldGetBeer(FraudCheck fraudCheck); 7 | } -------------------------------------------------------------------------------- /producer_jaxrs_spring/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /producer_jaxrs_spring/src/test/java/com/example/beerapiproducerjaxrs/ProducerWithJaxRsApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.beerapiproducerjaxrs; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | public class ProducerWithJaxRsApplicationTests { 9 | 10 | @Test 11 | public void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /producer_jaxrs_spring/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } 4 | -------------------------------------------------------------------------------- /producer_jms_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle 23 | *.log 24 | *.log.* 25 | -------------------------------------------------------------------------------- /producer_jms_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jms_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_jms_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_jms_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jms_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_jms_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_jms_middleware/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.org.springframework.cloud.contract=debug 2 | spring.activemq.in-memory=false 3 | -------------------------------------------------------------------------------- /producer_jms_middleware/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_jms_middleware/src/test/resources/application-test.properties -------------------------------------------------------------------------------- /producer_jms_middleware/src/test/resources/contracts/shouldSendFoo.groovy: -------------------------------------------------------------------------------- 1 | import org.springframework.cloud.contract.spec.Contract 2 | 3 | Contract.make { 4 | label("trigger") 5 | input { 6 | triggeredBy("trigger()") 7 | } 8 | outputMessage { 9 | sentTo("DEV.QUEUE.1") 10 | headers { 11 | header("hello", "world") 12 | } 13 | body([ 14 | foo: "example" 15 | ]) 16 | } 17 | } -------------------------------------------------------------------------------- /producer_kafka_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_kafka_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kafka_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_kafka_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_kafka_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kafka_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_kafka_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_kafka_middleware/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | producer: 4 | value-serializer: org.springframework.kafka.support.serializer.JsonSerializer 5 | logging.level.org.springframework.cloud.contract: debug -------------------------------------------------------------------------------- /producer_kafka_middleware/src/test/resources/application-test.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | consumer: 4 | properties: 5 | "key.serializer": "org.springframework.kafka.support.serializer.JsonSerializer" 6 | "key.deserializer": "org.springframework.kafka.support.serializer.JsonDeserializer" 7 | group-id: groupId -------------------------------------------------------------------------------- /producer_kafka_middleware/src/test/resources/contracts/shouldSendFoo.groovy: -------------------------------------------------------------------------------- 1 | import org.springframework.cloud.contract.spec.Contract 2 | 3 | Contract.make { 4 | label("trigger") 5 | input { 6 | triggeredBy("trigger()") 7 | } 8 | outputMessage { 9 | sentTo("topic1") 10 | body([ 11 | foo: "example" 12 | ]) 13 | } 14 | } -------------------------------------------------------------------------------- /producer_kotlin/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | 5 | ### STS ### 6 | .apt_generated 7 | .classpath 8 | .factorypath 9 | .project 10 | .settings 11 | .springBeans 12 | .sts4-cache 13 | 14 | ### IntelliJ IDEA ### 15 | .idea 16 | *.iws 17 | *.iml 18 | *.ipr 19 | /out/ 20 | 21 | ### NetBeans ### 22 | /nbproject/private/ 23 | /nbbuild/ 24 | /dist/ 25 | /nbdist/ 26 | /.nb-gradle/ 27 | -------------------------------------------------------------------------------- /producer_kotlin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_kotlin/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | kotlinVersion=1.8.22 6 | -------------------------------------------------------------------------------- /producer_kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_kotlin/src/main/kotlin/com/example/ProducerApplication.kt: -------------------------------------------------------------------------------- 1 | package com.example 2 | 3 | import org.springframework.boot.SpringApplication 4 | import org.springframework.boot.autoconfigure.SpringBootApplication 5 | 6 | @SpringBootApplication 7 | open class ProducerApplication 8 | 9 | fun main(args: Array) { 10 | SpringApplication.run(ProducerApplication::class.java, *args) 11 | } -------------------------------------------------------------------------------- /producer_kotlin/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_kotlin/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /producer_kotlin_ftw/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /producer_kotlin_ftw/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin_ftw/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_kotlin_ftw/README.adoc: -------------------------------------------------------------------------------- 1 | = Http Server 2 | 3 | Run 4 | 5 | [source=groovy] 6 | -------- 7 | ./gradlew clean build publishToMavenLocal 8 | -------- 9 | 10 | or 11 | 12 | -------- 13 | ./mvnw clean install 14 | -------- 15 | 16 | To 17 | 18 | - build the app 19 | - generate and run Spring Cloud Contract Verifier tests 20 | - publish the fatJar and the stubs to Maven Local -------------------------------------------------------------------------------- /producer_kotlin_ftw/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | BOM_VERSION=2023.0.3-SNAPSHOT 4 | bootVersion=3.3.4 5 | -------------------------------------------------------------------------------- /producer_kotlin_ftw/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin_ftw/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_kotlin_ftw/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_kotlin_ftw/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port=0 -------------------------------------------------------------------------------- /producer_kotlin_ftw/src/test/resources/contracts/binary/request.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin_ftw/src/test/resources/contracts/binary/request.pdf -------------------------------------------------------------------------------- /producer_kotlin_ftw/src/test/resources/contracts/binary/response.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_kotlin_ftw/src/test/resources/contracts/binary/response.pdf -------------------------------------------------------------------------------- /producer_kotlin_ftw/src/test/resources/contracts/multipart/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "test" 3 | } 4 | -------------------------------------------------------------------------------- /producer_proto/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_proto/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_proto/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_proto/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_proto/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_proto/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_proto/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_proto/src/main/bash/generate_proto.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o pipefail 6 | 7 | ./src/main/bash/download_protoc.sh 8 | 9 | echo "Generating proto files" 10 | mkdir -p target/generated-sources/java 11 | target/protoc/bin/protoc --java_out=target/generated-sources/java src/main/resources/proto/beer.proto 12 | echo "Proto files generated!" -------------------------------------------------------------------------------- /producer_proto/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_proto/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_proto/src/main/resources/proto/beer.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package beer; 3 | option java_package = "com.example"; 4 | option java_outer_classname = "Beer"; 5 | 6 | message PersonToCheck { 7 | int32 age = 1; 8 | } 9 | 10 | message Response { 11 | enum BeerCheckStatus { 12 | NOT_OK = 0; 13 | OK = 1; 14 | } 15 | 16 | BeerCheckStatus status = 1; 17 | } -------------------------------------------------------------------------------- /producer_proto/src/test/resources/contracts/beer/rest/PersonToCheck_old_enough.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_proto/src/test/resources/contracts/beer/rest/PersonToCheck_too_young.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_proto/src/test/resources/contracts/beer/rest/Response_old_enough.bin: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /producer_proto/src/test/resources/contracts/beer/rest/Response_too_young.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_proto/src/test/resources/contracts/beer/rest/Response_too_young.bin -------------------------------------------------------------------------------- /producer_rabbit_middleware/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_rabbit_middleware/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_rabbit_middleware/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_rabbit_middleware/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_rabbit_middleware/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_rabbit_middleware/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_rabbit_middleware/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_rabbit_middleware/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | kafka: 3 | producer: 4 | value-serializer: org.springframework.kafka.support.serializer.JsonSerializer 5 | logging.level.org.springframework.cloud.contract: debug -------------------------------------------------------------------------------- /producer_rabbit_middleware/src/test/resources/application-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_rabbit_middleware/src/test/resources/application-test.yml -------------------------------------------------------------------------------- /producer_rabbit_middleware/src/test/resources/contracts/shouldSendFoo.groovy: -------------------------------------------------------------------------------- 1 | import org.springframework.cloud.contract.spec.Contract 2 | 3 | Contract.make { 4 | label("trigger") 5 | input { 6 | triggeredBy("trigger()") 7 | } 8 | outputMessage { 9 | sentTo("topic1") 10 | headers { 11 | header("amqp_receivedRoutingKey", "#") 12 | } 13 | body([ 14 | foo: "example" 15 | ]) 16 | } 17 | } -------------------------------------------------------------------------------- /producer_router_function/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_router_function/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_router_function/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_router_function/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_router_function/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_router_function/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_router_function/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_router_function/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_router_function/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_security/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_security/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_security/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_security/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | springSecurityJwtVersion=1.0.10.RELEASE 6 | springSecurityOauth2Version=2.3.5.RELEASE 7 | springSecurityOauth2AutoconfigureVersion=2.1.4.RELEASE 8 | -------------------------------------------------------------------------------- /producer_security/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_security/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_security/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_security/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /producer_security/src/main/java/com/example/rest/BeerCheckStatus.java: -------------------------------------------------------------------------------- 1 | package com.example.rest; 2 | 3 | public enum BeerCheckStatus { 4 | 5 | OK, NOT_OK 6 | 7 | } 8 | -------------------------------------------------------------------------------- /producer_security/src/main/java/com/example/rest/Response.java: -------------------------------------------------------------------------------- 1 | package com.example.rest; 2 | 3 | public class Response { 4 | 5 | public BeerCheckStatus status; 6 | 7 | Response(BeerCheckStatus status) { 8 | this.status = status; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /producer_testng/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_testng/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_testng/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_testng/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_testng/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_testng/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_testng/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_testng/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_testng/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_webflux/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_webflux/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_webflux/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_webflux/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_webflux/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_webflux_security/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux_security/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux_security/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | kotlinVersion=1.8.22 6 | -------------------------------------------------------------------------------- /producer_webflux_security/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux_security/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux_security/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_webflux_security/keygen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | keytool -dname "cn=Unknown, ou=Unknown, o=Unknown, c=Unknown" -genkeypair -alias mytest -keyalg RSA -keysize 2048 -validity 10000 -keypass mypass -keystore mytest.jks -storepass mypass || echo "Exception occurred" 4 | keytool -list -rfc --keystore mytest.jks -storepass mypass | openssl x509 -inform pem -pubkey 5 | -------------------------------------------------------------------------------- /producer_webflux_security/src/main/kotlin/com/ideabaker/samples/scc/security/securedproducerwebflux/model/UserInfo.kt: -------------------------------------------------------------------------------- 1 | package com.ideabaker.samples.scc.security.securedproducerwebflux.model 2 | 3 | data class UserInfo(val userId: String, val name: String, val username: String?) -------------------------------------------------------------------------------- /producer_webflux_security/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /producer_webflux_webtestclient/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_webflux_webtestclient/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux_webtestclient/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux_webtestclient/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_webflux_webtestclient/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_webflux_webtestclient/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_webflux_webtestclient/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_webflux_webtestclient/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle 23 | node_modules 24 | package-lock.json 25 | node -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_dsl_restdocs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_dsl_restdocs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/npm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd $(dirname $0) 3 | PATH="$PWD/node/":$PATH 4 | node "node/node_modules/npm/bin/npm-cli.js" "$@" -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/main/java/com/example/intoxication/NoOpResponseProvider.java: -------------------------------------------------------------------------------- 1 | package com.example.intoxication; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | /** 6 | * @author Marcin Grzejszczak 7 | */ 8 | @Service 9 | class NoOpResponseProvider implements ResponseProvider { 10 | @Override public Response thereYouGo(Customer personToCheck) { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/bash/linux/swaggymnia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_dsl_restdocs/src/test/bash/linux/swaggymnia -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/bash/osx/swaggymnia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_dsl_restdocs/src/test/bash/osx/swaggymnia -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/swagger/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "title" : "REST Docs to Swagger example", 3 | "version" : "0.1", 4 | "host" : "localhost:3000/https://172.17.0.1:8080", 5 | "basePath" : "", 6 | "schemes" : "http", 7 | "description" : "An example of how to transform the output of Spring REST Docs to Swagger" 8 | } -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/swagger/replacements.json: -------------------------------------------------------------------------------- 1 | { 2 | "host": { 3 | "before": "http://localhost:8080", 4 | "after": "" 5 | } 6 | } -------------------------------------------------------------------------------- /producer_with_dsl_restdocs/src/test/swagger/swagger-codegen-cli-2.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_dsl_restdocs/src/test/swagger/swagger-codegen-cli-2.2.1.jar -------------------------------------------------------------------------------- /producer_with_empty_git/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_empty_git/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_empty_git/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_empty_git/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_empty_git/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_empty_git/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_empty_git/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_empty_git/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_external_contracts/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_external_contracts/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_external_contracts/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_external_contracts/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_external_contracts/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_external_contracts/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_external_contracts/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_external_contracts/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_git/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_git/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_git/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_git/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_git/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_git/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_git/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_git/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | 8 | public class ProducerApplication { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(ProducerApplication.class, args); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_with_git/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_latest_2_2_features/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_latest_2_2_features/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | server.port: ${PORT:8080} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug 7 | -------------------------------------------------------------------------------- /producer_with_restdocs/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_restdocs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_restdocs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_restdocs/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_restdocs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_restdocs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_restdocs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_restdocs/src/main/java/com/example/model/BeerCheckStatus.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public enum BeerCheckStatus { 4 | OK, NOT_OK 5 | } -------------------------------------------------------------------------------- /producer_with_restdocs/src/main/java/com/example/model/PersonToCheck.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public class PersonToCheck { 4 | public int age; 5 | 6 | public PersonToCheck(int age) { 7 | this.age = age; 8 | } 9 | 10 | public PersonToCheck() { 11 | } 12 | } 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /producer_with_restdocs/src/main/java/com/example/model/Response.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public class Response { 4 | public BeerCheckStatus status; 5 | 6 | public Response(BeerCheckStatus status) { 7 | this.status = status; 8 | } 9 | } -------------------------------------------------------------------------------- /producer_with_restdocs/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_spock/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_spock/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_spock/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_spock/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon = false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | spockVersion=2.2-M1-groovy-4.0 6 | -------------------------------------------------------------------------------- /producer_with_spock/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_spock/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_spock/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_spock/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_with_spock/src/main/java/com/example/intoxication/NoOpResponseProvider.java: -------------------------------------------------------------------------------- 1 | package com.example.intoxication; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | /** 6 | * @author Marcin Grzejszczak 7 | */ 8 | @Service 9 | class NoOpResponseProvider implements ResponseProvider { 10 | @Override public Response thereYouGo(Customer personToCheck) { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_with_spock/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug 11 | -------------------------------------------------------------------------------- /producer_with_spock/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_stubs_per_consumer/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/src/test/resources/contracts/bar-consumer/rest/shouldReturnOkForBar.yml: -------------------------------------------------------------------------------- 1 | description: | 2 | Represents a scenario of sending request to /bar 3 | request: 4 | method: GET 5 | url: /bar 6 | response: 7 | status: 200 8 | body: "OK" -------------------------------------------------------------------------------- /producer_with_stubs_per_consumer/src/test/resources/contracts/foo-consumer/rest/shouldReturnOkForFoo.yml: -------------------------------------------------------------------------------- 1 | description: | 2 | Represents a scenario of sending request to /foo 3 | request: 4 | method: GET 5 | url: /foo 6 | response: 7 | status: 200 8 | body: "OK" -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_webtestclient_restdocs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_webtestclient_restdocs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/src/main/java/com/example/model/BeerCheckStatus.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public enum BeerCheckStatus { 4 | OK, NOT_OK 5 | } -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/src/main/java/com/example/model/PersonToCheck.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public class PersonToCheck { 4 | public int age; 5 | 6 | public PersonToCheck(int age) { 7 | this.age = age; 8 | } 9 | 10 | public PersonToCheck() { 11 | } 12 | } 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/src/main/java/com/example/model/Response.java: -------------------------------------------------------------------------------- 1 | package com.example.model; 2 | 3 | public class Response { 4 | public BeerCheckStatus status; 5 | 6 | public Response(BeerCheckStatus status) { 7 | this.status = status; 8 | } 9 | } -------------------------------------------------------------------------------- /producer_with_webtestclient_restdocs/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | 5 | destination: verifications 6 | 7 | server.port: ${PORT:8080} 8 | logging: 9 | level: 10 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_with_xml/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_with_xml/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_xml/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_with_xml/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | jacksonVersion=2.9.8 6 | -------------------------------------------------------------------------------- /producer_with_xml/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_with_xml/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_with_xml/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_with_xml/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /producer_with_xml/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer-xml 3 | server.port: ${PORT:8080} 4 | logging: 5 | level: 6 | org.springframework.cloud: debug 7 | -------------------------------------------------------------------------------- /producer_yaml/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | #* 3 | *# 4 | .#* 5 | .classpath 6 | .project 7 | .settings/ 8 | .springBeans 9 | target/ 10 | _site/ 11 | .idea 12 | *.iml 13 | *.swp 14 | .factorypath 15 | *.logtjmeter 16 | .checkstyle 17 | *.log 18 | .DS_Store 19 | /spring-cloud-sleuth-core/nb-configuration.xml 20 | /spring-cloud-sleuth-core/nbactions.xml 21 | build/ 22 | .gradle -------------------------------------------------------------------------------- /producer_yaml/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_yaml/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /producer_yaml/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.1.4-SNAPSHOT 3 | bootVersion=3.3.4 4 | BOM_VERSION=2023.0.3-SNAPSHOT 5 | -------------------------------------------------------------------------------- /producer_yaml/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/producer_yaml/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /producer_yaml/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /producer_yaml/src/main/java/com/example/ProducerApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ProducerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ProducerApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /producer_yaml/src/main/java/com/example/intoxication/NoOpResponseProvider.java: -------------------------------------------------------------------------------- 1 | package com.example.intoxication; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | /** 6 | * @author Marcin Grzejszczak 7 | */ 8 | @Service 9 | class NoOpResponseProvider implements ResponseProvider { 10 | @Override public Response thereYouGo(Customer personToCheck) { 11 | return null; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /producer_yaml/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application.name: beer-api-producer 3 | cloud.stream.bindings.output-out-0: 4 | content-type: application/json 5 | 6 | destination: verifications 7 | 8 | server.port: ${PORT:8080} 9 | logging: 10 | level: 11 | org.springframework.cloud: debug -------------------------------------------------------------------------------- /producer_yaml/src/test/resources/contracts/beer/rest/response.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "OK" 3 | } 4 | -------------------------------------------------------------------------------- /scripts/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o nounset 6 | set -o pipefail 7 | 8 | export ROOT=`pwd` 9 | 10 | function clean() { 11 | rm -rf ~/.m2/repository/com/example/ 12 | rm -rf "${ROOT}"/target/ 13 | rm -rf ~/.gradle/caches/modules-2/files-2.1/com.example/ 14 | } 15 | 16 | clean 17 | -------------------------------------------------------------------------------- /scripts/runDocsBuilds.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o nounset 6 | set -o pipefail 7 | 8 | export ROOT=${ROOT:-`pwd`} 9 | export SKIP_COMPATIBILITY="true" 10 | export SKIP_BUILD="true" 11 | export SKIP_DOCS="false" 12 | export CI="false" 13 | 14 | ${ROOT}/scripts/runAcceptanceTests.sh -------------------------------------------------------------------------------- /scripts/updateMavenWrappers.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | set -o errexit 4 | set -o errtrace 5 | set -o nounset 6 | set -o pipefail 7 | 8 | export MAVEN_WRAPPER_VERSION="${MAVEN_WRAPPER_VERSION:-3.9.4}" 9 | 10 | for d in */; do 11 | echo "$d" && cd "$d" && (mvn wrapper:wrapper -Dmaven="${MAVEN_WRAPPER_VERSION}" || echo "Failed") && cd .. 12 | done 13 | -------------------------------------------------------------------------------- /standalone/contracts/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/contracts/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/contracts/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip -------------------------------------------------------------------------------- /standalone/dsl/http-client/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/dsl/http-client/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-client/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/dsl/http-client/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | springCloudStreamVersion=4.3.1-SNAPSHOT 4 | bootVersion=3.3.4 5 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/dsl/http-client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port: 8090 2 | spring: 3 | cloud: 4 | function: 5 | definition: listener 6 | stream: 7 | bindings.listener-in-0.destination: sensor_data -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/test/resources/application-gradle.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | stubs-mode: local 3 | stubs.ids: 'com.example:http-server-dsl-gradle:+:stubs:6565' 4 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/test/resources/application-test-repo.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | ids: 'com.example:http-server-dsl:+:stubs:8080' 3 | repositoryRoot: https://repo.spring.io/libs-snapshot 4 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/test/resources/application.yaml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 6565 3 | logging: 4 | level: 5 | org.springframework.cloud.contract: debug 6 | -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/test/resources/binary/request.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-client/src/test/resources/binary/request.pdf -------------------------------------------------------------------------------- /standalone/dsl/http-client/src/test/resources/binary/response.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-client/src/test/resources/binary/response.pdf -------------------------------------------------------------------------------- /standalone/dsl/http-server/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /standalone/dsl/http-server/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/dsl/http-server/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/dsl/http-server/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-server/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/dsl/http-server/README.adoc: -------------------------------------------------------------------------------- 1 | = Http Server 2 | 3 | Run 4 | 5 | [source=groovy] 6 | -------- 7 | ./gradlew clean build publishToMavenLocal 8 | -------- 9 | 10 | or 11 | 12 | -------- 13 | ./mvnw clean install 14 | -------- 15 | 16 | To 17 | 18 | - build the app 19 | - generate and run Spring Cloud Contract Verifier tests 20 | - publish the fatJar and the stubs to Maven Local -------------------------------------------------------------------------------- /standalone/dsl/http-server/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | springCloudStreamVersion=4.3.1-SNAPSHOT 4 | bootVersion=3.3.4 -------------------------------------------------------------------------------- /standalone/dsl/http-server/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-server/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/dsl/http-server/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.function.definition=my_output;sensor_data 2 | spring.cloud.stream.bindings.sensor_data-out-0.destination=sensor_data 3 | spring.cloud.stream.bindings.my_output-out-0.contentType=application/octet-stream 4 | spring.cloud.stream.bindings.my_output-out-0.destination=bytes_output 5 | server.port=0 6 | -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/binary/request.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-server/src/test/resources/contracts/binary/request.pdf -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/binary/response.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-server/src/test/resources/contracts/binary/response.pdf -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/messaging/output.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/dsl/http-server/src/test/resources/contracts/messaging/output.pdf -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/messaging/shouldReturnOkWhenServiceIsHealthy.yml: -------------------------------------------------------------------------------- 1 | description: Should return 200 for /foo 2 | request: 3 | url: /foo 4 | method: GET 5 | response: 6 | status: 200 -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/multipart/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "test" 3 | } 4 | -------------------------------------------------------------------------------- /standalone/dsl/http-server/src/test/resources/contracts/test/request.json: -------------------------------------------------------------------------------- 1 | { "hello" : "world" } -------------------------------------------------------------------------------- /standalone/restdocs/http-client/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | /.apt_generated/ 8 | -------------------------------------------------------------------------------- /standalone/restdocs/http-client/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/restdocs/http-client/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/restdocs/http-client/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/restdocs/http-client/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/restdocs/http-client/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | springCloudStreamVersion=4.3.1-SNAPSHOT 4 | bootVersion=3.3.4 -------------------------------------------------------------------------------- /standalone/restdocs/http-client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/restdocs/http-client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/restdocs/http-client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /standalone/restdocs/http-client/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'http-client-restdocs-gradle' 2 | -------------------------------------------------------------------------------- /standalone/restdocs/http-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port: 8097 2 | logging: 3 | level: 4 | org.springframework.cloud.contract.wiremock: debug 5 | org.springframework.web.client: debug 6 | com.github.tomakehurst.wiremock: trace -------------------------------------------------------------------------------- /standalone/restdocs/http-client/src/test/resources/application-gradle.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | stubs.ids: 'com.example:http-server-restdocs-gradle' 3 | -------------------------------------------------------------------------------- /standalone/restdocs/http-server/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /standalone/restdocs/http-server/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/restdocs/http-server/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/restdocs/http-server/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/restdocs/http-server/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/restdocs/http-server/README.adoc: -------------------------------------------------------------------------------- 1 | = Http Server 2 | 3 | Run 4 | 5 | [source=groovy] 6 | -------- 7 | ./gradlew clean build publishToMavenLocal 8 | -------- 9 | 10 | or 11 | 12 | -------- 13 | ./mvnw clean install 14 | -------- 15 | 16 | To 17 | 18 | - build the app 19 | - generate and run Spring Cloud Contract Verifier tests 20 | - publish the fatJar and the stubs to Maven Local -------------------------------------------------------------------------------- /standalone/restdocs/http-server/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /standalone/restdocs/http-server/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/restdocs/http-server/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/restdocs/http-server/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /standalone/restdocs/http-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/restdocs/http-server/src/main/resources/application.yml -------------------------------------------------------------------------------- /standalone/webclient/http-client/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | /.apt_generated/ 8 | -------------------------------------------------------------------------------- /standalone/webclient/http-client/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/webclient/http-client/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/webclient/http-client/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/webclient/http-client/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/webclient/http-client/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | bootVersion=3.3.4 4 | -------------------------------------------------------------------------------- /standalone/webclient/http-client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/webclient/http-client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/webclient/http-client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /standalone/webclient/http-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port: 8097 2 | logging: 3 | level: 4 | org.springframework.web.client: debug 5 | com.github.tomakehurst.wiremock: trace -------------------------------------------------------------------------------- /standalone/webclient/http-client/src/test/resources/application-gradle.yaml: -------------------------------------------------------------------------------- 1 | stubrunner: 2 | stubs.ids: 'com.example:http-server-webclient' 3 | -------------------------------------------------------------------------------- /standalone/webclient/http-server/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target/ 3 | 4 | .gradle 5 | build/ 6 | 7 | -------------------------------------------------------------------------------- /standalone/webclient/http-server/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 -Djava.security.egd=file:/dev/./urandom -------------------------------------------------------------------------------- /standalone/webclient/http-server/.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -P spring 2 | -------------------------------------------------------------------------------- /standalone/webclient/http-server/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/webclient/http-server/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /standalone/webclient/http-server/README.adoc: -------------------------------------------------------------------------------- 1 | = Http Server 2 | 3 | Run 4 | 5 | [source=groovy] 6 | -------- 7 | ./gradlew clean build publishToMavenLocal 8 | -------- 9 | 10 | or 11 | 12 | -------- 13 | ./mvnw clean install 14 | -------- 15 | 16 | To 17 | 18 | - build the app 19 | - generate and run Spring Cloud Contract Verifier tests 20 | - publish the fatJar and the stubs to Maven Local -------------------------------------------------------------------------------- /standalone/webclient/http-server/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=false 2 | verifierVersion=4.2.0-SNAPSHOT 3 | bootVersion=3.3.4 -------------------------------------------------------------------------------- /standalone/webclient/http-server/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/standalone/webclient/http-server/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /standalone/webclient/http-server/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /standalone/webclient/http-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server.port=0 -------------------------------------------------------------------------------- /wiremock-for-contract-docs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-for-contract-docs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock-for-contract-docs/README.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-for-contract-docs/README.adoc -------------------------------------------------------------------------------- /wiremock-for-contract-docs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=0 2 | -------------------------------------------------------------------------------- /wiremock-for-contract-docs/src/test/resources/application-classrule.yml: -------------------------------------------------------------------------------- 1 | app.baseUrl: http://localhost:9090 2 | -------------------------------------------------------------------------------- /wiremock-for-contract-docs/src/test/resources/application-docs.yml: -------------------------------------------------------------------------------- 1 | app.baseUrl: http://localhost:8080 2 | -------------------------------------------------------------------------------- /wiremock-for-contract-docs/src/test/resources/stubs/resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "request": { 3 | "urlPath": "/resource", 4 | "method": "GET" 5 | }, 6 | "response": { 7 | "status": 200, 8 | "body": "Hello World" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wiremock-native/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-native/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock-native/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wiremock-native/src/test/resources/stubs/resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "request": { 3 | "urlPath": "/resource", 4 | "method": "GET" 5 | }, 6 | "response": { 7 | "status": 200, 8 | "body": "Hello World" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wiremock-tomcat/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-tomcat/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock-tomcat/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wiremock-tomcat/src/test/resources/stubs/resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "request": { 3 | "urlPath": "/resource", 4 | "method": "GET" 5 | }, 6 | "response": { 7 | "status": 200, 8 | "body": "Hello World" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wiremock-undertow-ssl/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-undertow-ssl/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock-undertow-ssl/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #WireMock password - https://wiremock.org/docs/running-standalone/ 2 | server.ssl.key-store-password=password 3 | server.ssl.key-password=password 4 | server.ssl.trust-store-password=password 5 | server.port=-1 6 | -------------------------------------------------------------------------------- /wiremock-undertow-ssl/src/test/resources/stubs/resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "request": { 3 | "urlPath": "/resource", 4 | "method": "GET" 5 | }, 6 | "response": { 7 | "status": 200, 8 | "body": "Hello World" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wiremock-undertow/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock-undertow/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock-undertow/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=7070 2 | -------------------------------------------------------------------------------- /wiremock-undertow/src/test/resources/stubs/resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "request": { 3 | "urlPath": "/resource", 4 | "method": "GET" 5 | }, 6 | "response": { 7 | "status": 200, 8 | "body": "Hello World" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wiremock/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spring-cloud-samples/spring-cloud-contract-samples/435a549310e61fce964f1f24f9681490ca19a0bc/wiremock/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /wiremock/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=0 2 | --------------------------------------------------------------------------------