Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Decathlon/tzatziki
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.3
Choose a base ref
...
head repository: Decathlon/tzatziki
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Jan 27, 2022

  1. refactor: removed all references to semla-common (#18)

    also:
    * fix for examples not being pulled properly in the context while running in intellij
    * set version to 1.0.4
    mimfgg authored Jan 27, 2022
    Copy the full SHA
    aaf66d5 View commit details

Commits on Jan 29, 2022

  1. feat: added HttpInterceptor to rewrite url at the client level (#19)

    * feat: added HttpInterceptor to rewrite url at the client level
    
    * remapped mocked urls to avoid collisions
    
    * fixed local port interfering with network calls when running in spring.
    Also added and clarified the documentation around ports
    
    * fix typo
    mimfgg authored Jan 29, 2022
    Copy the full SHA
    8448a93 View commit details

Commits on Jan 30, 2022

  1. set version to 1.0.5

    mimfgg committed Jan 30, 2022
    Copy the full SHA
    26a10f3 View commit details
  2. fix: added a check in the KafkaSteps so that we wait for at least one…

    … consumer to be connected to the topic before publishing a message
    
    the default behaviour of the Spring consumer config is to place the consumer at the latest commit when the group-id did not exist.
    if the listener takes more time to start than the test to publish the message, then the message is never consumed and the test fails.
    mimfgg committed Jan 30, 2022
    Copy the full SHA
    211aabc View commit details

Commits on Jan 31, 2022

  1. Copy the full SHA
    3f58502 View commit details
  2. set version to 1.0.7

    mimfgg committed Jan 31, 2022
    Copy the full SHA
    41be050 View commit details
  3. feat: extract repository content readme (#21)

    * doc: extract data from repository
    
    * doc: fix entities typos
    z06lsouc authored Jan 31, 2022
    Copy the full SHA
    d6b2526 View commit details
  4. fix: HttpInterceptor would not work properly on a webClient created b…

    …y a WebClient.Builder that we would have already intercepted
    mimfgg committed Jan 31, 2022
    Copy the full SHA
    76856ad View commit details

Commits on Feb 2, 2022

  1. chore(deps-dev): bump postgresql in /tzatziki-spring-jpa (#23)

    Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.2.18 to 42.2.25.
    - [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
    - [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
    - [Commits](pgjdbc/pgjdbc@REL42.2.18...REL42.2.25)
    
    ---
    updated-dependencies:
    - dependency-name: org.postgresql:postgresql
      dependency-type: direct:development
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 2, 2022
    Copy the full SHA
    e34d5ba View commit details

Commits on Feb 3, 2022

  1. fx We can now manipulate the KafkaSteps to be able to extend it someh…

    …ow (#24)
    
    * fix: We can now manipulate the KafkaSteps to be able to extend it somehow
    
    * fix: bumped to 1.0.9
    
    * fix: renamed variable not to have restricted identifier
    brian-mulier authored Feb 3, 2022
    Copy the full SHA
    ce8eab6 View commit details

Commits on Feb 5, 2022

  1. Ft/chain guards (#26)

    brian-mulier authored Feb 5, 2022
    Copy the full SHA
    7d34c17 View commit details

Commits on Feb 7, 2022

  1. fix: prefixed all the internal variables with _ to prevent collisions…

    … with user defined variables (#27)
    mimfgg authored Feb 7, 2022
    Copy the full SHA
    8fd74c3 View commit details

Commits on Feb 8, 2022

  1. Copy the full SHA
    f297c3a View commit details

Commits on Feb 9, 2022

  1. Copy the full SHA
    ba9d28a View commit details

Commits on Feb 10, 2022

  1. fix: Issue when a null is in a DataTable (#31)

    * Issue when a null is in a DataTable
    
    * Issue when a null is in a DataTable
    
    * fix: avoid nullpointer when resolving a DataTable with null values
    
    * style: formatting revert
    
    * Update tzatziki-core/src/main/java/com/decathlon/tzatziki/steps/ObjectSteps.java
    
    Co-authored-by: brian-mulier <69139631+brian-mulier@users.noreply.github.com>
    
    * Updated ObjectSteps.java
    
    * Updated tzatziki to 1.0.12
    
    Co-authored-by: brian-mulier <69139631+brian-mulier@users.noreply.github.com>
    hqrd and brian-mulier authored Feb 10, 2022
    Copy the full SHA
    b269d65 View commit details

Commits on Feb 14, 2022

  1. Copy the full SHA
    a7c9915 View commit details
  2. set version to 1.0.13

    mimfgg committed Feb 14, 2022
    Copy the full SHA
    22e6ca6 View commit details

Commits on Feb 15, 2022

  1. Publish kafka message with key (#33)

    * feat: publish a kafka message with key (avro)
    * feat: publish kafka message with key (json)
    guillaume-fbz authored Feb 15, 2022
    Copy the full SHA
    d24d085 View commit details
  2. set version to 1.0.14

    mimfgg committed Feb 15, 2022
    Copy the full SHA
    9e8fbae View commit details
  3. Copy the full SHA
    c24d4c9 View commit details
  4. Copy the full SHA
    8cc3cbe View commit details

Commits on Feb 16, 2022

  1. chore(deps-dev): bump postgresql in /tzatziki-spring-jpa (#35)

    Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.2.25 to 42.3.3.
    - [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
    - [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
    - [Commits](pgjdbc/pgjdbc@REL42.2.25...REL42.3.3)
    
    ---
    updated-dependencies:
    - dependency-name: org.postgresql:postgresql
      dependency-type: direct:development
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 16, 2022
    Copy the full SHA
    8ea74da View commit details

Commits on Feb 23, 2022

  1. Copy the full SHA
    0f3fe07 View commit details

Commits on Feb 28, 2022

  1. Copy the full SHA
    1a1ba54 View commit details
  2. Ft/kafka key assertion not compulsory (#38)

    + can assert a topic from beginning even after another one
    brian-mulier authored Feb 28, 2022
    Copy the full SHA
    5cbb387 View commit details
  3. Copy the full SHA
    e35e55a View commit details
  4. exclude borrowed classes

    mimfgg committed Feb 28, 2022
    Copy the full SHA
    310936a View commit details
  5. exclude mockserver class

    mimfgg committed Feb 28, 2022
    Copy the full SHA
    df32d71 View commit details

Commits on Mar 1, 2022

  1. Update build.yml

    mimfgg authored Mar 1, 2022
    Copy the full SHA
    6f97c22 View commit details

Commits on Mar 3, 2022

  1. Copy the full SHA
    07eedf2 View commit details

Commits on Mar 4, 2022

  1. feat: No more implicit "within" for JPA, HTTP, Kafka and logs asserti… (

    #39)
    
    * feat: No more implicit "within" for JPA, HTTP, Kafka and logs assertions + added OS check on env export to prevent crash on Windows
    
    * test tweaks
    
    Co-authored-by: Jeremy Comte <jeremy.comte@gmail.com>
    brian-mulier and mimfgg authored Mar 4, 2022
    Copy the full SHA
    e725f4a View commit details
  2. fix: small fix to replace "at most 1 GET within Xms" to "during Xms .…

    ….. has received at most 1 GET" (#41)
    brian-mulier authored Mar 4, 2022
    Copy the full SHA
    b191ec7 View commit details
  3. Copy the full SHA
    e88fab8 View commit details

Commits on Mar 7, 2022

  1. Copy the full SHA
    9d03438 View commit details
  2. Copy the full SHA
    c0c3d94 View commit details

Commits on Mar 8, 2022

  1. Copy the full SHA
    77cb6b9 View commit details

Commits on Mar 9, 2022

  1. Fx/foreach with list template (#47)

    * fix: json mapper everywhere
    
    * fix: working list as template in foreach helper
    brian-mulier authored Mar 9, 2022
    Copy the full SHA
    69162b1 View commit details
  2. Copy the full SHA
    1ef11ad View commit details

Commits on Mar 10, 2022

  1. Copy the full SHA
    2ff798e View commit details

Commits on Mar 16, 2022

  1. fix: previous test's mocks are properly deleted even if overriding mo…

    …cks match them with regex (#50)
    brian-mulier authored Mar 16, 2022
    Copy the full SHA
    3a76543 View commit details

Commits on Mar 21, 2022

  1. Copy the full SHA
    a3066b2 View commit details

Commits on Mar 24, 2022

  1. Copy the full SHA
    3d8018f View commit details

Commits on Mar 29, 2022

  1. feat: prioritize back the expectations when modified (#54)

    * wip: mock priority rework
    
    * wip: mock priority rework
    
    * re-add the expectations to the httpState
    
    * feat: expectations are now prioritized back when modified
    
    Co-authored-by: Jeremy Comte <jeremy.comte@gmail.com>
    brian-mulier and mimfgg authored Mar 29, 2022
    Copy the full SHA
    0f044e8 View commit details

Commits on Mar 30, 2022

  1. Copy the full SHA
    c325eff View commit details
  2. Copy the full SHA
    30f8afc View commit details

Commits on Apr 4, 2022

  1. feat: else implementation for gherkin (#57)

    * feat: else implementation for gherkin
    
    Co-authored-by: Jeremy Comte <jeremy.comte@gmail.com>
    brian-mulier and mimfgg authored Apr 4, 2022
    Copy the full SHA
    989489b View commit details

Commits on Apr 6, 2022

  1. fix: Spring mapper props in Tzatziki by default (#60)

    * fix: Spring mapper props in Tzatziki by default
    
    * fix: Tests are more readable
    
    * fix: Ability to disable the copyNamingStrategyFromSpringMapper behaviour
    
    * fix: doc for copyNamingStrategyFromSpringMapper behaviour
    brian-mulier authored Apr 6, 2022
    Copy the full SHA
    db91f52 View commit details

Commits on Apr 7, 2022

  1. Copy the full SHA
    0341775 View commit details
  2. Copy the full SHA
    a6aeb6d View commit details

Commits on Apr 11, 2022

  1. Copy the full SHA
    103da31 View commit details
Showing with 7,846 additions and 1,337 deletions.
  1. +12 −0 .github/dependabot.yml
  2. +2 −3 .github/workflows/build.yml
  3. +2 −0 .github/workflows/release.yml
  4. +7 −7 CONTRIBUTING.md
  5. +1 −1 LICENSE
  6. +55 −37 README.md
  7. +1 −1 mockfaster/README.md
  8. +24 −6 mockfaster/pom.xml
  9. +140 −0 mockfaster/src/main/java/com/decathlon/tzatziki/matchers/StrictArrayContentJsonStringMatcher.java
  10. +147 −88 mockfaster/src/main/java/com/decathlon/tzatziki/utils/MockFaster.java
  11. +27 −11 mockfaster/src/main/java/org/mockserver/collections/NottableStringMultiMap.java
  12. +96 −2 mockfaster/src/test/java/com/decathlon/tzatziki/utils/MockFasterTest.java
  13. +57 −28 pom.xml
  14. +87 −0 report/pom.xml
  15. +62 −30 tzatziki-common/pom.xml
  16. +112 −74 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Asserts.java
  17. +1 −3 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Comparison.java
  18. +0 −11 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Env.java
  19. +103 −0 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Fields.java
  20. +126 −0 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Methods.java
  21. +32 −17 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/TypeParser.java
  22. +143 −0 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Types.java
  23. +55 −0 tzatziki-common/src/main/java/com/decathlon/tzatziki/utils/Unchecked.java
  24. +3 −0 tzatziki-common/src/main/resources/burningwave.static.properties
  25. +8 −0 tzatziki-common/src/test/java/com/decathlon/tzatziki/User.java
  26. +65 −0 tzatziki-common/src/test/java/com/decathlon/tzatziki/utils/AssertsTest.java
  27. +3 −0 tzatziki-common/src/test/java/com/decathlon/tzatziki/utils/EnvTest.java
  28. +6 −6 tzatziki-common/src/test/java/com/decathlon/tzatziki/utils/TypeParserTest.java
  29. +455 −107 tzatziki-core/README.md
  30. +36 −3 tzatziki-core/pom.xml
  31. +3 −3 tzatziki-core/src/main/java/com/decathlon/tzatziki/steps/DynamicTransformers.java
  32. +254 −82 tzatziki-core/src/main/java/com/decathlon/tzatziki/steps/ObjectSteps.java
  33. +186 −68 tzatziki-core/src/main/java/com/decathlon/tzatziki/utils/Guard.java
  34. +7 −0 tzatziki-core/src/main/java/com/decathlon/tzatziki/utils/Patterns.java
  35. +2 −3 tzatziki-core/src/main/java/io/cucumber/core/plugin/JsonFormatter.java
  36. +11 −6 tzatziki-core/src/main/java/io/cucumber/core/plugin/PrettyFormatter.java
  37. +19 −25 tzatziki-core/src/main/java/io/cucumber/core/runner/TestStep.java
  38. +33 −0 tzatziki-core/src/test/java/com/decathlon/tzatziki/ListWrapper.java
  39. +20 −0 tzatziki-core/src/test/java/com/decathlon/tzatziki/Nest.java
  40. +20 −0 tzatziki-core/src/test/java/com/decathlon/tzatziki/steps/AddCustomFlagSteps.java
  41. +512 −37 tzatziki-core/src/test/resources/com/decathlon/tzatziki/steps/objects.feature
  42. +2 −2 tzatziki-core/src/test/resources/com/decathlon/tzatziki/steps/scenario-with-background.feature
  43. +12 −0 tzatziki-core/src/test/resources/logback-test.xml
  44. +2 −0 tzatziki-core/src/test/resources/templates/userTemplate.yaml
  45. +143 −6 tzatziki-http/README.md
  46. +15 −29 tzatziki-http/pom.xml
  47. +213 −95 tzatziki-http/src/main/java/com/decathlon/tzatziki/steps/HttpSteps.java
  48. +92 −0 tzatziki-http/src/main/java/com/decathlon/tzatziki/utils/HttpStatusCode.java
  49. +56 −20 tzatziki-http/src/main/java/com/decathlon/tzatziki/utils/Interaction.java
  50. +12 −0 tzatziki-http/src/test/java/com/decathlon/tzatziki/steps/LimitWebsocketsSteps.java
  51. +92 −17 tzatziki-http/src/test/java/com/decathlon/tzatziki/steps/LocalSteps.java
  52. +634 −66 tzatziki-http/src/test/resources/com/decathlon/tzatziki/steps/http.feature
  53. +24 −0 tzatziki-jackson/README.md
  54. +80 −0 tzatziki-jackson/pom.xml
  55. +23 −33 ...tils/Mapper.java → tzatziki-jackson/src/main/java/com/decathlon/tzatziki/utils/JacksonMapper.java
  56. +1 −0 tzatziki-jackson/src/main/resources/META-INF/services/com.decathlon.tzatziki.utils.MapperDelegate
  57. +20 −0 tzatziki-jackson/src/test/java/com/decathlon/tzatziki/User.java
  58. +1 −1 ...perTest.java → tzatziki-jackson/src/test/java/com/decathlon/tzatziki/utils/JacksonMapperTest.java
  59. +18 −1 tzatziki-logback/README.md
  60. +10 −4 tzatziki-logback/pom.xml
  61. +62 −21 tzatziki-logback/src/main/java/com/decathlon/tzatziki/steps/LoggerSteps.java
  62. +38 −4 tzatziki-logback/src/test/resources/com/decathlon/tzatziki/steps/logger.feature
  63. +52 −0 tzatziki-mapper/README.md
  64. +32 −0 tzatziki-mapper/pom.xml
  65. +105 −0 tzatziki-mapper/src/main/java/com/decathlon/tzatziki/utils/Mapper.java
  66. +21 −0 tzatziki-mapper/src/main/java/com/decathlon/tzatziki/utils/MapperDelegate.java
  67. +43 −0 tzatziki-mapper/src/test/java/com/decathlon/tzatziki/init/TestMapperDelegate.java
  68. +53 −0 tzatziki-mapper/src/test/java/com/decathlon/tzatziki/utils/MapperTest.java
  69. +1 −0 tzatziki-mapper/src/test/resources/META-INF/services/com.decathlon.tzatziki.utils.MapperDelegate
  70. +166 −11 tzatziki-spring-jpa/README.md
  71. +19 −5 tzatziki-spring-jpa/pom.xml
  72. +209 −54 tzatziki-spring-jpa/src/main/java/com/decathlon/tzatziki/steps/SpringJPASteps.java
  73. +45 −11 tzatziki-spring-jpa/src/main/java/com/decathlon/tzatziki/utils/DatabaseCleaner.java
  74. +45 −0 tzatziki-spring-jpa/src/main/java/com/decathlon/tzatziki/utils/PersistenceUtil.java
  75. +24 −0 tzatziki-spring-jpa/src/test/java/com/another_org/CorruptedEvilness.java
  76. +7 −0 tzatziki-spring-jpa/src/test/java/com/another_org/CorruptedEvilnessDataSpringRepository.java
  77. +1 −1 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/{SpringTest.java → SpringJPATest.java}
  78. +5 −1 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/TestApplication.java
  79. +1 −1 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/api/UsersController.java
  80. +7 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/dao/BookDataSpringRepository.java
  81. +6 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/dao/EvilnessDataSpringRepository.java
  82. +7 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/dao/ProductDataSpringRepository.java
  83. +6 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/dao/SuperUserDataSpringRepository.java
  84. +2 −2 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/dao/UserDataSpringRepository.java
  85. +12 −0 ...spring-jpa/src/test/java/com/decathlon/tzatziki/app/entity_listeners/SuperUserEntityListener.java
  86. +19 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/Book.java
  87. +24 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/Evilness.java
  88. +8 −3 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/Group.java
  89. +19 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/Product.java
  90. +21 −0 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/SuperUser.java
  91. +13 −3 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/app/model/User.java
  92. +5 −2 tzatziki-spring-jpa/src/test/java/com/decathlon/tzatziki/steps/TestApplicationSteps.java
  93. +207 −27 tzatziki-spring-jpa/src/test/resources/com/decathlon/tzatziki/steps/spring-jpa.feature
  94. +15 −2 tzatziki-spring-jpa/src/test/resources/db/migration/V0__init.sql
  95. +13 −0 tzatziki-spring-jpa/src/test/resources/db/migration/V1__schema.sql
  96. +71 −3 tzatziki-spring-kafka/README.md
  97. +26 −15 tzatziki-spring-kafka/pom.xml
  98. +15 −12 tzatziki-spring-kafka/src/main/java/com/decathlon/tzatziki/kafka/KafkaInterceptor.java
  99. +3 −3 tzatziki-spring-kafka/src/main/java/com/decathlon/tzatziki/kafka/SchemaRegistry.java
  100. +260 −126 tzatziki-spring-kafka/src/main/java/com/decathlon/tzatziki/steps/KafkaSteps.java
  101. +17 −9 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/kafka/KafkaConfig.java
  102. +16 −8 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/kafka/KafkaConsumerObjectConfig.java
  103. +16 −8 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/kafka/KafkaProducerObjectConfig.java
  104. +61 −4 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/kafka/KafkaUsersListener.java
  105. +2 −1 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/kafka/KafkaUsersReplayer.java
  106. +8 −3 tzatziki-spring-kafka/src/test/java/com/decathlon/tzatziki/steps/TestApplicationSteps.java
  107. +308 −21 tzatziki-spring-kafka/src/test/resources/com/decathlon/tzatziki/steps/kafka.feature
  108. +129 −0 tzatziki-spring-mongodb/README.md
  109. +44 −0 tzatziki-spring-mongodb/pom.xml
  110. +168 −0 tzatziki-spring-mongodb/src/main/java/com/decathlon/tzatziki/steps/SpringMongoSteps.java
  111. +23 −0 tzatziki-spring-mongodb/src/main/java/com/decathlon/tzatziki/utils/InsertionMode.java
  112. +9 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/SpringMongoTest.java
  113. +16 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/MongoApplication.java
  114. +24 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/config/MongoConfig.java
  115. +17 −0 ...ngodb/src/test/java/com/decathlon/tzatziki/app/config/converters/OffsetDateTimeReadConverter.java
  116. +16 −0 ...odb/src/test/java/com/decathlon/tzatziki/app/config/converters/OffsetDateTimeWriterConverter.java
  117. +29 −0 ...ki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/order/controllers/OrderController.java
  118. +14 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/order/documents/Customer.java
  119. +16 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/order/documents/Item.java
  120. +21 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/order/documents/Order.java
  121. +8 −0 ...i-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/order/repositories/OrderRepository.java
  122. +22 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/user/User.java
  123. +27 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/user/UserController.java
  124. +5 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/app/user/UserRepository.java
  125. +32 −0 tzatziki-spring-mongodb/src/test/java/com/decathlon/tzatziki/steps/TestMongoSteps.java
  126. +121 −0 tzatziki-spring-mongodb/src/test/resources/features/spring-mongo.feature
  127. +66 −0 tzatziki-spring/README.md
  128. +15 −4 tzatziki-spring/pom.xml
  129. +45 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/DefaultWebClientDefinition.java
  130. +61 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/HttpInterceptor.java
  131. +5 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/HttpInterceptorDefinition.java
  132. +38 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/RestTemplateBuilderDefinition.java
  133. +33 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/RestTemplateDefinition.java
  134. +27 −0 tzatziki-spring/src/main/java/com/decathlon/tzatziki/spring/WebClientBuilderDefinition.java
  135. +53 −16 tzatziki-spring/src/main/java/com/decathlon/tzatziki/steps/SpringSteps.java
  136. +44 −1 tzatziki-spring/src/test/java/com/decathlon/tzatziki/app/TestApplication.java
  137. +63 −0 tzatziki-spring/src/test/java/com/decathlon/tzatziki/app/api/HelloController.java
  138. +8 −0 tzatziki-spring/src/test/java/com/decathlon/tzatziki/app/beans/NonSnakeCasePojo.java
  139. +58 −0 tzatziki-spring/src/test/java/com/decathlon/tzatziki/steps/TestApplicationSteps.java
  140. +64 −4 tzatziki-spring/src/test/resources/com/decathlon/tzatziki/steps/spring.feature
  141. +2 −2 tzatziki-testng/README.md
  142. +13 −7 tzatziki-testng/pom.xml
  143. +9 −9 ...-testng/src/test/resources/com/decathlon/tzatziki/steps/scenario-with-background-parallel.feature
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "maven" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
open-pull-requests-limit: 10
5 changes: 2 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -21,15 +21,14 @@ jobs:
java-version: 17

- name: Cache package
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: |
~/.m2/repository
~/.sonar/cache
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build
run: mvn -B verify

@@ -38,7 +37,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: mvn -B sonar:sonar -Dsonar.projectKey=Decathlon_tzatziki
run: mvn -B sonar:sonar -Dsonar.projectKey=Decathlon_tzatziki -Dsonar.token=${{ secrets.SONAR_TOKEN }}

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
2 changes: 2 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -16,6 +16,8 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 17
- name: Set version
run: "echo ${GITHUB_REF##*/} | sed -e s/^v// | mvn versions:set -DnewVersion= && mvn versions:commit"
- name: Build and Release
uses: samuelmeuli/action-maven-publish@v1
with:
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -18,20 +18,20 @@ Look at the links below if you're not sure how to open a PR.
## Submitting a pull request

1. Fork and clone the repository.
1. Configure and install the dependencies.
1. Make sure the tests pass on your machine: `mvn clean verify`.
1. Create a new branch: `git checkout -b my-branch-name`.
1. Add tests, make your change, and make sure the tests still pass.
1. Push to your fork and submit a pull request.
1. Pat your self on the back and wait for your pull request to be reviewed and merged.
2. Configure and install the dependencies.
3. Make sure the tests pass on your machine: `mvn clean verify`.
4. Create a new branch: `git checkout -b my-branch-name`.
5. Add tests, make your change, and make sure the tests still pass.
6. Push to your fork and submit a pull request.
7. Pat your self on the back and wait for your pull request to be reviewed and merged.

Here are a few things you can do that will increase the likelihood of your pull request being accepted:

- Write and update tests.
- Keep your changes as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).

Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocked you.
Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocking you.

## Resources

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
x Apache License
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

92 changes: 55 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -7,7 +7,8 @@ Tzatziki Steps Library
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
![lifecycle: beta](https://img.shields.io/badge/lifecycle-beta-509bf5.svg)

This project is a collection of ready-to-use Cucumber steps making it easy to TDD Java microservices by focusing on an outside-in testing strategy.
This project is a collection of ready-to-use Cucumber steps making it easy to TDD Java microservices by focusing on an
outside-in testing strategy.

## Wait, Cucumber?

@@ -28,9 +29,9 @@ implementations. You can think about it as a partition that will execute pieces

*Why using Cucumber?*

By creating a separation between a test expression and its implementation, the resulting Cucumber test tends to be a bit more
readable than its JUnit counterpart. Additionaly, the reusability of each JUnit implementation is really high, and over time only
the Gherkin needs to be added to test a new feature.
By creating a separation between a test expression and its implementation, the resulting Cucumber test tends to be a bit
more readable than its JUnit counterpart. Additionaly, the reusability of each JUnit implementation is really high, and
over time only the Gherkin needs to be added to test a new feature.

*Okay ... so how does it work?*

@@ -135,9 +136,9 @@ public void the_following_users(List<Map<String, String>> users){
}
```

Those Java methods need to be added to a Steps class, typically something like `LocalSteps`.
Keep in mind that for technical reasons Cucumber will not allow you to extend those steps.
Instead, the framework will enforce composition, and if any class extending a Steps class is detected, an exception will be thrown.
Those Java methods need to be added to a Steps class, typically something like `LocalSteps`. Keep in mind that for
technical reasons Cucumber will not allow you to extend those steps. Instead, the framework will enforce composition,
and if any class extending a Steps class is detected, an exception will be thrown.

Cucumber also comes with support for injection frameworks, so all your dependencies will be properly instantiated and
injected at runtime, per scenario.
@@ -156,8 +157,8 @@ public class BaseSteps {
}

@Given("that we do something")
public void do_something(){
// do something here
public void do_something() {
// do something here
}
}

@@ -170,13 +171,13 @@ public class LocalSteps {
}

@Given("a user named \"(.*)\"")
public void a_user_named(String name){
baseSteps.do_something();
public void a_user_named(String name) {
baseSteps.do_something();
// create a user with that name
}

@Given("the following users")
public void the_following_users(List<Map<String, String>> users){
public void the_following_users(List<Map<String, String>> users) {
// do something with those users
}

@@ -198,13 +199,28 @@ import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(plugin = "pretty")
public class CucumberTest {}
public class CucumberTest {
}
```

By default, cucumber will look for `.feature` files in the same directory structure than the java runner. However, this can be
configured using the `features` property on the `@io.cucumber.junit.CucumberOptions` annotation. In addition, it will also look for
Java classes containing steps next to the runner and this can also be configured by using the `glues` property on the
same annotation.
By default, cucumber will look for `.feature` files in the same directory structure than the java runner. However, this
can be configured using the `features` property on the `@io.cucumber.junit.CucumberOptions` annotation. In addition, it
will also look for Java classes containing steps next to the runner and this can also be configured by using the `glues`
property on the same annotation, as illustrated below:

```java
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = "pretty",
features = "classpath:features", // Locates your feature files in `src/test/resources/features`
glue = {
"com.yourcompany.yourproject.features", // Finds your custom steps definitions in this package
"com.decathlon.tzatziki.steps" // Finds Tzatziki steps definitions
},
tags = "not @ignore")
public class CucumberTest {
}
```

> Tip:
> Sometimes it can be hard to come up with the implementation steps...
@@ -237,26 +253,28 @@ same annotation.

This repository contains several libraries, each one having its own tutorial and documentation when applicable:

- [tzatziki-common](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-common) : dependency module
containing the base classes for the core library, but without cucumber.
- [tzatziki-core](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-core) : the core library,
provides support of our test instances as well as input/output and time management.
- [tzatziki-logback](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-logback) : the logging library,
provides support for dynamically configuring the log levels in your tests.
- [mockfaster](https://github.com/Decathlon/tzatziki/tree/main/mockfaster) : static wrapper around mockserver
to reduce the time taken by redefining mocks.
- [tzatziki-http](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-http) : http library
encapsulating both rest-assured and mockserver.
- [tzatziki-spring](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring) : base library to start
a spring service
- [tzatziki-spring-jpa](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring-jpa) : support for
spring jpa to insert and assert data in the database.
- [tzatziki-spring-kafka](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring-kafka) : support
for spring kafka listener and consumers.
- [tzatziki-mapper](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-mapper) : module containing only the Mapper
interface.
- [tzatziki-jackson](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-jackson) : Jackson implementation of the
Mapper.
- [tzatziki-common](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-common) : dependency module containing the
base classes for the core library, but without cucumber.
- [tzatziki-core](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-core) : the core library, provides support of
our test instances as well as input/output and time management.
- [tzatziki-logback](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-logback) : the logging library, provides
support for dynamically configuring the log levels in your tests.
- [mockfaster](https://github.com/Decathlon/tzatziki/tree/main/mockfaster) : static wrapper around mockserver to reduce
the time taken by redefining mocks.
- [tzatziki-http](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-http) : http library encapsulating both
rest-assured and mockserver.
- [tzatziki-spring](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring) : base library to start a spring
service
- [tzatziki-spring-jpa](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring-jpa) : support for spring jpa to
insert and assert data in the database.
- [tzatziki-spring-kafka](https://github.com/Decathlon/tzatziki/tree/main/tzatziki-spring-kafka) : support for spring
kafka listener and consumers.

## Support

We welcome [contributions](https://github.com/Decathlon/tzatziki/tree/main/CONTRIBUTING.md), opinions, bug reports and feature requests!



We welcome [contributions](https://github.com/Decathlon/tzatziki/tree/main/CONTRIBUTING.md), opinions, bug reports and
feature requests!
2 changes: 1 addition & 1 deletion mockfaster/README.md
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ MockFaster! like MockServer ... but Fast!

Mockserver can be quite slow at redefining mocks. Internally, it uses a client/server model that serializes all the requests.
MockFaster will use reflection to access the server part of mockserver and only create the handlers if they haven't been created yet.
That way, there is no performance cost in redifining a mock, it's only about swapping the internal handler.
That way, there is no performance cost in redefining a mock, it's only about swapping the internal handler.

You can use MockFaster as a direct replacement of MockServer, so:

30 changes: 24 additions & 6 deletions mockfaster/pom.xml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
<parent>
<artifactId>tzatziki-parent</artifactId>
<groupId>com.decathlon.tzatziki</groupId>
<version>1.0.3</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@@ -26,7 +26,7 @@
<dependency>
<groupId>com.decathlon.tzatziki</groupId>
<artifactId>tzatziki-common</artifactId>
<version>1.0.3</version>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
@@ -61,17 +61,29 @@
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</exclusion>
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-scripting</artifactId>
<version>2.3</version>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>com.github.java-json-tools</groupId>
@@ -106,7 +118,7 @@
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-core</artifactId>
<version>1.6.2</version>
<version>1.6.15</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
@@ -117,7 +129,13 @@
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.3.0</version>
<version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.decathlon.tzatziki</groupId>
<artifactId>tzatziki-jackson</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
Loading