├── .gradle ├── 2.2 │ └── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin └── 2.3 │ └── taskArtifacts │ ├── cache.properties │ ├── cache.properties.lock │ ├── fileHashes.bin │ ├── fileSnapshots.bin │ ├── outputFileStates.bin │ └── taskArtifacts.bin ├── .idea ├── .name ├── artifacts │ ├── Gradle___BootCucumberTest___spring_boot_cucumber_test_0_0_1_SNAPSHOT_war.xml │ └── Gradle___BootCucumberTest___spring_boot_cucumber_test_0_0_1_SNAPSHOT_war__exploded_.xml ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── gradle.xml ├── libraries │ ├── Gradle__aopalliance_aopalliance_1_0.xml │ ├── Gradle__ch_qos_logback_logback_classic_1_1_3.xml │ ├── Gradle__ch_qos_logback_logback_core_1_1_3.xml │ ├── Gradle__com_fasterxml_classmate_1_0_0.xml │ ├── Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml │ ├── Gradle__com_fasterxml_jackson_core_jackson_core_2_4_6.xml │ ├── Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_6.xml │ ├── Gradle__commons_io_commons_io_2_4.xml │ ├── Gradle__info_cukes_cucumber_core_1_1_8.xml │ ├── Gradle__info_cukes_cucumber_html_0_2_3.xml │ ├── Gradle__info_cukes_cucumber_java_1_1_8.xml │ ├── Gradle__info_cukes_cucumber_junit_1_1_8.xml │ ├── Gradle__info_cukes_cucumber_jvm_deps_1_0_3.xml │ ├── Gradle__info_cukes_cucumber_spring_1_1_8.xml │ ├── Gradle__info_cukes_gherkin_2_12_2.xml │ ├── Gradle__javax_validation_validation_api_1_1_0_Final.xml │ ├── Gradle__junit_junit_4_12.xml │ ├── Gradle__org_apache_tomcat_embed_tomcat_embed_core_8_0_23.xml │ ├── Gradle__org_apache_tomcat_embed_tomcat_embed_el_8_0_23.xml │ ├── Gradle__org_apache_tomcat_embed_tomcat_embed_logging_juli_8_0_23.xml │ ├── Gradle__org_apache_tomcat_embed_tomcat_embed_websocket_8_0_23.xml │ ├── Gradle__org_hamcrest_hamcrest_core_1_3.xml │ ├── Gradle__org_hamcrest_hamcrest_library_1_3.xml │ ├── Gradle__org_hibernate_hibernate_validator_5_1_3_Final.xml │ ├── Gradle__org_jboss_logging_jboss_logging_3_1_3_GA.xml │ ├── Gradle__org_mockito_mockito_core_1_10_19.xml │ ├── Gradle__org_objenesis_objenesis_2_1.xml │ ├── Gradle__org_slf4j_jcl_over_slf4j_1_7_12.xml │ ├── Gradle__org_slf4j_jul_to_slf4j_1_7_12.xml │ ├── Gradle__org_slf4j_log4j_over_slf4j_1_7_12.xml │ ├── Gradle__org_slf4j_slf4j_api_1_7_12.xml │ ├── Gradle__org_springframework_boot_spring_boot_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_autoconfigure_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_starter_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_starter_logging_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_starter_test_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_starter_tomcat_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_boot_spring_boot_starter_web_1_2_4_RELEASE.xml │ ├── Gradle__org_springframework_spring_aop_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_beans_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_context_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_core_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_expression_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_test_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_web_4_1_6_RELEASE.xml │ ├── Gradle__org_springframework_spring_webmvc_4_1_6_RELEASE.xml │ └── Gradle__org_yaml_snakeyaml_1_14.xml ├── misc.xml ├── modules.xml ├── uiDesigner.xml └── vcs.xml ├── BootCucumberTest.iml ├── README.md ├── build.gradle ├── build ├── classes │ ├── main │ │ └── demo │ │ │ ├── AlertMessageListener.class │ │ │ ├── DemoApplication.class │ │ │ ├── Event.class │ │ │ ├── EventMessageConverter.class │ │ │ ├── PoopController.class │ │ │ ├── RabbitMQMessageProcessor.class │ │ │ └── VersionController.class │ └── test │ │ └── demo │ │ ├── AbstractDefs$1.class │ │ ├── AbstractDefs$ResponseResultErrorHandler.class │ │ ├── AbstractDefs.class │ │ ├── CucumberTest.class │ │ ├── HeaderSettingRequestCallback.class │ │ ├── OtherDefs.class │ │ ├── ResponseResults.class │ │ └── StepDefs.class ├── reports │ └── tests │ │ ├── classes │ │ ├── Scenario#3a#20client#20makes#20call#20to#20GET#20#2fpoop.html │ │ ├── Scenario#3a#20client#20makes#20call#20to#20GET#20#2fversion.html │ │ ├── demo.AbstractDefs.html │ │ ├── demo.CucumberTest.html │ │ ├── demo.OtherDefs.html │ │ └── demo.StepDefs.html │ │ ├── css │ │ ├── base-style.css │ │ └── style.css │ │ ├── index.html │ │ ├── js │ │ └── report.js │ │ └── packages │ │ ├── default-package.html │ │ └── demo.html ├── resources │ ├── main │ │ ├── application.yml │ │ └── messaging-context.xml │ └── test │ │ ├── poop.feature │ │ └── version.feature ├── test-results │ ├── TEST-Scenario#3a#20client#20makes#20call#20to#20GET#20#2fpoop.xml │ ├── TEST-Scenario#3a#20client#20makes#20call#20to#20GET#20#2fversion.xml │ ├── TEST-demo.AbstractDefs.xml │ ├── TEST-demo.CucumberTest.xml │ ├── TEST-demo.OtherDefs.xml │ ├── TEST-demo.StepDefs.xml │ └── binary │ │ └── test │ │ ├── output.bin │ │ ├── output.bin.idx │ │ └── results.bin └── tmp │ ├── test │ └── jar_extract_1621720805237330866_tmp │ └── war │ └── MANIFEST.MF ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── out └── artifacts │ └── BootCucumberTest │ └── exploded │ └── spring-boot-cucumber-test-0.0.1-SNAPSHOT.war │ └── META-INF │ └── MANIFEST.MF └── src ├── main ├── java │ └── demo │ │ ├── DemoApplication.java │ │ ├── PoopController.java │ │ └── VersionController.java └── resources │ └── application.yml └── test ├── java └── demo │ ├── AbstractDefs.java │ ├── CucumberTest.java │ ├── HeaderSettingRequestCallback.java │ ├── OtherDefs.java │ ├── ResponseResults.java │ └── StepDefs.java └── resources ├── poop.feature └── version.feature /.gradle/2.2/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Thu Jun 11 10:19:49 EDT 2015 2 | -------------------------------------------------------------------------------- /.gradle/2.2/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.2/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /.gradle/2.2/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.2/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /.gradle/2.2/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.2/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /.gradle/2.2/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.2/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /.gradle/2.2/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.2/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Thu Jun 11 10:20:41 EDT 2015 2 | -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.3/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.3/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.3/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.3/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /.gradle/2.3/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/.gradle/2.3/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | BootCucumberTest -------------------------------------------------------------------------------- /.idea/artifacts/Gradle___BootCucumberTest___spring_boot_cucumber_test_0_0_1_SNAPSHOT_war.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/out/artifacts/BootCucumberTest 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /.idea/artifacts/Gradle___BootCucumberTest___spring_boot_cucumber_test_0_0_1_SNAPSHOT_war__exploded_.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/out/artifacts/BootCucumberTest/exploded/spring-boot-cucumber-test-0.0.1-SNAPSHOT.war 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__aopalliance_aopalliance_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__ch_qos_logback_logback_core_1_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_fasterxml_classmate_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__commons_io_commons_io_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_core_1_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_html_0_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_java_1_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_junit_1_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_jvm_deps_1_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_cucumber_spring_1_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__info_cukes_gherkin_2_12_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_tomcat_embed_tomcat_embed_core_8_0_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_tomcat_embed_tomcat_embed_el_8_0_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_tomcat_embed_tomcat_embed_logging_juli_8_0_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_apache_tomcat_embed_tomcat_embed_websocket_8_0_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_hibernate_hibernate_validator_5_1_3_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_jboss_logging_jboss_logging_3_1_3_GA.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_mockito_mockito_core_1_10_19.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_objenesis_objenesis_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_jcl_over_slf4j_1_7_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_jul_to_slf4j_1_7_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_log4j_over_slf4j_1_7_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_autoconfigure_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_logging_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_test_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_tomcat_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_web_1_2_4_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_aop_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_beans_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_context_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_core_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_expression_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_test_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_web_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_springframework_spring_webmvc_4_1_6_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/Gradle__org_yaml_snakeyaml_1_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /BootCucumberTest.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | file://$MODULE_DIR$/src/main/resources/messaging-context.xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # spring-boot-cucumber-example 2 | 3 | This is a sample project that shows how to use Cucumber-JVM with Spring Boot. 4 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext { 3 | springBootVersion = '1.2.4.RELEASE' 4 | } 5 | repositories { 6 | mavenCentral() 7 | } 8 | dependencies { 9 | classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 10 | } 11 | } 12 | 13 | apply plugin: 'java' 14 | apply plugin: 'idea' 15 | apply plugin: 'spring-boot' 16 | apply plugin: 'war' 17 | 18 | 19 | war { 20 | baseName = 'spring-boot-cucumber-test' 21 | version = '0.0.1-SNAPSHOT' 22 | } 23 | sourceCompatibility = 1.7 24 | targetCompatibility = 1.7 25 | 26 | repositories { 27 | mavenCentral() 28 | } 29 | 30 | configurations { 31 | providedRuntime 32 | } 33 | 34 | dependencies { 35 | compile("org.springframework.boot:spring-boot-starter-web") 36 | 37 | testCompile ("org.springframework.boot:spring-boot-starter-test", 38 | "info.cukes:cucumber-jvm:1.1.8", 39 | "info.cukes:cucumber-core:1.1.8", 40 | "info.cukes:cucumber-java:1.1.8", 41 | "info.cukes:cucumber-junit:1.1.8", 42 | "info.cukes:cucumber-spring:1.1.8", 43 | 'commons-io:commons-io:2.4') 44 | 45 | providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 46 | } 47 | 48 | task wrapper(type: Wrapper) { 49 | gradleVersion = '2.3' 50 | } 51 | -------------------------------------------------------------------------------- /build/classes/main/demo/AlertMessageListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/AlertMessageListener.class -------------------------------------------------------------------------------- /build/classes/main/demo/DemoApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/DemoApplication.class -------------------------------------------------------------------------------- /build/classes/main/demo/Event.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/Event.class -------------------------------------------------------------------------------- /build/classes/main/demo/EventMessageConverter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/EventMessageConverter.class -------------------------------------------------------------------------------- /build/classes/main/demo/PoopController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/PoopController.class -------------------------------------------------------------------------------- /build/classes/main/demo/RabbitMQMessageProcessor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/RabbitMQMessageProcessor.class -------------------------------------------------------------------------------- /build/classes/main/demo/VersionController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/main/demo/VersionController.class -------------------------------------------------------------------------------- /build/classes/test/demo/AbstractDefs$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/AbstractDefs$1.class -------------------------------------------------------------------------------- /build/classes/test/demo/AbstractDefs$ResponseResultErrorHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/AbstractDefs$ResponseResultErrorHandler.class -------------------------------------------------------------------------------- /build/classes/test/demo/AbstractDefs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/AbstractDefs.class -------------------------------------------------------------------------------- /build/classes/test/demo/CucumberTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/CucumberTest.class -------------------------------------------------------------------------------- /build/classes/test/demo/HeaderSettingRequestCallback.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/HeaderSettingRequestCallback.class -------------------------------------------------------------------------------- /build/classes/test/demo/OtherDefs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/OtherDefs.class -------------------------------------------------------------------------------- /build/classes/test/demo/ResponseResults.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/ResponseResults.class -------------------------------------------------------------------------------- /build/classes/test/demo/StepDefs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/classes/test/demo/StepDefs.class -------------------------------------------------------------------------------- /build/reports/tests/classes/demo.AbstractDefs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Class demo.AbstractDefs 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Class demo.AbstractDefs

