generator-jhipster 8.4.0 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/generators/angular/resources/package.json +10 -10
  2. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
  3. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  4. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +2 -2
  5. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  6. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  7. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  8. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  12. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
  13. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
  14. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  15. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  16. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  18. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +10 -8
  20. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  21. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  22. package/dist/generators/app/generator.js +4 -13
  23. package/dist/generators/base/generator.js +15 -16
  24. package/dist/generators/base/priorities.js +12 -1
  25. package/dist/generators/base-application/generator.js +14 -2
  26. package/dist/generators/base-application/priorities.js +1 -0
  27. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  28. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  29. package/dist/generators/base-core/generator.js +40 -9
  30. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  31. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  32. package/dist/generators/client/command.js +2 -2
  33. package/dist/generators/client/generators/common/command.js +5 -0
  34. package/dist/generators/client/generators/common/generator.js +79 -0
  35. package/dist/generators/client/generators/common/index.js +20 -0
  36. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  37. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  38. package/dist/generators/client/resources/package.json +4 -4
  39. package/dist/generators/common/generator.js +5 -0
  40. package/dist/generators/common/resources/package.json +2 -2
  41. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  42. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  43. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  44. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  45. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  46. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -1
  47. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  48. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  49. package/dist/generators/entity/generator.js +2 -10
  50. package/dist/generators/entity/prompts.js +6 -11
  51. package/dist/generators/gatling/README.md +15 -0
  52. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  53. package/dist/generators/generate-blueprint/command.js +16 -0
  54. package/dist/generators/generate-blueprint/files.js +8 -0
  55. package/dist/generators/generate-blueprint/generator.js +17 -10
  56. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  57. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  58. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  59. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  60. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  61. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +24 -0
  62. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  63. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
  64. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  65. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  66. package/dist/generators/generator-constants.js +1 -1
  67. package/dist/generators/info/generator.js +1 -3
  68. package/dist/generators/init/generator.js +2 -2
  69. package/dist/generators/init/resources/.node-version +1 -1
  70. package/dist/generators/java/generators/build-tool/command.js +4 -1
  71. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  72. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  73. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  74. package/dist/generators/java/support/add-java-annotation.js +28 -7
  75. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  76. package/dist/generators/java/support/index.js +1 -1
  77. package/dist/generators/jdl/generator.js +1 -1
  78. package/dist/generators/kubernetes/files.js +1 -1
  79. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
  80. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  81. package/dist/generators/languages/generator.js +4 -2
  82. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  83. package/dist/generators/maven/templates/mvnw +185 -243
  84. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  85. package/dist/generators/react/generator.js +10 -0
  86. package/dist/generators/react/resources/package.json +24 -24
  87. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  88. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  89. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  90. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  91. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  92. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  93. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  94. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  95. package/dist/generators/server/command.js +0 -11
  96. package/dist/generators/server/generator.js +9 -70
  97. package/dist/generators/server/jdl/application-definition.js +3 -1
  98. package/dist/generators/server/resources/Dockerfile +12 -12
  99. package/dist/generators/server/resources/gradle/libs.versions.toml +7 -5
  100. package/dist/generators/server/resources/pom.xml +7 -7
  101. package/dist/generators/server/support/config.js +4 -8
  102. package/dist/generators/server/support/prepare-entity.js +5 -6
  103. package/dist/generators/server/support/relationship.js +5 -2
  104. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  105. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -0
  106. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -0
  107. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  108. package/dist/generators/server/templates/pom.xml.ejs +7 -5
  109. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  110. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  111. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  112. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  113. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -20
  114. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  115. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -0
  116. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  117. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +43 -9
  118. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +59 -21
  119. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  120. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  121. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  122. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  123. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  124. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  125. package/dist/generators/spring-boot/command.js +117 -6
  126. package/dist/generators/spring-boot/files.js +0 -5
  127. package/dist/generators/spring-boot/generator.js +40 -7
  128. package/dist/generators/spring-boot/prompts.js +6 -70
  129. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +368 -576
  130. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  131. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  132. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  133. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  134. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  135. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  136. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -1
  137. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  138. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  139. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  140. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  141. package/dist/generators/vue/resources/package.json +15 -15
  142. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  143. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  144. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  145. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  146. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  147. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  148. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  149. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  150. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  151. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  152. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  153. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  154. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  155. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  156. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  157. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  158. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  159. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  160. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  161. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  162. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  163. package/dist/jdl/exporters/config.js +1 -0
  164. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  165. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  166. package/dist/jdl/jdl-importer.js +22 -20
  167. package/dist/jdl/jhipster/binary-options.js +12 -8
  168. package/dist/jdl/jhipster/json-entity.js +1 -1
  169. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  170. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  171. package/dist/jdl/models/jdl-binary-option.js +2 -2
  172. package/dist/jdl/models/jdl-deployment.js +11 -0
  173. package/dist/jdl/models/jdl-entity.js +1 -1
  174. package/dist/jdl/models/jdl-enum.js +1 -1
  175. package/dist/jdl/models/jdl-enums.js +0 -18
  176. package/dist/jdl/models/jdl-field.js +2 -2
  177. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  178. package/dist/jdl/models/jdl-object.js +23 -45
  179. package/dist/jdl/models/jdl-options.js +0 -18
  180. package/dist/jdl/models/jdl-relationships.js +8 -16
  181. package/dist/jdl/models/jdl-unary-option.js +1 -1
  182. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  183. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  184. package/dist/jdl/parsing/jdl-parser.js +14 -0
  185. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  186. package/dist/jdl/parsing/validator.js +16 -2
  187. package/dist/jdl/readers/json-reader.js +1 -1
  188. package/dist/jdl/utils/array-utils.js +6 -0
  189. package/dist/jdl/utils/set-utils.js +3 -2
  190. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  191. package/dist/testing/helpers.js +4 -0
  192. package/dist/types/generators/base/api.d.ts +5 -1
  193. package/dist/types/generators/base/generator.d.ts +10 -4
  194. package/dist/types/generators/base/priorities.d.ts +4 -0
  195. package/dist/types/generators/base/shared-data.d.ts +1 -1
  196. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  197. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  198. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  199. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  200. package/dist/types/generators/base-core/generator.d.ts +16 -1
  201. package/dist/types/generators/generator-constants.d.ts +1 -1
  202. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  203. package/dist/types/generators/java/support/doc.d.ts +1 -1
  204. package/dist/types/generators/java/support/index.d.ts +1 -1
  205. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  206. package/dist/types/generators/server/types.d.ts +5 -0
  207. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  208. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  209. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  210. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  211. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  212. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  213. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  214. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  215. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  216. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  217. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  218. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  219. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  220. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  221. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  222. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  223. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  224. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  225. package/dist/types/jdl/converters/types.d.ts +102 -14
  226. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  227. package/dist/types/jdl/exporters/config.d.ts +2 -1
  228. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  229. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  230. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  231. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  232. package/dist/types/jdl/exporters/types.d.ts +61 -0
  233. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  234. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  235. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  236. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  237. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  238. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  239. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  240. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  241. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  242. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  243. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  244. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  245. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  246. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  247. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  248. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  249. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  250. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  251. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  252. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  253. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  254. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  255. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  256. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  257. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  258. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  259. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  260. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  261. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  262. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  263. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  264. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  265. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  266. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  267. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  268. package/dist/types/testing/helpers.d.ts +13 -3
  269. package/package.json +24 -23
  270. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -47,6 +47,7 @@ import tech.jhipster.security.RandomUtil;
47
47
  <%_ if (!authenticationTypeOauth2) { _%>
48
48
  import org.apache.commons.lang3.RandomStringUtils;
49
49
  <%_ } _%>
50
+ import org.junit.jupiter.api.AfterEach;
50
51
  import org.junit.jupiter.api.BeforeEach;
51
52
  import org.junit.jupiter.api.Test;
52
53
  import org.springframework.beans.factory.annotation.Autowired;
@@ -127,6 +128,11 @@ import static org.mockito.Mockito.any;
127
128
  <%_ if (databaseTypeSql && !reactive && !authenticationTypeOauth2) { _%>
128
129
  import static org.mockito.Mockito.when;
129
130
  <%_ } _%>
131
+ <%_ if (cacheProviderAny) { _%>
132
+ import org.springframework.cache.CacheManager;
133
+ import org.springframework.cache.Cache;
134
+ import java.util.Objects;
135
+ <%_ } _%>
130
136
 
131
137
  /**
132
138
  * Integration tests for {@link UserService}.
@@ -137,14 +143,19 @@ import static org.mockito.Mockito.when;
137
143
  <%_ } _%>
138
144
  class UserServiceIT {
139
145
 
140
- private static final String DEFAULT_LOGIN = "johndoe";
146
+ private static final String DEFAULT_LOGIN = "johndoe_service";
141
147
 
142
- private static final String DEFAULT_EMAIL = "johndoe@localhost";
148
+ private static final String DEFAULT_EMAIL = "johndoe_service@localhost";
143
149
 
144
150
  private static final String DEFAULT_FIRSTNAME = "john";
145
151
 
146
152
  private static final String DEFAULT_LASTNAME = "doe";
147
153
 
154
+ <%_ if (cacheProviderAny) { _%>
155
+ @Autowired
156
+ private CacheManager cacheManager;
157
+
158
+ <%_ } _%>
148
159
  <%_ if (!databaseTypeCassandra) { _%>
149
160
  private static final String DEFAULT_IMAGEURL = "http://placehold.it/50x50";
150
161
 
@@ -189,21 +200,21 @@ class UserServiceIT {
189
200
  <%_ if (authenticationTypeOauth2) { _%>
190
201
  private Map<String, Object> userDetails;
191
202
 
203
+ <%_ } _%>
204
+ <%_ if (!databaseTypeCassandra && !requiresDeleteAllUsers) { _%>
205
+ private Long numberOfUsers;
206
+
207
+ @BeforeEach
208
+ public void countUsers() {
209
+ numberOfUsers = userRepository.count()<%- reactorBlock %>;
210
+ }
211
+
192
212
  <%_ } _%>
193
213
  @BeforeEach
194
214
  public void init() {
195
215
  <%_ if (databaseTypeCouchbase) { _%>
196
216
  mockAuthentication();
197
217
  <%_ } _%>
198
- <%_ if ((databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) && authenticationTypeSession && !reactive) { _%>
199
- persistentTokenRepository.deleteAll();
200
- <%_ } _%>
201
- <%_ if (databaseTypeSql && reactive) { _%>
202
- userRepository.deleteAllUserAuthorities().block();
203
- <%_ } _%>
204
- <%_ if ((reactive && !databaseTypeNo) || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCassandra || databaseTypeCouchbase) { _%>
205
- userRepository.deleteAll()<% if (reactive) { %>.block()<% } %>;
206
- <%_ } _%>
207
218
  <%_ if (!databaseTypeNo) { _%>
208
219
  user = new <%= user.persistClass %>();
209
220
  <%_ if (databaseTypeCassandra) { _%>
@@ -240,6 +251,31 @@ class UserServiceIT {
240
251
 
241
252
  when(dateTimeProvider.getNow()).thenReturn(Optional.of(LocalDateTime.now()));
242
253
  auditingHandler.setDateTimeProvider(dateTimeProvider);
254
+ <%_ } _%>
255
+ }
256
+
257
+ @AfterEach
258
+ public void cleanupAndCheck() {
259
+ <%_ if (cacheProviderAny) { _%>
260
+ cacheManager.getCacheNames().stream()
261
+ .map(cacheName -> this.cacheManager.getCache(cacheName))
262
+ .filter(Objects::nonNull)
263
+ .forEach(Cache::clear);
264
+ <%_ } _%>
265
+ <%_ if ((databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) && authenticationTypeSession && !reactive) { _%>
266
+ persistentTokenRepository.deleteAll();
267
+ <%_ } _%>
268
+ <%_ if (requiresDeleteAllUsers) { _%>
269
+ <%_ if (databaseTypeSql && reactive) { _%>
270
+ userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
271
+ <%_ } _%>
272
+ userRepository.deleteAll()<%- reactorBlock %>;
273
+ <%_ } else { _%>
274
+ userService.deleteUser(DEFAULT_LOGIN)<%- reactorBlock %>;
275
+ <%_ } _%>
276
+ <%_ if (!databaseTypeCassandra && !requiresDeleteAllUsers) { _%>
277
+ assertThat(userRepository.count()<%- reactorBlock %>).isEqualTo(numberOfUsers);
278
+ numberOfUsers = null;
243
279
  <%_ } _%>
244
280
  }
245
281
  <%_ if ((databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) && authenticationTypeSession && !reactive) { _%>
@@ -18,6 +18,8 @@
18
18
  -%>
19
19
  package <%= packageName %>.web.rest;
20
20
 
21
+ import static org.assertj.core.api.Assertions.assertThat;
22
+
21
23
  import <%= packageName %>.IntegrationTest;
22
24
  <%_ if (databaseTypeSql && reactive) { _%>
23
25
  import <%= packageName %>.config.Constants;
@@ -27,6 +29,9 @@ import <%= packageName %>.config.TestSecurityConfiguration;
27
29
  <%_ } _%>
28
30
  import <%= user.entityAbsoluteClass %>;
29
31
  import <%= packageName %>.repository.UserRepository;
32
+ <%_ if (!requiresDeleteAllUsers) { _%>
33
+ import <%= packageName %>.service.UserService;
34
+ <%_ } _%>
30
35
  <%_ if (searchEngineElasticsearch) { _%>
31
36
  import <%= packageName %>.repository.search.UserSearchRepository;
32
37
  <%_ } _%>
@@ -34,6 +39,7 @@ import <%= packageName %>.security.AuthoritiesConstants;
34
39
  <%_ if (databaseTypeSql && reactive) { _%>
35
40
  import <%= packageName %>.repository.EntityManager;
36
41
  <%_ } _%>
42
+ import org.junit.jupiter.api.AfterEach;
37
43
  import org.junit.jupiter.api.BeforeEach;
38
44
  import org.junit.jupiter.api.Test;
39
45
  import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +50,8 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMock
44
50
  <%_ } _%>
45
51
  <%_ if (cacheProviderAny) { _%>
46
52
  import org.springframework.cache.CacheManager;
53
+ import org.springframework.cache.Cache;
54
+ import java.util.Objects;
47
55
  <%_ } _%>
48
56
  <%_ if (cacheProviderMemcached) { _%>
49
57
  import org.springframework.cache.support.NoOpCacheManager;
@@ -76,20 +84,14 @@ import java.util.stream.Stream;
76
84
  <%_ if (databaseTypeCassandra) { _%>
77
85
  import java.util.UUID;
78
86
  <%_ } _%>
87
+ import java.util.Set;
79
88
 
80
- <%_ if (reactive) { _%>
81
- import static org.assertj.core.api.Assertions.assertThat;
82
- <%_ } _%>
83
89
  <%_ if (reactive && searchEngineElasticsearch) { _%>
84
90
  import static org.mockito.Mockito.*;
85
91
  <%_ } _%>
86
92
  <%_ if (reactive && authenticationUsesCsrf) { _%>
87
93
  import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf;
88
94
  <%_ } else if (!reactive) { _%>
89
- <%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%>
90
- import static org.hamcrest.Matchers.hasItems;
91
- <%_ } _%>
92
- import static org.hamcrest.Matchers.hasItem;
93
95
  import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
94
96
  import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
95
97
  <%_ } _%>
@@ -115,6 +117,11 @@ class PublicUserResourceIT {
115
117
 
116
118
  @Autowired
117
119
  private UserRepository userRepository;
120
+ <%_ if (!requiresDeleteAllUsers) { _%>
121
+
122
+ @Autowired
123
+ private UserService userService;
124
+ <%_ } _%>
118
125
  <%_ if (searchEngineElasticsearch) { _%>
119
126
 
120
127
  /**
@@ -139,17 +146,18 @@ class PublicUserResourceIT {
139
146
  @Autowired
140
147
  <%_ if (reactive) { _%>
141
148
  private WebTestClient webTestClient;
149
+
142
150
  <%_ } else { _%>
143
151
  private MockMvc restUserMockMvc;
144
- <%_ } _%>
145
152
 
153
+ <%_ } _%>
146
154
  private <%= user.persistClass %> user;
155
+ <%_ if (!databaseTypeCassandra && !requiresDeleteAllUsers) { _%>
156
+ private Long numberOfUsers;
147
157
 
148
- <%_ if (cacheProviderAny) { _%>
149
158
  @BeforeEach
150
- public void setup() {
151
- cacheManager.getCache(UserRepository.USERS_BY_LOGIN_CACHE).clear();
152
- cacheManager.getCache(UserRepository.USERS_BY_EMAIL_CACHE).clear();
159
+ public void countUsers() {
160
+ numberOfUsers = userRepository.count()<%- reactorBlock %>;
153
161
  }
154
162
 
155
163
  <%_ } _%>
@@ -162,7 +170,29 @@ class PublicUserResourceIT {
162
170
  <%_ } _%>
163
171
  @BeforeEach
164
172
  public void initTest() {
165
- user = UserResourceIT.initTestUser(userRepository<% if (databaseTypeSql) { %>, em<% } %>);
173
+ user = UserResourceIT.initTestUser(<% if (databaseTypeSql) { %>em<% } %>);
174
+ }
175
+
176
+ @AfterEach
177
+ public void cleanupAndCheck() {
178
+ <%_ if (cacheProviderAny) { _%>
179
+ cacheManager.getCacheNames().stream()
180
+ .map(cacheName -> this.cacheManager.getCache(cacheName))
181
+ .filter(Objects::nonNull)
182
+ .forEach(Cache::clear);
183
+ <%_ } _%>
184
+ <%_ if (requiresDeleteAllUsers) { _%>
185
+ <%_ if (databaseTypeSql && reactive) { _%>
186
+ userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
187
+ <%_ } _%>
188
+ userRepository.deleteAll()<%- reactorBlock %>;
189
+ <%_ } else { _%>
190
+ userService.deleteUser(user.getLogin())<%- reactorBlock %>;
191
+ <%_ } _%>
192
+ <%_ if (!databaseTypeCassandra && !requiresDeleteAllUsers) { _%>
193
+ assertThat(userRepository.count()<%- reactorBlock %>).isEqualTo(numberOfUsers);
194
+ numberOfUsers = null;
195
+ <%_ } _%>
166
196
  }
167
197
 
168
198
  @Test
@@ -175,32 +205,38 @@ class PublicUserResourceIT {
175
205
 
176
206
  // Get all the users
177
207
  <%_ if (reactive) { _%>
178
- <%= user.dtoClass %> foundUser = webTestClient.get().uri("/api/users?sort=id,desc")
208
+ webTestClient.get().uri("/api/users?sort=id,desc")
179
209
  .accept(MediaType.APPLICATION_JSON)
180
210
  .exchange()
181
211
  .expectStatus().isOk()
182
212
  .expectHeader().contentType(MediaType.APPLICATION_JSON)
183
- .returnResult(<%= user.dtoClass %>.class).getResponseBody().blockFirst();
184
-
185
- assertThat(foundUser.getLogin()).isEqualTo(DEFAULT_LOGIN);
213
+ .expectBody()
214
+ .jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].login", user.getId()).isEqualTo(user.getLogin())
215
+ .jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].keys()", user.getId()).isEqualTo(Set.of("id", "login"))
186
216
  <%_ for (field of user.fields.filter(field => !field.builtIn && field.relatedByOtherEntity)) { _%>
187
- assertThat(foundUser.get<%= field.propertyJavaBeanName %>()).isEqualTo(DEFAULT_<%= field.fieldName.toUpperCase() %>);
217
+ .jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].<%= field.fieldName %>", user.getId()).isEqualTo(user.get<%= field.propertyJavaBeanName %>())
188
218
  <%_ } _%>
219
+ .jsonPath("$.[*].email").doesNotHaveJsonPath()
220
+ <%_ if (!databaseTypeCassandra) { _%>
221
+ .jsonPath("$.[*].imageUrl").doesNotHaveJsonPath()
222
+ <%_ } _%>
223
+ .jsonPath("$.[*].langKey").doesNotHaveJsonPath();
189
224
  <%_ } else { _%>
190
225
  restUserMockMvc.perform(get("/api/users<% if (databaseTypeSql) { %>?sort=id,desc<% } %>")
191
226
  .accept(MediaType.APPLICATION_JSON))
192
227
  .andExpect(status().isOk())
193
228
  .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE))
194
- .andExpect(jsonPath("$.[*].login").value(hasItem(DEFAULT_LOGIN)))
229
+ .andExpect(jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].login", user.getId()).value(user.getLogin()))
230
+ .andExpect(jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].keys()", user.getId()).value(Set.of("id", "login")))
195
231
  <%_ for (field of user.fields.filter(field => !field.builtIn && field.relatedByOtherEntity)) { _%>
196
- .andExpect(jsonPath("$.[*].<%= field.fieldName %>").value(hasItem(DEFAULT_<%= field.fieldName.toUpperCase() %>)))
232
+ .andExpect(jsonPath("$.[?(@.id == <%- primaryKey.typeNumeric ? '%d' : "'%s'" %>)].<%= field.fieldName %>", user.getId()).value(user.get<%= field.propertyJavaBeanName %>()))
197
233
  <%_ } _%>
198
- .andExpect(jsonPath("$.[*].email").doesNotExist())
234
+ .andExpect(jsonPath("$.[*].email").doesNotHaveJsonPath())
199
235
  <%_ if (!databaseTypeCassandra) { _%>
200
- .andExpect(jsonPath("$.[*].imageUrl").doesNotExist())
236
+ .andExpect(jsonPath("$.[*].imageUrl").doesNotHaveJsonPath())
201
237
  <%_ } _%>
202
- .andExpect(jsonPath("$.[*].langKey").doesNotExist());
203
- <% } _%>
238
+ .andExpect(jsonPath("$.[*].langKey").doesNotHaveJsonPath());
239
+ <%_ } _%>
204
240
  }
205
241
 
206
242
  <%_ if (databaseTypeSql && !authenticationTypeOauth2) { _%>