14 | 17 |
18 | 19 | 20 | 52 | 58 | 59 |
21 |
22 | 23 | 24 | 30 | 36 | 42 | 48 | 49 |
25 |
26 |
1
27 |

tests

28 |
29 |
31 |
32 |
1
33 |

failures

34 |
35 |
37 |
38 |
0
39 |

ignored

40 |
41 |
43 |
44 |
0.002s
45 |

duration

46 |
47 |
50 |
51 |
53 |
54 |
0%
55 |

successful

56 |
57 |
60 |
61 |
62 | 70 |
71 |

Failed tests

72 |
73 | 74 |

initializationError

75 | 76 |
java.lang.Exception: No runnable methods
 77 | 	at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
 78 | 	at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
 79 | 	at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
 80 | 	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
 81 | 	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
 82 | 	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111)
 83 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 84 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 85 | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 86 | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 87 | 	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
 88 | 	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
 89 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 90 | 	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
 91 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 92 | 	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
 93 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80)
 94 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
 95 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
 96 | 	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
 97 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 98 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 99 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
100 | 	at java.lang.reflect.Method.invoke(Method.java:606)
101 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
102 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
103 | 	at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
104 | 	at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
105 | 	at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
106 | 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
107 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
108 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
109 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
110 | 	at java.lang.reflect.Method.invoke(Method.java:606)
111 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
112 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
113 | 	at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
114 | 	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
115 | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
116 | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
117 | 	at java.lang.Thread.run(Thread.java:744)
118 | 
119 |
120 |
121 |
122 |
123 |

Tests

124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 |
TestDurationResult
initializationError0.002sfailed
138 |
139 |
140 | 149 |
150 | 151 | 152 | -------------------------------------------------------------------------------- /build/reports/tests/classes/demo.OtherDefs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Class demo.OtherDefs 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Class demo.OtherDefs

14 | 17 |
18 | 19 | 20 | 52 | 58 | 59 |
21 |
22 | 23 | 24 | 30 | 36 | 42 | 48 | 49 |
25 |
26 |
1
27 |

tests

28 |
29 |
31 |
32 |
1
33 |

failures

34 |
35 |
37 |
38 |
0
39 |

ignored

40 |
41 |
43 |
44 |
0.001s
45 |

duration

46 |
47 |
50 |
51 |
53 |
54 |
0%
55 |

successful

56 |
57 |
60 |
61 |
62 | 70 |
71 |

Failed tests

72 |
73 | 74 |

initializationError

75 | 76 |
java.lang.Exception: No runnable methods
 77 | 	at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
 78 | 	at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
 79 | 	at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
 80 | 	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
 81 | 	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
 82 | 	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111)
 83 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 84 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 85 | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 86 | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 87 | 	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
 88 | 	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
 89 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 90 | 	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
 91 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 92 | 	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
 93 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80)
 94 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
 95 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
 96 | 	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
 97 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 98 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 99 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
100 | 	at java.lang.reflect.Method.invoke(Method.java:606)
101 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
102 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
103 | 	at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
104 | 	at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
105 | 	at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
106 | 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
107 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
108 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
109 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
110 | 	at java.lang.reflect.Method.invoke(Method.java:606)
111 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
112 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
113 | 	at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
114 | 	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
115 | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
116 | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
117 | 	at java.lang.Thread.run(Thread.java:744)
118 | 
119 |
120 |
121 |
122 |
123 |

Tests

124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 |
TestDurationResult
initializationError0.001sfailed
138 |
139 |
140 | 149 |
150 | 151 | 152 | -------------------------------------------------------------------------------- /build/reports/tests/classes/demo.StepDefs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Class demo.StepDefs 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Class demo.StepDefs

14 | 17 |
18 | 19 | 20 | 52 | 58 | 59 |
21 |
22 | 23 | 24 | 30 | 36 | 42 | 48 | 49 |
25 |
26 |
1
27 |

tests

28 |
29 |
31 |
32 |
1
33 |

failures

34 |
35 |
37 |
38 |
0
39 |

ignored

40 |
41 |
43 |
44 |
0s
45 |

duration

46 |
47 |
50 |
51 |
53 |
54 |
0%
55 |

successful

56 |
57 |
60 |
61 |
62 | 70 |
71 |

Failed tests

72 |
73 | 74 |

initializationError

75 | 76 |
java.lang.Exception: No runnable methods
 77 | 	at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
 78 | 	at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
 79 | 	at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
 80 | 	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
 81 | 	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
 82 | 	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111)
 83 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 84 | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 85 | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 86 | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 87 | 	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
 88 | 	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
 89 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 90 | 	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
 91 | 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
 92 | 	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
 93 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80)
 94 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
 95 | 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
 96 | 	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
 97 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 98 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 99 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
100 | 	at java.lang.reflect.Method.invoke(Method.java:606)
101 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
102 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
103 | 	at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
104 | 	at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
105 | 	at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
106 | 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
107 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
108 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
109 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
110 | 	at java.lang.reflect.Method.invoke(Method.java:606)
111 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
112 | 	at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
113 | 	at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
114 | 	at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
115 | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
116 | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
117 | 	at java.lang.Thread.run(Thread.java:744)
118 | 
119 |
120 |
121 |
122 |
123 |

Tests

124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 |
TestDurationResult
initializationError0sfailed
138 |
139 |
140 | 149 |
150 | 151 | 152 | -------------------------------------------------------------------------------- /build/reports/tests/css/base-style.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | margin: 0; 4 | padding: 0; 5 | font-family: sans-serif; 6 | font-size: 12pt; 7 | } 8 | 9 | body, a, a:visited { 10 | color: #303030; 11 | } 12 | 13 | #content { 14 | padding-left: 50px; 15 | padding-right: 50px; 16 | padding-top: 30px; 17 | padding-bottom: 30px; 18 | } 19 | 20 | #content h1 { 21 | font-size: 160%; 22 | margin-bottom: 10px; 23 | } 24 | 25 | #footer { 26 | margin-top: 100px; 27 | font-size: 80%; 28 | white-space: nowrap; 29 | } 30 | 31 | #footer, #footer a { 32 | color: #a0a0a0; 33 | } 34 | 35 | #line-wrapping-toggle { 36 | vertical-align: middle; 37 | } 38 | 39 | #label-for-line-wrapping-toggle { 40 | vertical-align: middle; 41 | } 42 | 43 | ul { 44 | margin-left: 0; 45 | } 46 | 47 | h1, h2, h3 { 48 | white-space: nowrap; 49 | } 50 | 51 | h2 { 52 | font-size: 120%; 53 | } 54 | 55 | ul.tabLinks { 56 | padding-left: 0; 57 | padding-top: 10px; 58 | padding-bottom: 10px; 59 | overflow: auto; 60 | min-width: 800px; 61 | width: auto !important; 62 | width: 800px; 63 | } 64 | 65 | ul.tabLinks li { 66 | float: left; 67 | height: 100%; 68 | list-style: none; 69 | padding-left: 10px; 70 | padding-right: 10px; 71 | padding-top: 5px; 72 | padding-bottom: 5px; 73 | margin-bottom: 0; 74 | -moz-border-radius: 7px; 75 | border-radius: 7px; 76 | margin-right: 25px; 77 | border: solid 1px #d4d4d4; 78 | background-color: #f0f0f0; 79 | } 80 | 81 | ul.tabLinks li:hover { 82 | background-color: #fafafa; 83 | } 84 | 85 | ul.tabLinks li.selected { 86 | background-color: #c5f0f5; 87 | border-color: #c5f0f5; 88 | } 89 | 90 | ul.tabLinks a { 91 | font-size: 120%; 92 | display: block; 93 | outline: none; 94 | text-decoration: none; 95 | margin: 0; 96 | padding: 0; 97 | } 98 | 99 | ul.tabLinks li h2 { 100 | margin: 0; 101 | padding: 0; 102 | } 103 | 104 | div.tab { 105 | } 106 | 107 | div.selected { 108 | display: block; 109 | } 110 | 111 | div.deselected { 112 | display: none; 113 | } 114 | 115 | div.tab table { 116 | min-width: 350px; 117 | width: auto !important; 118 | width: 350px; 119 | border-collapse: collapse; 120 | } 121 | 122 | div.tab th, div.tab table { 123 | border-bottom: solid #d0d0d0 1px; 124 | } 125 | 126 | div.tab th { 127 | text-align: left; 128 | white-space: nowrap; 129 | padding-left: 6em; 130 | } 131 | 132 | div.tab th:first-child { 133 | padding-left: 0; 134 | } 135 | 136 | div.tab td { 137 | white-space: nowrap; 138 | padding-left: 6em; 139 | padding-top: 5px; 140 | padding-bottom: 5px; 141 | } 142 | 143 | div.tab td:first-child { 144 | padding-left: 0; 145 | } 146 | 147 | div.tab td.numeric, div.tab th.numeric { 148 | text-align: right; 149 | } 150 | 151 | span.code { 152 | display: inline-block; 153 | margin-top: 0em; 154 | margin-bottom: 1em; 155 | } 156 | 157 | span.code pre { 158 | font-size: 11pt; 159 | padding-top: 10px; 160 | padding-bottom: 10px; 161 | padding-left: 10px; 162 | padding-right: 10px; 163 | margin: 0; 164 | background-color: #f7f7f7; 165 | border: solid 1px #d0d0d0; 166 | min-width: 700px; 167 | width: auto !important; 168 | width: 700px; 169 | } 170 | 171 | span.wrapped pre { 172 | word-wrap: break-word; 173 | white-space: pre-wrap; 174 | word-break: break-all; 175 | } 176 | 177 | label.hidden { 178 | display: none; 179 | } -------------------------------------------------------------------------------- /build/reports/tests/css/style.css: -------------------------------------------------------------------------------- 1 | 2 | #summary { 3 | margin-top: 30px; 4 | margin-bottom: 40px; 5 | } 6 | 7 | #summary table { 8 | border-collapse: collapse; 9 | } 10 | 11 | #summary td { 12 | vertical-align: top; 13 | } 14 | 15 | .breadcrumbs, .breadcrumbs a { 16 | color: #606060; 17 | } 18 | 19 | .infoBox { 20 | width: 110px; 21 | padding-top: 15px; 22 | padding-bottom: 15px; 23 | text-align: center; 24 | } 25 | 26 | .infoBox p { 27 | margin: 0; 28 | } 29 | 30 | .counter, .percent { 31 | font-size: 120%; 32 | font-weight: bold; 33 | margin-bottom: 8px; 34 | } 35 | 36 | #duration { 37 | width: 125px; 38 | } 39 | 40 | #successRate, .summaryGroup { 41 | border: solid 2px #d0d0d0; 42 | -moz-border-radius: 10px; 43 | border-radius: 10px; 44 | } 45 | 46 | #successRate { 47 | width: 140px; 48 | margin-left: 35px; 49 | } 50 | 51 | #successRate .percent { 52 | font-size: 180%; 53 | } 54 | 55 | .success, .success a { 56 | color: #008000; 57 | } 58 | 59 | div.success, #successRate.success { 60 | background-color: #bbd9bb; 61 | border-color: #008000; 62 | } 63 | 64 | .failures, .failures a { 65 | color: #b60808; 66 | } 67 | 68 | .skipped, .skipped a { 69 | color: #c09853; 70 | } 71 | 72 | div.failures, #successRate.failures { 73 | background-color: #ecdada; 74 | border-color: #b60808; 75 | } 76 | 77 | ul.linkList { 78 | padding-left: 0; 79 | } 80 | 81 | ul.linkList li { 82 | list-style: none; 83 | margin-bottom: 5px; 84 | } 85 | -------------------------------------------------------------------------------- /build/reports/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Test Summary 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Test Summary

14 |
15 | 16 | 17 | 49 | 55 | 56 |
18 |
19 | 20 | 21 | 27 | 33 | 39 | 45 | 46 |
22 |
23 |
11
24 |

tests

25 |
26 |
28 |
29 |
7
30 |

failures

31 |
32 |
34 |
35 |
4
36 |

ignored

37 |
38 |
40 |
41 |
13.292s
42 |

duration

43 |
44 |
47 |
48 |
50 |
51 |
0%
52 |

successful

53 |
54 |
57 |
58 |
59 | 73 | 106 | 127 |
128 |

Packages

129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 |
PackageTestsFailuresIgnoredDurationSuccess rate
143 | default-package 144 | 84413.289s0%
153 | demo 154 | 3300.003s0%
163 |
164 |
165 |

Classes

166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 227 | 228 | 229 | 230 | 231 | 232 | 233 |
ClassTestsFailuresIgnoredDurationSuccess rate
180 | Scenario: client makes call to GET /poop 181 | 4229.250s0%
189 | Scenario: client makes call to GET /version 190 | 4224.039s0%
198 | demo.AbstractDefs 199 | 1100.002s0%
207 | demo.CucumberTest 208 | 000--
216 | demo.OtherDefs 217 | 1100.001s0%
225 | demo.StepDefs 226 | 1100s0%
234 |
235 |
236 | 245 |
246 | 247 | 248 | -------------------------------------------------------------------------------- /build/reports/tests/js/report.js: -------------------------------------------------------------------------------- 1 | (function (window, document) { 2 | "use strict"; 3 | 4 | var tabs = {}; 5 | 6 | function changeElementClass(element, classValue) { 7 | if (element.getAttribute("className")) { 8 | element.setAttribute("className", classValue); 9 | } else { 10 | element.setAttribute("class", classValue); 11 | } 12 | } 13 | 14 | function getClassAttribute(element) { 15 | if (element.getAttribute("className")) { 16 | return element.getAttribute("className"); 17 | } else { 18 | return element.getAttribute("class"); 19 | } 20 | } 21 | 22 | function addClass(element, classValue) { 23 | changeElementClass(element, getClassAttribute(element) + " " + classValue); 24 | } 25 | 26 | function removeClass(element, classValue) { 27 | changeElementClass(element, getClassAttribute(element).replace(classValue, "")); 28 | } 29 | 30 | function initTabs() { 31 | var container = document.getElementById("tabs"); 32 | 33 | tabs.tabs = findTabs(container); 34 | tabs.titles = findTitles(tabs.tabs); 35 | tabs.headers = findHeaders(container); 36 | tabs.select = select; 37 | tabs.deselectAll = deselectAll; 38 | tabs.select(0); 39 | 40 | return true; 41 | } 42 | 43 | function getCheckBox() { 44 | return document.getElementById("line-wrapping-toggle"); 45 | } 46 | 47 | function getLabelForCheckBox() { 48 | return document.getElementById("label-for-line-wrapping-toggle"); 49 | } 50 | 51 | function findCodeBlocks() { 52 | var spans = document.getElementById("tabs").getElementsByTagName("span"); 53 | var codeBlocks = []; 54 | for (var i = 0; i < spans.length; ++i) { 55 | if (spans[i].className.indexOf("code") >= 0) { 56 | codeBlocks.push(spans[i]); 57 | } 58 | } 59 | return codeBlocks; 60 | } 61 | 62 | function forAllCodeBlocks(operation) { 63 | var codeBlocks = findCodeBlocks(); 64 | 65 | for (var i = 0; i < codeBlocks.length; ++i) { 66 | operation(codeBlocks[i], "wrapped"); 67 | } 68 | } 69 | 70 | function toggleLineWrapping() { 71 | var checkBox = getCheckBox(); 72 | 73 | if (checkBox.checked) { 74 | forAllCodeBlocks(addClass); 75 | } else { 76 | forAllCodeBlocks(removeClass); 77 | } 78 | } 79 | 80 | function initControls() { 81 | if (findCodeBlocks().length > 0) { 82 | var checkBox = getCheckBox(); 83 | var label = getLabelForCheckBox(); 84 | 85 | checkBox.onclick = toggleLineWrapping; 86 | checkBox.checked = false; 87 | 88 | removeClass(label, "hidden"); 89 | } 90 | } 91 | 92 | function switchTab() { 93 | var id = this.id.substr(1); 94 | 95 | for (var i = 0; i < tabs.tabs.length; i++) { 96 | if (tabs.tabs[i].id === id) { 97 | tabs.select(i); 98 | break; 99 | } 100 | } 101 | 102 | return false; 103 | } 104 | 105 | function select(i) { 106 | this.deselectAll(); 107 | 108 | changeElementClass(this.tabs[i], "tab selected"); 109 | changeElementClass(this.headers[i], "selected"); 110 | 111 | while (this.headers[i].firstChild) { 112 | this.headers[i].removeChild(this.headers[i].firstChild); 113 | } 114 | 115 | var h2 = document.createElement("H2"); 116 | 117 | h2.appendChild(document.createTextNode(this.titles[i])); 118 | this.headers[i].appendChild(h2); 119 | } 120 | 121 | function deselectAll() { 122 | for (var i = 0; i < this.tabs.length; i++) { 123 | changeElementClass(this.tabs[i], "tab deselected"); 124 | changeElementClass(this.headers[i], "deselected"); 125 | 126 | while (this.headers[i].firstChild) { 127 | this.headers[i].removeChild(this.headers[i].firstChild); 128 | } 129 | 130 | var a = document.createElement("A"); 131 | 132 | a.setAttribute("id", "ltab" + i); 133 | a.setAttribute("href", "#tab" + i); 134 | a.onclick = switchTab; 135 | a.appendChild(document.createTextNode(this.titles[i])); 136 | 137 | this.headers[i].appendChild(a); 138 | } 139 | } 140 | 141 | function findTabs(container) { 142 | return findChildElements(container, "DIV", "tab"); 143 | } 144 | 145 | function findHeaders(container) { 146 | var owner = findChildElements(container, "UL", "tabLinks"); 147 | return findChildElements(owner[0], "LI", null); 148 | } 149 | 150 | function findTitles(tabs) { 151 | var titles = []; 152 | 153 | for (var i = 0; i < tabs.length; i++) { 154 | var tab = tabs[i]; 155 | var header = findChildElements(tab, "H2", null)[0]; 156 | 157 | header.parentNode.removeChild(header); 158 | 159 | if (header.innerText) { 160 | titles.push(header.innerText); 161 | } else { 162 | titles.push(header.textContent); 163 | } 164 | } 165 | 166 | return titles; 167 | } 168 | 169 | function findChildElements(container, name, targetClass) { 170 | var elements = []; 171 | var children = container.childNodes; 172 | 173 | for (var i = 0; i < children.length; i++) { 174 | var child = children.item(i); 175 | 176 | if (child.nodeType === 1 && child.nodeName === name) { 177 | if (targetClass && child.className.indexOf(targetClass) < 0) { 178 | continue; 179 | } 180 | 181 | elements.push(child); 182 | } 183 | } 184 | 185 | return elements; 186 | } 187 | 188 | // Entry point. 189 | 190 | window.onload = function() { 191 | initTabs(); 192 | initControls(); 193 | }; 194 | } (window, window.document)); -------------------------------------------------------------------------------- /build/reports/tests/packages/default-package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Default package 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Default package

14 | 16 |
17 | 18 | 19 | 51 | 57 | 58 |
20 |
21 | 22 | 23 | 29 | 35 | 41 | 47 | 48 |
24 |
25 |
8
26 |

tests

27 |
28 |
30 |
31 |
4
32 |

failures

33 |
34 |
36 |
37 |
4
38 |

ignored

39 |
40 |
42 |
43 |
13.289s
44 |

duration

45 |
46 |
49 |
50 |
52 |
53 |
0%
54 |

successful

55 |
56 |
59 |
60 |
61 | 72 | 93 | 114 |
115 |

Classes

116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 141 | 142 | 143 | 144 | 145 | 146 | 147 |
ClassTestsFailuresIgnoredDurationSuccess rate
129 | Scenario: client makes call to GET /poop 130 | 4229.250s0%
139 | Scenario: client makes call to GET /version 140 | 4224.039s0%
148 |
149 |
150 | 159 |
160 | 161 | 162 | -------------------------------------------------------------------------------- /build/reports/tests/packages/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test results - Package demo 7 | 8 | 9 | 10 | 11 | 12 |
13 |

Package demo

14 | 16 |
17 | 18 | 19 | 51 | 57 | 58 |
20 |
21 | 22 | 23 | 29 | 35 | 41 | 47 | 48 |
24 |
25 |
3
26 |

tests

27 |
28 |
30 |
31 |
3
32 |

failures

33 |
34 |
36 |
37 |
0
38 |

ignored

39 |
40 |
42 |
43 |
0.003s
44 |

duration

45 |
46 |
49 |
50 |
52 |
53 |
0%
54 |

successful

55 |
56 |
59 |
60 |
61 | 69 |
70 |

Failed tests

71 | 85 |
86 |
87 |

Classes

88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 133 | 134 | 135 | 136 | 137 | 138 | 139 |
ClassTestsFailuresIgnoredDurationSuccess rate
101 | AbstractDefs 102 | 1100.002s0%
111 | CucumberTest 112 | 000--
121 | OtherDefs 122 | 1100.001s0%
131 | StepDefs 132 | 1100s0%
140 |
141 |
142 | 151 |
152 | 153 | 154 | -------------------------------------------------------------------------------- /build/resources/main/application.yml: -------------------------------------------------------------------------------- 1 | spring.profiles.active: default 2 | --- 3 | spring: 4 | profiles: default 5 | 6 | endpoints.enabled: false 7 | rabbitmq: 8 | host: localhost 9 | vhost: 10 | name: tallac 11 | username: tallac 12 | password: tallac 13 | internal.queue: internal 14 | enabled: true 15 | event.maxretry: 10 16 | analytics: 17 | vhost: cloud-service 18 | vhost.username: csuser 19 | vhost.password: csuser 20 | queue: analytics 21 | exchange: analytics.fanout 22 | message.ttl.ms: 30000 23 | alert.queue: alert 24 | -------------------------------------------------------------------------------- /build/resources/main/messaging-context.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 31 | 32 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 65 | 66 | 67 | 68 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /build/resources/test/poop.feature: -------------------------------------------------------------------------------- 1 | Feature: the poop can be retrieved 2 | Scenario: client makes call to GET /poop 3 | When the client calls /poop 4 | Then the client receives status code of 200 5 | And the client receives server version poop -------------------------------------------------------------------------------- /build/resources/test/version.feature: -------------------------------------------------------------------------------- 1 | Feature: the version can be retrieved 2 | Scenario: client makes call to GET /version 3 | When the client calls /version 4 | Then the client receives status code of 200 5 | And the client receives server version 1.0 -------------------------------------------------------------------------------- /build/test-results/TEST-demo.AbstractDefs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | java.lang.Exception: No runnable methods 6 | at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) 7 | at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) 8 | at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) 9 | at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) 10 | at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) 11 | at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111) 12 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 13 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 14 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 15 | at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 16 | at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) 17 | at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) 18 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 19 | at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 20 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 21 | at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 22 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80) 23 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49) 24 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64) 25 | at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50) 26 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 27 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 28 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 29 | at java.lang.reflect.Method.invoke(Method.java:606) 30 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 31 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 32 | at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) 33 | at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) 34 | at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) 35 | at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106) 36 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 37 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 38 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 39 | at java.lang.reflect.Method.invoke(Method.java:606) 40 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 41 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 42 | at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360) 43 | at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 44 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 45 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 46 | at java.lang.Thread.run(Thread.java:744) 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /build/test-results/TEST-demo.CucumberTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 222 | 223 | 224 | -------------------------------------------------------------------------------- /build/test-results/TEST-demo.OtherDefs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | java.lang.Exception: No runnable methods 6 | at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) 7 | at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) 8 | at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) 9 | at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) 10 | at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) 11 | at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111) 12 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 13 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 14 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 15 | at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 16 | at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) 17 | at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) 18 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 19 | at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 20 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 21 | at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 22 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80) 23 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49) 24 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64) 25 | at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50) 26 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 27 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 28 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 29 | at java.lang.reflect.Method.invoke(Method.java:606) 30 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 31 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 32 | at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) 33 | at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) 34 | at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) 35 | at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106) 36 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 37 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 38 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 39 | at java.lang.reflect.Method.invoke(Method.java:606) 40 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 41 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 42 | at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360) 43 | at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 44 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 45 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 46 | at java.lang.Thread.run(Thread.java:744) 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /build/test-results/TEST-demo.StepDefs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | java.lang.Exception: No runnable methods 6 | at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) 7 | at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) 8 | at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) 9 | at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) 10 | at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) 11 | at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:111) 12 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 13 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 14 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 15 | at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 16 | at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) 17 | at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) 18 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 19 | at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 20 | at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 21 | at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 22 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80) 23 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49) 24 | at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64) 25 | at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50) 26 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 27 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 28 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 29 | at java.lang.reflect.Method.invoke(Method.java:606) 30 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 31 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 32 | at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) 33 | at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) 34 | at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) 35 | at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106) 36 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 37 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 38 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 39 | at java.lang.reflect.Method.invoke(Method.java:606) 40 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) 41 | at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) 42 | at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360) 43 | at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 44 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 45 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 46 | at java.lang.Thread.run(Thread.java:744) 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /build/test-results/binary/test/output.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/test-results/binary/test/output.bin -------------------------------------------------------------------------------- /build/test-results/binary/test/output.bin.idx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/test-results/binary/test/output.bin.idx -------------------------------------------------------------------------------- /build/test-results/binary/test/results.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/test-results/binary/test/results.bin -------------------------------------------------------------------------------- /build/tmp/test/jar_extract_1621720805237330866_tmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/build/tmp/test/jar_extract_1621720805237330866_tmp -------------------------------------------------------------------------------- /build/tmp/war/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakehschwartz/spring-boot-cucumber-example/9e47c5e2246cd0d16fbd146dbef385507c4a0b2c/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jun 11 10:43:37 EDT 2015 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-all.zip 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. 46 | if $cygwin ; then 47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48 | fi 49 | 50 | # Attempt to set APP_HOME 51 | # Resolve links: $0 may be a link 52 | PRG="$0" 53 | # Need this for relative symlinks. 54 | while [ -h "$PRG" ] ; do 55 | ls=`ls -ld "$PRG"` 56 | link=`expr "$ls" : '.*-> \(.*\)$'` 57 | if expr "$link" : '/.*' > /dev/null; then 58 | PRG="$link" 59 | else 60 | PRG=`dirname "$PRG"`"/$link" 61 | fi 62 | done 63 | SAVED="`pwd`" 64 | cd "`dirname \"$PRG\"`/" >&- 65 | APP_HOME="`pwd -P`" 66 | cd "$SAVED" >&- 67 | 68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 69 | 70 | # Determine the Java command to use to start the JVM. 71 | if [ -n "$JAVA_HOME" ] ; then 72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 73 | # IBM's JDK on AIX uses strange locations for the executables 74 | JAVACMD="$JAVA_HOME/jre/sh/java" 75 | else 76 | JAVACMD="$JAVA_HOME/bin/java" 77 | fi 78 | if [ ! -x "$JAVACMD" ] ; then 79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 80 | 81 | Please set the JAVA_HOME variable in your environment to match the 82 | location of your Java installation." 83 | fi 84 | else 85 | JAVACMD="java" 86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 87 | 88 | Please set the JAVA_HOME variable in your environment to match the 89 | location of your Java installation." 90 | fi 91 | 92 | # Increase the maximum file descriptors if we can. 93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 94 | MAX_FD_LIMIT=`ulimit -H -n` 95 | if [ $? -eq 0 ] ; then 96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 97 | MAX_FD="$MAX_FD_LIMIT" 98 | fi 99 | ulimit -n $MAX_FD 100 | if [ $? -ne 0 ] ; then 101 | warn "Could not set maximum file descriptor limit: $MAX_FD" 102 | fi 103 | else 104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 105 | fi 106 | fi 107 | 108 | # For Darwin, add options to specify how the application appears in the dock 109 | if $darwin; then 110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 111 | fi 112 | 113 | # For Cygwin, switch paths to Windows format before running java 114 | if $cygwin ; then 115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 158 | function splitJvmOpts() { 159 | JVM_OPTS=("$@") 160 | } 161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 163 | 164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 165 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /out/artifacts/BootCucumberTest/exploded/spring-boot-cucumber-test-0.0.1-SNAPSHOT.war/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | 3 | -------------------------------------------------------------------------------- /src/main/java/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.builder.SpringApplicationBuilder; 6 | import org.springframework.boot.context.web.SpringBootServletInitializer; 7 | 8 | @SpringBootApplication 9 | public class DemoApplication extends SpringBootServletInitializer 10 | { 11 | @Override 12 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 13 | { 14 | return application.sources(DemoApplication.class); 15 | } 16 | 17 | public static void main(String[] args) 18 | { 19 | SpringApplication.run(DemoApplication.class, args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/demo/PoopController.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.springframework.web.bind.annotation.RequestMapping; 4 | import org.springframework.web.bind.annotation.RequestMethod; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | /** 10 | * Created with IntelliJ IDEA. 11 | * User: jacobs 12 | * Date: 6/11/15 13 | * Time: 10:32 AM 14 | */ 15 | @RestController 16 | public class PoopController 17 | { 18 | @RequestMapping(method={RequestMethod.GET},value={"/poop"}) 19 | public String getVersion(HttpServletResponse response) 20 | { 21 | return "poop"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/demo/VersionController.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.springframework.web.bind.annotation.RequestMapping; 4 | import org.springframework.web.bind.annotation.RequestMethod; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | /** 10 | * Created with IntelliJ IDEA. 11 | * User: jacobs 12 | * Date: 6/11/15 13 | * Time: 10:32 AM 14 | */ 15 | @RestController 16 | public class VersionController 17 | { 18 | @RequestMapping(method={RequestMethod.GET},value={"/version"}) 19 | public String getVersion(HttpServletResponse response) 20 | { 21 | return "1.0"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring.profiles.active: default 2 | --- 3 | spring: 4 | profiles: default 5 | 6 | endpoints.enabled: false 7 | rabbitmq: 8 | host: localhost 9 | vhost: 10 | name: tallac 11 | username: tallac 12 | password: tallac 13 | internal.queue: internal 14 | enabled: true 15 | event.maxretry: 10 16 | analytics: 17 | vhost: cloud-service 18 | vhost.username: csuser 19 | vhost.password: csuser 20 | queue: analytics 21 | exchange: analytics.fanout 22 | message.ttl.ms: 30000 23 | alert.queue: alert 24 | -------------------------------------------------------------------------------- /src/test/java/demo/AbstractDefs.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.springframework.boot.test.IntegrationTest; 5 | import org.springframework.boot.test.SpringApplicationConfiguration; 6 | import org.springframework.boot.test.SpringApplicationContextLoader; 7 | import org.springframework.http.HttpMethod; 8 | import org.springframework.http.client.ClientHttpResponse; 9 | import org.springframework.test.context.ContextConfiguration; 10 | import org.springframework.test.context.TestExecutionListeners; 11 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 12 | import org.springframework.test.context.web.ServletTestExecutionListener; 13 | import org.springframework.test.context.web.WebAppConfiguration; 14 | import org.springframework.web.client.ResponseErrorHandler; 15 | import org.springframework.web.client.ResponseExtractor; 16 | import org.springframework.web.client.RestTemplate; 17 | 18 | import java.io.IOException; 19 | import java.util.HashMap; 20 | import java.util.Map; 21 | 22 | /** 23 | * Created with IntelliJ IDEA. 24 | * User: jacobs 25 | * Date: 6/11/15 26 | * Time: 10:57 AM 27 | */ 28 | @RunWith(SpringJUnit4ClassRunner.class) 29 | @ContextConfiguration(classes = DemoApplication.class, loader = SpringApplicationContextLoader.class) 30 | @WebAppConfiguration 31 | @IntegrationTest 32 | public class AbstractDefs 33 | { 34 | protected static ResponseResults latestResponse = null; 35 | 36 | protected RestTemplate restTemplate = null; 37 | 38 | protected void executeGet(String url) throws IOException 39 | { 40 | final Map headers = new HashMap<>(); 41 | headers.put("Accept","application/json"); 42 | final HeaderSettingRequestCallback requestCallback = new HeaderSettingRequestCallback(headers); 43 | final ResponseResultErrorHandler errorHandler = new ResponseResultErrorHandler(); 44 | if (restTemplate == null) 45 | { 46 | restTemplate = new RestTemplate(); 47 | } 48 | restTemplate.setErrorHandler(errorHandler); 49 | latestResponse = restTemplate.execute(url, 50 | HttpMethod.GET, 51 | requestCallback, 52 | new ResponseExtractor() 53 | { 54 | @Override 55 | public ResponseResults extractData(ClientHttpResponse response) throws IOException 56 | { 57 | if (errorHandler.hadError) 58 | { 59 | return (errorHandler.getResults()); 60 | } 61 | else 62 | { 63 | return (new ResponseResults(response)); 64 | } 65 | } 66 | }); 67 | 68 | } 69 | 70 | private class ResponseResultErrorHandler implements ResponseErrorHandler 71 | { 72 | private ResponseResults results = null; 73 | private Boolean hadError = false; 74 | 75 | private ResponseResults getResults() 76 | { 77 | return results; 78 | } 79 | 80 | @Override 81 | public boolean hasError(ClientHttpResponse response) throws IOException 82 | { 83 | hadError = response.getRawStatusCode() >= 400; 84 | return hadError; 85 | } 86 | 87 | @Override 88 | public void handleError(ClientHttpResponse response) throws IOException 89 | { 90 | results = new ResponseResults(response); 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /src/test/java/demo/CucumberTest.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import cucumber.api.CucumberOptions; 4 | import cucumber.api.junit.Cucumber; 5 | import org.junit.runner.RunWith; 6 | 7 | /** 8 | * Created with IntelliJ IDEA. 9 | * User: jacobs 10 | * Date: 6/11/15 11 | * Time: 11:09 AM 12 | */ 13 | @RunWith(Cucumber.class) 14 | @CucumberOptions(features = "src/test/resources") 15 | public class CucumberTest{ 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/demo/HeaderSettingRequestCallback.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.springframework.http.HttpHeaders; 4 | import org.springframework.http.client.ClientHttpRequest; 5 | import org.springframework.web.client.RequestCallback; 6 | 7 | import java.io.IOException; 8 | import java.util.Map; 9 | 10 | /** 11 | * Created with IntelliJ IDEA. 12 | * User: jacobs 13 | * Date: 6/11/15 14 | * Time: 11:00 AM 15 | */ 16 | public class HeaderSettingRequestCallback implements RequestCallback 17 | { 18 | final Map requestHeaders; 19 | 20 | private String body; 21 | 22 | public HeaderSettingRequestCallback(final Map headers) 23 | { 24 | this.requestHeaders = headers; 25 | } 26 | 27 | public void setBody(final String postBody ) 28 | { 29 | this.body = postBody; 30 | } 31 | 32 | @Override 33 | public void doWithRequest(ClientHttpRequest request) throws IOException 34 | { 35 | final HttpHeaders clientHeaders = request.getHeaders(); 36 | for( final Map.Entry entry : requestHeaders.entrySet() ) 37 | { 38 | clientHeaders.add(entry.getKey(),entry.getValue()); 39 | } 40 | if( null != body ) 41 | { 42 | request.getBody().write( body.getBytes() ); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/test/java/demo/OtherDefs.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import cucumber.api.java.en.When; 4 | 5 | /** 6 | * Created with IntelliJ IDEA. 7 | * User: jacobs 8 | * Date: 6/11/15 9 | * Time: 1:04 PM 10 | */ 11 | public class OtherDefs extends AbstractDefs 12 | { 13 | @When("^the client calls /poop$") 14 | public void the_client_issues_GET_version() throws Throwable 15 | { 16 | executeGet("http://localhost:8080/poop"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/demo/ResponseResults.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import org.apache.commons.io.IOUtils; 4 | import org.springframework.http.client.ClientHttpResponse; 5 | 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.io.StringWriter; 9 | 10 | /** 11 | * Created with IntelliJ IDEA. 12 | * User: jacobs 13 | * Date: 6/11/15 14 | * Time: 11:03 AM 15 | */ 16 | public class ResponseResults 17 | { 18 | private final ClientHttpResponse theResponse; 19 | private final String body; 20 | 21 | protected ResponseResults(final ClientHttpResponse response) throws IOException 22 | { 23 | this.theResponse = response; 24 | final InputStream bodyInputStream = response.getBody(); 25 | if (null == bodyInputStream) 26 | { 27 | this.body = "{}"; 28 | } 29 | else 30 | { 31 | final StringWriter stringWriter = new StringWriter(); 32 | IOUtils.copy(bodyInputStream, stringWriter); 33 | this.body = stringWriter.toString(); 34 | } 35 | } 36 | 37 | protected ClientHttpResponse getTheResponse() 38 | { 39 | return theResponse; 40 | } 41 | 42 | protected String getBody() 43 | { 44 | return body; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/demo/StepDefs.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import cucumber.api.java.en.And; 4 | import cucumber.api.java.en.Then; 5 | import cucumber.api.java.en.When; 6 | import org.springframework.http.HttpStatus; 7 | 8 | import static org.hamcrest.MatcherAssert.assertThat; 9 | import static org.hamcrest.Matchers.is; 10 | 11 | public class StepDefs extends AbstractDefs 12 | { 13 | @When("^the client calls /version$") 14 | public void the_client_issues_GET_version() throws Throwable 15 | { 16 | executeGet("http://localhost:8080/version"); 17 | } 18 | 19 | @Then("^the client receives status code of (\\d+)$") 20 | public void the_client_receives_status_code_of(int statusCode) throws Throwable 21 | { 22 | final HttpStatus currentStatusCode = latestResponse.getTheResponse().getStatusCode(); 23 | assertThat("status code is incorrect : "+ latestResponse.getBody(), currentStatusCode.value(), is(statusCode) ); 24 | } 25 | 26 | @And("^the client receives server version (.+)$") 27 | public void the_client_receives_server_version_body(String version) throws Throwable 28 | { 29 | assertThat(latestResponse.getBody(), is(version)) ; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/resources/poop.feature: -------------------------------------------------------------------------------- 1 | Feature: the poop can be retrieved 2 | Scenario: client makes call to GET /poop 3 | When the client calls /poop 4 | Then the client receives status code of 200 5 | And the client receives server version poop -------------------------------------------------------------------------------- /src/test/resources/version.feature: -------------------------------------------------------------------------------- 1 | Feature: the version can be retrieved 2 | Scenario: client makes call to GET /version 3 | When the client calls /version 4 | Then the client receives status code of 200 5 | And the client receives server version 1.0 --------------------------------------------------------------------------------