generator-jhipster 7.8.1 → 7.9.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 (526) hide show
  1. package/README.md +1 -1
  2. package/cli/environment-builder.js +3 -1
  3. package/cli/import-jdl.js +61 -35
  4. package/cli/jdl.js +5 -4
  5. package/cli/jhipster-command.js +1 -1
  6. package/cli/jhipster.js +0 -0
  7. package/cli/program.js +5 -3
  8. package/generators/app/index.js +11 -0
  9. package/generators/app/prompts.js +60 -12
  10. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
  11. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
  12. package/generators/bootstrap/index.js +1 -0
  13. package/generators/bootstrap-application/generator.mjs +1 -0
  14. package/generators/ci-cd/templates/.gitlab-ci.yml.ejs +2 -3
  15. package/generators/client/files-angular.js +72 -89
  16. package/generators/client/files-react.js +63 -74
  17. package/generators/client/files-vue.js +8 -54
  18. package/generators/client/index.js +18 -11
  19. package/generators/client/needle-api/needle-client-angular.js +1 -4
  20. package/generators/client/needle-api/needle-client-react.js +2 -2
  21. package/generators/client/prompts.js +1 -0
  22. package/generators/client/templates/angular/.eslintrc.json.ejs +10 -1
  23. package/generators/client/templates/angular/angular.json.ejs +0 -1
  24. package/generators/client/templates/angular/jest.conf.js.ejs +3 -1
  25. package/generators/client/templates/angular/package.json +31 -31
  26. package/generators/client/templates/angular/package.json.ejs +23 -22
  27. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  28. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  29. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +15 -15
  30. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +17 -11
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -16
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +14 -9
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -9
  34. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +27 -27
  35. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +28 -13
  36. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -7
  37. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +19 -19
  38. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  39. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.ts.ejs +35 -37
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.module.ts.ejs +0 -1
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -16
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +2 -1
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +133 -138
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +22 -24
  61. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +40 -49
  62. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
  63. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.module.ts.ejs +0 -1
  64. package/generators/client/templates/angular/src/main/webapp/app/config/navigation.constants.ts.ejs +23 -0
  65. package/generators/client/templates/angular/src/main/webapp/app/config/pagination.constants.ts.ejs +2 -3
  66. package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.model.ts.ejs +2 -2
  68. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.ts.ejs +7 -3
  69. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.html.ejs +14 -14
  70. package/generators/client/templates/angular/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  72. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  73. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  74. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +9 -9
  75. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +16 -27
  76. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +10 -0
  77. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +23 -0
  78. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +40 -0
  79. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +95 -0
  80. package/generators/client/templates/angular/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/shared.module.ts.ejs +3 -0
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.service.ts.ejs +31 -0
  83. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +3 -8
  84. package/generators/client/templates/angular/tsconfig.json.ejs +6 -0
  85. package/generators/client/templates/angular/tsconfig.spec.json.ejs +1 -1
  86. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +6 -2
  87. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +1 -1
  88. package/generators/client/templates/common/package.json +6 -6
  89. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +2 -0
  90. package/generators/client/templates/react/.eslintrc.json.ejs +10 -1
  91. package/generators/client/templates/react/jest.conf.js.ejs +3 -1
  92. package/generators/client/templates/react/package.json +57 -57
  93. package/generators/client/templates/react/package.json.ejs +3 -3
  94. package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +3 -3
  95. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +1 -1
  96. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +7 -5
  97. package/generators/client/templates/react/src/main/webapp/app/modules/account/activate/activate.tsx.ejs +8 -4
  98. package/generators/client/templates/react/src/main/webapp/app/modules/account/index.tsx.ejs +9 -6
  99. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +1 -0
  100. package/generators/client/templates/react/src/main/webapp/app/modules/account/password-reset/finish/password-reset-finish.tsx.ejs +8 -5
  101. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -7
  102. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +3 -2
  103. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +4 -4
  104. package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +14 -11
  105. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +8 -2
  106. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +13 -13
  107. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-delete-dialog.tsx.ejs +7 -4
  108. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-detail.tsx.ejs +5 -3
  109. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-update.tsx.ejs +10 -6
  110. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +18 -26
  111. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +6 -3
  112. package/generators/client/templates/react/src/main/webapp/app/modules/login/login.tsx.ejs +6 -5
  113. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +53 -25
  114. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +30 -27
  115. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.tsx.ejs +35 -34
  116. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +55 -0
  117. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +21 -0
  118. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +1 -1
  119. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -1
  120. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +8 -10
  121. package/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs +9 -13
  122. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +3 -5
  123. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +5 -8
  124. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +1 -1
  125. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-item.tsx.ejs +12 -11
  126. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +2 -2
  127. package/generators/client/templates/react/tsconfig.json.ejs +2 -4
  128. package/generators/client/templates/react/tsconfig.test.json.ejs +1 -0
  129. package/generators/client/templates/react/webpack/webpack.common.js.ejs +7 -3
  130. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +4 -4
  131. package/generators/client/templates/vue/.eslintrc.js.ejs +10 -1
  132. package/generators/client/templates/vue/package.json +40 -39
  133. package/generators/client/templates/vue/package.json.ejs +3 -3
  134. package/generators/client/templates/vue/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +2 -2
  135. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.vue.ejs +1 -1
  136. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
  137. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +5 -3
  138. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +2 -2
  139. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
  140. package/generators/client/templates/vue/src/main/webapp/app/shared/date/filters.ts.ejs +0 -6
  141. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -0
  142. package/generators/client/templates/vue/src/test/javascript/spec/app/account/register/register.component.spec.ts.ejs +1 -1
  143. package/generators/client/templates/vue/tsconfig.json.ejs +1 -1
  144. package/generators/client/templates/vue/tsconfig.spec.json.ejs +2 -2
  145. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +4 -0
  146. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +8 -1
  147. package/generators/client/transform-angular.cjs +117 -0
  148. package/generators/client/transform-react.cjs +126 -0
  149. package/generators/client/transform-vue.cjs +42 -0
  150. package/generators/common/files.js +2 -9
  151. package/generators/common/templates/.husky/pre-commit.ejs +0 -0
  152. package/generators/common/templates/README.md.jhi.ejs +21 -5
  153. package/generators/common/templates/package.json +3 -3
  154. package/generators/cypress/files.js +34 -22
  155. package/generators/cypress/index.js +42 -19
  156. package/generators/cypress/templates/cypress-audits.config.ts.ejs +28 -0
  157. package/generators/cypress/templates/cypress.config.ts.ejs +57 -0
  158. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/login-page.spec.ts.ejs → e2e/account/login-page.cy.ts.ejs} +0 -0
  159. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/password-page.spec.ts.ejs → e2e/account/password-page.cy.ts.ejs} +0 -0
  160. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/register-page.spec.ts.ejs → e2e/account/register-page.cy.ts.ejs} +0 -0
  161. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/reset-password-page.spec.ts.ejs → e2e/account/reset-password-page.cy.ts.ejs} +0 -0
  162. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/settings-page.spec.ts.ejs → e2e/account/settings-page.cy.ts.ejs} +0 -0
  163. package/generators/cypress/templates/src/test/javascript/cypress/{integration/administration/administration.spec.ts.ejs → e2e/administration/administration.cy.ts.ejs} +1 -1
  164. package/generators/cypress/templates/src/test/javascript/cypress/{integration → e2e}/lighthouse.audits.ts.ejs +0 -0
  165. package/generators/cypress/templates/src/test/javascript/cypress/plugins/global.d.ts.ejs +25 -0
  166. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +13 -14
  167. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +4 -4
  168. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  169. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +8 -8
  170. package/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +8 -5
  171. package/generators/database-changelog-liquibase/files.js +1 -1
  172. package/generators/database-changelog-liquibase/index.js +3 -0
  173. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  174. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +1 -1
  175. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
  176. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +2 -2
  177. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +1 -1
  178. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +2 -2
  179. package/generators/docker-base.js +6 -3
  180. package/generators/docker-compose/files.js +5 -2
  181. package/generators/docker-compose/index.js +13 -24
  182. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
  183. package/generators/docker-compose/templates/docker-compose.yml.ejs +10 -8
  184. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +62 -4
  185. package/generators/docker-prompts.js +1 -2
  186. package/generators/docker-utils.js +0 -1
  187. package/generators/entity/index.js +5 -15
  188. package/generators/entity/prompts.js +1 -52
  189. package/generators/entity-client/files-angular.cjs +169 -0
  190. package/generators/entity-client/files-cypress.cjs +52 -0
  191. package/generators/entity-client/files-react.cjs +113 -0
  192. package/generators/entity-client/files-vue.cjs +140 -0
  193. package/generators/entity-client/files.js +10 -381
  194. package/generators/entity-client/index.js +120 -19
  195. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +4 -5
  196. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.ts.ejs +2 -1
  197. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +12 -11
  198. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +0 -5
  199. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +18 -25
  200. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.test-samples.ts.ejs +45 -0
  201. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +45 -37
  202. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +47 -28
  203. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +292 -94
  204. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +5 -106
  205. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +2 -82
  206. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +5 -5
  207. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.ts.ejs +5 -5
  208. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +2 -3
  209. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +89 -175
  210. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +69 -44
  211. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.spec.ts.ejs +111 -0
  212. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +263 -0
  213. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +99 -120
  214. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +47 -71
  215. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +79 -195
  216. package/generators/entity-client/templates/{common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs → cypress/src/test/javascript/cypress/e2e/entity/entity.cy.ts.ejs} +26 -17
  217. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +10 -5
  218. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -3
  219. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +11 -6
  220. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -10
  221. package/generators/entity-client/templates/react/src/main/webapp/app/entities/index.tsx.ejs +13 -13
  222. package/generators/entity-client/templates/react/src/main/webapp/app/entities/react_validators.ejs +25 -32
  223. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +2 -2
  224. package/generators/entity-server/cleanup.js +41 -0
  225. package/generators/entity-server/files.js +118 -53
  226. package/generators/entity-server/index.js +14 -27
  227. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  228. package/generators/entity-server/templates/partials/update_template.ejs +1 -1
  229. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +11 -5
  230. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +17 -0
  231. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +3 -1
  232. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +6 -1
  233. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +1 -1
  234. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +2 -2
  235. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +13 -6
  236. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +1 -1
  237. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +46 -9
  238. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +3 -3
  239. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +2 -2
  240. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -5
  241. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +140 -132
  242. package/generators/gae/index.js +1 -1
  243. package/generators/generate-blueprint/constants.mjs +22 -2
  244. package/generators/generate-blueprint/esm.mjs +0 -0
  245. package/generators/generate-blueprint/generator.mjs +25 -6
  246. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +5 -3
  247. package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
  248. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +2 -1
  249. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +6 -5
  250. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +10 -1
  251. package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
  252. package/generators/generator-base-blueprint.js +19 -20
  253. package/generators/generator-base-private.js +116 -64
  254. package/generators/generator-base.js +241 -91
  255. package/generators/generator-constants.js +118 -66
  256. package/generators/generator-defaults.js +1 -0
  257. package/generators/heroku/index.js +5 -4
  258. package/generators/heroku/templates/application-heroku.yml.ejs +1 -2
  259. package/generators/heroku/templates/heroku.gradle.ejs +28 -1
  260. package/generators/heroku/templates/pom-profile.xml.ejs +29 -0
  261. package/generators/init/templates/.husky/pre-commit +0 -0
  262. package/generators/java/index.cjs +2 -2
  263. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -2
  264. package/generators/kubernetes/templates/db/mongodb.yml.ejs +1 -2
  265. package/generators/kubernetes/templates/ingress.yml.ejs +11 -4
  266. package/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
  267. package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -2
  268. package/generators/kubernetes/templates/registry/consul.yml.ejs +1 -2
  269. package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +1 -2
  270. package/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
  271. package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +7 -1
  272. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +7 -1
  273. package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +7 -1
  274. package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +7 -1
  275. package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +7 -1
  276. package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +7 -1
  277. package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +7 -1
  278. package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +7 -1
  279. package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +7 -1
  280. package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +7 -1
  281. package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +7 -1
  282. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +3 -0
  283. package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +7 -1
  284. package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +7 -1
  285. package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +7 -1
  286. package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +7 -1
  287. package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +7 -1
  288. package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +7 -1
  289. package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +7 -1
  290. package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +7 -1
  291. package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +7 -1
  292. package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +7 -1
  293. package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +7 -1
  294. package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +7 -1
  295. package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +7 -1
  296. package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +7 -1
  297. package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +7 -1
  298. package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +7 -1
  299. package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +7 -1
  300. package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +7 -1
  301. package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +7 -1
  302. package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +7 -1
  303. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +7 -1
  304. package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +7 -1
  305. package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +7 -1
  306. package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +7 -1
  307. package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +7 -1
  308. package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +7 -1
  309. package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +7 -1
  310. package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +7 -1
  311. package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +7 -1
  312. package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +7 -1
  313. package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +7 -1
  314. package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +7 -1
  315. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +7 -1
  316. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +7 -1
  317. package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +7 -1
  318. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +7 -1
  319. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +7 -1
  320. package/generators/languages/templates/src/test/resources/i18n/messages_al.properties.ejs +4 -1
  321. package/generators/languages/templates/src/test/resources/i18n/messages_ar_LY.properties.ejs +4 -1
  322. package/generators/languages/templates/src/test/resources/i18n/messages_bg.properties.ejs +1 -1
  323. package/generators/languages/templates/src/test/resources/i18n/messages_bn.properties.ejs +4 -1
  324. package/generators/languages/templates/src/test/resources/i18n/messages_by.properties.ejs +4 -1
  325. package/generators/languages/templates/src/test/resources/i18n/messages_ca.properties.ejs +4 -1
  326. package/generators/languages/templates/src/test/resources/i18n/messages_cs.properties.ejs +4 -1
  327. package/generators/languages/templates/src/test/resources/i18n/messages_da.properties.ejs +4 -1
  328. package/generators/languages/templates/src/test/resources/i18n/messages_de.properties.ejs +4 -1
  329. package/generators/languages/templates/src/test/resources/i18n/messages_el.properties.ejs +4 -1
  330. package/generators/languages/templates/src/test/resources/i18n/messages_es.properties.ejs +4 -1
  331. package/generators/languages/templates/src/test/resources/i18n/messages_et.properties.ejs +4 -1
  332. package/generators/languages/templates/src/test/resources/i18n/messages_fa.properties.ejs +4 -1
  333. package/generators/languages/templates/src/test/resources/i18n/messages_fi.properties.ejs +1 -1
  334. package/generators/languages/templates/src/test/resources/i18n/messages_gl.properties.ejs +4 -1
  335. package/generators/languages/templates/src/test/resources/i18n/messages_hi.properties.ejs +4 -1
  336. package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +1 -1
  337. package/generators/languages/templates/src/test/resources/i18n/messages_hu.properties.ejs +4 -1
  338. package/generators/languages/templates/src/test/resources/i18n/messages_hy.properties.ejs +4 -1
  339. package/generators/languages/templates/src/test/resources/i18n/messages_in.properties.ejs +4 -1
  340. package/generators/languages/templates/src/test/resources/i18n/messages_it.properties.ejs +4 -1
  341. package/generators/languages/templates/src/test/resources/i18n/messages_ja.properties.ejs +4 -1
  342. package/generators/languages/templates/src/test/resources/i18n/messages_ko.properties.ejs +4 -1
  343. package/generators/languages/templates/src/test/resources/i18n/messages_mr.properties.ejs +4 -1
  344. package/generators/languages/templates/src/test/resources/i18n/messages_my.properties.ejs +4 -1
  345. package/generators/languages/templates/src/test/resources/i18n/messages_nl.properties.ejs +4 -1
  346. package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +1 -1
  347. package/generators/languages/templates/src/test/resources/i18n/messages_pl.properties.ejs +4 -1
  348. package/generators/languages/templates/src/test/resources/i18n/messages_pt_BR.properties.ejs +1 -1
  349. package/generators/languages/templates/src/test/resources/i18n/messages_pt_PT.properties.ejs +4 -1
  350. package/generators/languages/templates/src/test/resources/i18n/messages_ro.properties.ejs +4 -1
  351. package/generators/languages/templates/src/test/resources/i18n/messages_ru.properties.ejs +4 -1
  352. package/generators/languages/templates/src/test/resources/i18n/messages_si.properties.ejs +4 -1
  353. package/generators/languages/templates/src/test/resources/i18n/messages_sk.properties.ejs +4 -1
  354. package/generators/languages/templates/src/test/resources/i18n/messages_sr.properties.ejs +4 -1
  355. package/generators/languages/templates/src/test/resources/i18n/messages_sv.properties.ejs +4 -1
  356. package/generators/languages/templates/src/test/resources/i18n/messages_ta.properties.ejs +4 -1
  357. package/generators/languages/templates/src/test/resources/i18n/messages_te.properties.ejs +4 -1
  358. package/generators/languages/templates/src/test/resources/i18n/messages_th.properties.ejs +4 -1
  359. package/generators/languages/templates/src/test/resources/i18n/messages_tr.properties.ejs +4 -1
  360. package/generators/languages/templates/src/test/resources/i18n/messages_ua.properties.ejs +4 -1
  361. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Cyrl_UZ.properties.ejs +4 -1
  362. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Latn_UZ.properties.ejs +4 -1
  363. package/generators/languages/templates/src/test/resources/i18n/messages_vi.properties.ejs +4 -1
  364. package/generators/languages/templates/src/test/resources/i18n/messages_zh_CN.properties.ejs +4 -1
  365. package/generators/languages/templates/src/test/resources/i18n/messages_zh_TW.properties.ejs +4 -1
  366. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  367. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +3 -3
  368. package/generators/maven/templates/mvnw +0 -0
  369. package/generators/maven/templates/pom.xml.jhi.ejs +2 -2
  370. package/generators/openapi-client/files.js +2 -8
  371. package/generators/openapi-client/index.js +2 -0
  372. package/generators/openshift/templates/registry/consul.yml.ejs +1 -2
  373. package/generators/openshift/templates/registry/jhipster-registry.yml.ejs +1 -2
  374. package/generators/project-name/index.cjs +8 -5
  375. package/generators/server/cleanup-angular.js +37 -0
  376. package/generators/server/cleanup-cache-provider.js +46 -0
  377. package/generators/server/cleanup-cassandra.js +49 -0
  378. package/generators/server/cleanup-cucumber.js +40 -0
  379. package/generators/server/cleanup-elasticsearch.js +48 -0
  380. package/generators/server/cleanup-gradle.js +40 -0
  381. package/generators/server/cleanup-kafka.js +41 -0
  382. package/generators/server/cleanup-maven.js +37 -0
  383. package/generators/server/cleanup-mongodb.js +40 -0
  384. package/generators/server/cleanup-oauth2.js +43 -0
  385. package/generators/server/cleanup-reactive.js +38 -0
  386. package/generators/server/cleanup-sql.js +48 -0
  387. package/generators/server/cleanup.js +85 -51
  388. package/generators/server/esm.mjs +1 -0
  389. package/generators/server/files-couchbase.js +11 -10
  390. package/generators/server/files-sql.js +197 -4
  391. package/generators/server/files.js +180 -273
  392. package/generators/server/index.js +32 -86
  393. package/generators/server/needles.cjs +79 -0
  394. package/generators/server/templates/.mvn/jvm.config +1 -1
  395. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  396. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +3 -3
  397. package/generators/server/templates/.npmrc.ejs +1 -0
  398. package/generators/server/templates/build.gradle.ejs +121 -226
  399. package/generators/server/templates/couchbase/src/test/java/package/config/CouchbaseTestContainer.java.ejs +67 -0
  400. package/generators/server/templates/couchbase/src/test/java/package/config/EmbeddedCouchbase.java.ejs +30 -0
  401. package/generators/server/templates/gradle/docker.gradle.ejs +6 -0
  402. package/generators/server/templates/gradle/profile_dev.gradle.ejs +95 -3
  403. package/generators/server/templates/gradle/profile_prod.gradle.ejs +80 -4
  404. package/generators/server/templates/gradle.properties.ejs +17 -13
  405. package/generators/server/templates/gradlew +0 -0
  406. package/generators/server/templates/mvnw +0 -0
  407. package/generators/server/templates/npmw +0 -0
  408. package/generators/server/templates/pom.xml.ejs +274 -225
  409. package/generators/server/templates/settings.gradle.ejs +2 -1
  410. package/generators/server/templates/sql/common/src/main/docker/config/mariadb/my.cnf +49 -0
  411. package/generators/server/templates/sql/common/src/main/docker/config/mysql/my.cnf +82 -0
  412. package/generators/server/templates/{src → sql/common/src}/main/docker/mariadb.yml.ejs +2 -0
  413. package/generators/server/templates/{src → sql/common/src}/main/docker/mssql.yml.ejs +0 -0
  414. package/generators/server/templates/{src → sql/common/src}/main/docker/mysql.yml.ejs +2 -2
  415. package/generators/server/templates/{src → sql/common/src}/main/docker/postgresql.yml.ejs +0 -0
  416. package/generators/server/templates/{src → sql/common/src}/main/java/package/config/LiquibaseConfiguration.java.ejs +0 -0
  417. package/generators/server/templates/{src → sql/common/src}/main/resources/h2.server.properties.ejs +0 -0
  418. package/generators/server/templates/sql/common/src/test/java/package/config/EmbeddedSQL.java.ejs +30 -0
  419. package/generators/server/templates/sql/common/src/test/java/package/config/MariadbTestContainer.java.ejs +60 -0
  420. package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +59 -0
  421. package/generators/server/templates/sql/common/src/test/java/package/config/MysqlTestContainer.java.ejs +69 -0
  422. package/generators/server/templates/sql/common/src/test/java/package/config/PostgreSqlTestContainer.java.ejs +59 -0
  423. package/generators/server/templates/sql/common/src/test/java/package/config/SqlTestContainer.java.ejs +28 -0
  424. package/generators/server/templates/{src → sql/common/src}/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs +0 -0
  425. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +0 -0
  426. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
  427. package/generators/server/templates/sql/common/src/test/resources/config/application-testdev.yml.ejs +93 -0
  428. package/generators/server/templates/{src/test/resources/config/application-testcontainers.yml.ejs → sql/common/src/test/resources/config/application-testprod.yml.ejs} +17 -33
  429. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mariadb/my.cnf +49 -0
  430. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mysql/my.cnf +83 -0
  431. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/EntityManager.java.ejs +0 -0
  432. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/ColumnConverter.java.ejs +0 -0
  433. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +0 -0
  434. package/generators/server/templates/src/main/docker/app.yml.ejs +16 -14
  435. package/generators/server/templates/src/main/docker/cassandra-migration.yml.ejs +1 -0
  436. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +62 -6
  437. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
  438. package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +1 -1
  439. package/generators/server/templates/src/main/docker/jib/entrypoint.sh.ejs +36 -1
  440. package/generators/server/templates/src/main/docker/keycloak.yml.ejs +8 -6
  441. package/generators/server/templates/src/main/java/package/config/ApplicationProperties.java.ejs +3 -0
  442. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +2 -6
  443. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +1 -1
  444. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +16 -30
  445. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +108 -15
  446. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +6 -0
  447. package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +6 -3
  448. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +10 -3
  449. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +12 -2
  450. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +1 -5
  451. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -5
  452. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +3 -4
  453. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +4 -3
  454. package/generators/server/templates/src/main/resources/config/application.yml.ejs +1 -1
  455. package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +1 -1
  456. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +54 -24
  457. package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +3 -3
  458. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +32 -19
  459. package/generators/server/templates/src/test/java/package/{repository/search/UserSearchRepositoryMockConfiguration.java.ejs → config/AsyncSyncConfiguration.java.ejs} +12 -10
  460. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +20 -1
  461. package/generators/{entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs → server/templates/src/test/java/package/config/ElasticsearchReactiveTestConfiguration.java.ejs} +14 -11
  462. package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +68 -0
  463. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +19 -0
  464. package/generators/server/templates/src/test/java/package/config/EmbeddedElasticsearch.java.ejs +30 -0
  465. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +19 -0
  466. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +19 -0
  467. package/generators/server/templates/src/test/java/package/config/EmbeddedNeo4j.java.ejs +29 -0
  468. package/generators/server/templates/src/test/java/package/config/EmbeddedRedis.java.ejs +30 -0
  469. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +11 -2
  470. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +19 -1
  471. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +5 -5
  472. package/generators/server/templates/src/test/java/package/config/Neo4jTestContainer.java.ejs +66 -0
  473. package/generators/server/templates/src/test/java/package/config/RedisTestContainer.java.ejs +57 -0
  474. package/generators/server/templates/src/test/java/package/config/{NoOpMailConfiguration.java.ejs → SpringBootTestClassOrderer.java.ejs} +16 -16
  475. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +166 -30
  476. package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +0 -23
  477. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +5 -3
  478. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +7 -15
  479. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +8 -11
  480. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  481. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +19 -73
  482. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +0 -8
  483. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +13 -10
  484. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +76 -51
  485. package/generators/server/templates/src/test/resources/config/application.yml.ejs +13 -62
  486. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +1 -0
  487. package/generators/server/templates/src/test/resources/templates/mail/activationEmail.html.ejs +19 -0
  488. package/generators/server/templates/src/test/resources/templates/mail/creationEmail.html.ejs +19 -0
  489. package/generators/server/templates/src/test/resources/templates/mail/passwordResetEmail.html.ejs +21 -0
  490. package/generators/spring-controller/index.js +16 -1
  491. package/generators/sql-constants.js +85 -0
  492. package/generators/statistics.js +6 -5
  493. package/generators/upgrade/index.js +1 -1
  494. package/generators/utils.js +32 -30
  495. package/generators/workspaces/index.js +31 -28
  496. package/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +2 -3
  497. package/jdl/converters/json-to-jdl-converter.js +23 -6
  498. package/jdl/exporters/applications/jhipster-application-formatter.js +7 -0
  499. package/jdl/jhipster/application-options.js +8 -0
  500. package/jdl/jhipster/default-application-options.js +2 -2
  501. package/jdl/parsing/lexer/application-tokens.js +6 -0
  502. package/jdl/parsing/validator.js +7 -0
  503. package/jdl/validators/application-validator.js +3 -1
  504. package/jdl/validators/jdl-with-application-validator.js +1 -0
  505. package/jdl/validators/jdl-without-application-validator.js +3 -2
  506. package/lib/support/base.cjs +43 -0
  507. package/lib/support/needles.cjs +221 -0
  508. package/lib/support/shared-data.cjs +2 -2
  509. package/package.json +29 -27
  510. package/utils/blueprint.js +1 -1
  511. package/utils/entity.js +9 -1
  512. package/utils/field.js +18 -3
  513. package/utils/liquibase.js +5 -8
  514. package/utils/relationship.js +3 -2
  515. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -33
  516. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.tsx.ejs +0 -17
  517. package/generators/cypress/templates/cypress-audits.json.ejs +0 -32
  518. package/generators/cypress/templates/cypress.json.ejs +0 -46
  519. package/generators/docker-compose/templates/realm-config/jhipster-users-0.json.ejs +0 -61
  520. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +0 -81
  521. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +0 -56
  522. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs +0 -61
  523. package/generators/server/templates/src/test/java/package/AbstractNeo4jIT.java.ejs +0 -44
  524. package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +0 -79
  525. package/generators/server/templates/src/test/java/package/RedisTestContainerExtension.java.ejs +0 -44
  526. package/generators/server/templates/src/test/resources/testcontainers/mariadb/my.cnf +0 -2
@@ -19,32 +19,42 @@
19
19
  package <%= packageName %>;
20
20
 
21
21
  import <%= packageName %>.<%= mainClass %>;
22
+ import <%= packageName %>.config.AsyncSyncConfiguration;
22
23
  <%_ if (databaseTypeCouchbase) { _%>
23
24
  import org.springframework.test.context.ActiveProfiles;
24
25
  import tech.jhipster.config.JHipsterConstants;
25
26
  <%_ } _%>
26
- <%_ if (databaseTypeNeo4j) { _%>
27
- import <%= packageName %>.AbstractNeo4jIT;
28
- <%_ } _%>
29
27
  <%_ if (databaseTypeMongodb) { _%>
30
28
  import <%= packageName %>.config.EmbeddedMongo;
31
29
  <%_ } _%>
32
30
  <%_ if (databaseTypeCassandra) { _%>
33
31
  import <%= packageName %>.config.EmbeddedCassandra;
34
32
  <%_ } _%>
35
- <%_ if (reactiveSqlTestContainers) { _%>
36
- import <%= packageName %>.ReactiveSqlTestContainerExtension;
33
+ <%_ if (databaseTypeCouchbase || searchEngineCouchbase) { _%>
34
+ import <%= packageName %>.config.EmbeddedCouchbase;
35
+ <%_ } _%>
36
+ <%_ if (searchEngineElasticsearch) { _%>
37
+ import <%= packageName %>.config.EmbeddedElasticsearch;
38
+ <%_ } _%>
39
+ <%_ if (messageBrokerKafka) { _%>
40
+ import <%= packageName %>.config.EmbeddedKafka;
41
+ <%_ } _%>
42
+ <%_ if (databaseTypeNeo4j) { _%>
43
+ import <%= packageName %>.config.EmbeddedNeo4j;
44
+ <%_ } _%>
45
+ <%_ if (databaseTypeSql) { _%>
46
+ import <%= packageName %>.config.EmbeddedSQL;
37
47
  <%_ } _%>
38
48
  <%_ if (cacheProviderRedis) { _%>
39
- import <%= packageName %>.RedisTestContainerExtension;
49
+ import <%= packageName %>.config.EmbeddedRedis;
40
50
  <%_ } _%>
41
51
  <%_ if (authenticationTypeOauth2) { _%>
42
52
  import <%= packageName %>.config.TestSecurityConfiguration;
43
53
  <%_ } _%>
44
- <%_ if (cacheProviderRedis || databaseTypeNeo4j || databaseTypeCouchbase || reactiveSqlTestContainers) { _%>
54
+ <%_ if (cacheProviderRedis) { _%>
45
55
  import org.junit.jupiter.api.extension.ExtendWith;
46
56
  <%_ } _%>
47
-
57
+ import org.springframework.test.annotation.DirtiesContext;
48
58
  import org.springframework.boot.test.context.SpringBootTest;
49
59
 
50
60
  import java.lang.annotation.ElementType;
@@ -57,16 +67,12 @@ import java.lang.annotation.Target;
57
67
  */
58
68
  @Target(ElementType.TYPE)
59
69
  @Retention(RetentionPolicy.RUNTIME)
60
- <%_ if (authenticationTypeOauth2) { _%>
61
- @SpringBootTest(classes = {<%= mainClass %>.class, TestSecurityConfiguration.class})
62
- <%_ } else { _%>
63
- @SpringBootTest(classes = <%= mainClass %>.class)
64
- <%_ } _%>
70
+ @SpringBootTest(classes = {<%= mainClass %>.class, AsyncSyncConfiguration.class<% if (authenticationTypeOauth2) { %>, TestSecurityConfiguration.class<% } %>})
65
71
  <%_ if (cacheProviderRedis) { _%>
66
- @ExtendWith(RedisTestContainerExtension.class)
72
+ @EmbeddedRedis
67
73
  <%_ } _%>
68
- <%_ if (databaseTypeCouchbase) { _%>
69
- @ExtendWith(CouchbaseTestContainerExtension.class)
74
+ <%_ if (databaseTypeCouchbase || searchEngineCouchbase) { _%>
75
+ @EmbeddedCouchbase
70
76
  @ActiveProfiles(JHipsterConstants.SPRING_PROFILE_TEST)
71
77
  <%_ } _%>
72
78
  <%_ if (databaseTypeMongodb) { _%>
@@ -75,12 +81,19 @@ import java.lang.annotation.Target;
75
81
  <%_ if (databaseTypeCassandra) { _%>
76
82
  @EmbeddedCassandra
77
83
  <%_ } _%>
84
+ <%_ if (searchEngineElasticsearch) { _%>
85
+ @EmbeddedElasticsearch
86
+ <%_ } _%>
87
+ <%_ if (messageBrokerKafka) { _%>
88
+ @EmbeddedKafka
89
+ <%_ } _%>
78
90
  <%_ if (databaseTypeNeo4j) { _%>
79
- @ExtendWith(AbstractNeo4jIT.class)
91
+ @EmbeddedNeo4j
80
92
  <%_ } _%>
81
- <%_ if (reactiveSqlTestContainers) { _%>
82
- @ExtendWith(ReactiveSqlTestContainerExtension.class)
93
+ <%_ if (databaseTypeSql) { _%>
94
+ @EmbeddedSQL
83
95
  <%_ } _%>
96
+ @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
84
97
  public @interface IntegrationTest {
85
98
  <%_ if (reactive) { _%>
86
99
  // 5s is the spring default https://github.com/spring-projects/spring-framework/blob/29185a3d28fa5e9c1b4821ffe519ef6f56b51962/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClient.java#L106
@@ -16,19 +16,21 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- package <%= packageName %>.repository.search;
19
+ package <%=packageName%>.config;
20
20
 
21
- import org.springframework.boot.test.mock.mockito.MockBean;
21
+ import org.springframework.context.annotation.Bean;
22
22
  import org.springframework.context.annotation.Configuration;
23
23
 
24
- /**
25
- * Configure a Mock version of {@link UserSearchRepository} to test the
26
- * application without starting Elasticsearch.
27
- */
28
- @Configuration
29
- public class UserSearchRepositoryMockConfiguration {
24
+ import org.springframework.context.annotation.Primary;
25
+ import org.springframework.core.task.SyncTaskExecutor;
26
+
27
+ import java.util.concurrent.Executor;
30
28
 
31
- @MockBean
32
- private UserSearchRepository mockUserSearchRepository;
29
+ @Configuration
30
+ public class AsyncSyncConfiguration {
33
31
 
32
+ @Bean(name = "taskExecutor")
33
+ public Executor taskExecutor() {
34
+ return new SyncTaskExecutor();
35
+ }
34
36
  }
@@ -1,5 +1,24 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
1
19
  package <%= packageName %>.config;
2
20
 
21
+
3
22
  import static java.nio.file.Files.newDirectoryStream;
4
23
  import static java.nio.file.Paths.get;
5
24
  import static java.util.Spliterator.SORTED;
@@ -45,7 +64,7 @@ public class CassandraTestContainer implements InitializingBean, DisposableBean
45
64
  @Override
46
65
  public void destroy() {
47
66
  if (null != cassandraContainer && cassandraContainer.isRunning()) {
48
- cassandraContainer.stop();
67
+ cassandraContainer.close();
49
68
  }
50
69
  }
51
70
 
@@ -16,19 +16,22 @@
16
16
  See the License for the specific language governing permissions and
17
17
  limitations under the License.
18
18
  -%>
19
- package <%= entityAbsolutePackage %>.repository.search;
19
+ package <%= packageName %>.config;
20
20
 
21
- import org.springframework.boot.test.mock.mockito.MockBean;
21
+ import javax.annotation.PostConstruct;
22
+
23
+ import org.springframework.beans.factory.annotation.Autowired;
22
24
  import org.springframework.context.annotation.Configuration;
25
+ import org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate;
26
+ import org.springframework.data.elasticsearch.core.RefreshPolicy;
23
27
 
24
- /**
25
- * Configure a Mock version of {@link <%= entityClass %>SearchRepository} to test the
26
- * application without starting Elasticsearch.
27
- */
28
28
  @Configuration
29
- public class <%= entityClass %>SearchRepositoryMockConfiguration {
30
-
31
- @MockBean
32
- private <%= entityClass %>SearchRepository mock<%= entityClass %>SearchRepository;
33
-
29
+ public class ElasticsearchReactiveTestConfiguration {
30
+ @Autowired
31
+ ReactiveElasticsearchTemplate template;
32
+
33
+ @PostConstruct
34
+ public void configureTemplate() {
35
+ this.template.setRefreshPolicy(RefreshPolicy.IMMEDIATE);
36
+ }
34
37
  }
@@ -0,0 +1,68 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+ import org.slf4j.Logger;
22
+ import org.slf4j.LoggerFactory;
23
+ import org.springframework.beans.factory.DisposableBean;
24
+ import org.springframework.beans.factory.InitializingBean;
25
+ import org.testcontainers.containers.output.Slf4jLogConsumer;
26
+ import org.testcontainers.elasticsearch.ElasticsearchContainer;
27
+ import org.testcontainers.utility.DockerImageName;
28
+
29
+ import java.time.Duration;
30
+ import java.time.temporal.ChronoUnit;
31
+
32
+ /**
33
+ * Base class for starting/stopping ElasticSearch during tests.
34
+ */
35
+ public class ElasticsearchTestContainer implements InitializingBean, DisposableBean {
36
+
37
+ private static final Logger log = LoggerFactory.getLogger(ElasticsearchTestContainer.class);
38
+ private static final Integer CONTAINER_STARTUP_TIMEOUT_MINUTES = 10;
39
+ private ElasticsearchContainer elasticsearchContainer;
40
+
41
+ @Override
42
+ public void destroy() {
43
+ if (null != elasticsearchContainer && elasticsearchContainer.isRunning()) {
44
+ elasticsearchContainer.close();
45
+ }
46
+ }
47
+
48
+ @Override
49
+ public void afterPropertiesSet() {
50
+ if (null == elasticsearchContainer) {
51
+ elasticsearchContainer =
52
+ new ElasticsearchContainer(DockerImageName.parse("<%= DOCKER_ELASTICSEARCH_CONTAINER %>").withTag("<%= ELASTICSEARCH_VERSION %>%>"))
53
+ .withStartupTimeout(Duration.of(CONTAINER_STARTUP_TIMEOUT_MINUTES, ChronoUnit.MINUTES))
54
+ .withSharedMemorySize(256000000L)
55
+ .withEnv("ES_JAVA_OPTS", "-Xms256m -Xmx256m")
56
+ .withLogConsumer(new Slf4jLogConsumer(log))
57
+ .withReuse(true);
58
+ }
59
+ if (!elasticsearchContainer.isRunning()) {
60
+ elasticsearchContainer.start();
61
+ }
62
+ }
63
+
64
+ public ElasticsearchContainer getElasticsearchContainer() {
65
+ return elasticsearchContainer;
66
+ }
67
+
68
+ }
@@ -1,5 +1,24 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
1
19
  package <%= packageName %>.config;
2
20
 
21
+
3
22
  import java.lang.annotation.ElementType;
4
23
  import java.lang.annotation.Retention;
5
24
  import java.lang.annotation.RetentionPolicy;
@@ -0,0 +1,30 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+
22
+ import java.lang.annotation.ElementType;
23
+ import java.lang.annotation.Retention;
24
+ import java.lang.annotation.RetentionPolicy;
25
+ import java.lang.annotation.Target;
26
+
27
+ @Target(ElementType.TYPE)
28
+ @Retention(RetentionPolicy.RUNTIME)
29
+ public @interface EmbeddedElasticsearch {
30
+ }
@@ -1,5 +1,24 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
1
19
  package <%= packageName %>.config;
2
20
 
21
+
3
22
  import java.lang.annotation.ElementType;
4
23
  import java.lang.annotation.Retention;
5
24
  import java.lang.annotation.RetentionPolicy;
@@ -1,5 +1,24 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
1
19
  package <%= packageName %>.config;
2
20
 
21
+
3
22
  import java.lang.annotation.ElementType;
4
23
  import java.lang.annotation.Retention;
5
24
  import java.lang.annotation.RetentionPolicy;
@@ -0,0 +1,29 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+ import java.lang.annotation.ElementType;
22
+ import java.lang.annotation.Retention;
23
+ import java.lang.annotation.RetentionPolicy;
24
+ import java.lang.annotation.Target;
25
+
26
+ @Target(ElementType.TYPE)
27
+ @Retention(RetentionPolicy.RUNTIME)
28
+ public @interface EmbeddedNeo4j {
29
+ }
@@ -0,0 +1,30 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+
22
+ import java.lang.annotation.ElementType;
23
+ import java.lang.annotation.Retention;
24
+ import java.lang.annotation.RetentionPolicy;
25
+ import java.lang.annotation.Target;
26
+
27
+ @Target(ElementType.TYPE)
28
+ @Retention(RetentionPolicy.RUNTIME)
29
+ public @interface EmbeddedRedis {
30
+ }
@@ -28,11 +28,20 @@ public class JHipsterBlockHoundIntegration implements BlockHoundIntegration {
28
28
  builder.allowBlockingCallsInside("reactor.core.scheduler.BoundedElasticScheduler$BoundedState", "dispose");
29
29
  builder.allowBlockingCallsInside("reactor.core.scheduler.BoundedElasticScheduler", "schedule");
30
30
  builder.allowBlockingCallsInside("org.springframework.validation.beanvalidation.SpringValidatorAdapter", "validate");
31
- <%_ if (databaseTypeCouchbase) { _%>
31
+ builder.allowBlockingCallsInside("<%= packageName %>.service.MailService", "sendEmailFromTemplate");
32
+ builder.allowBlockingCallsInside("<%= packageName %>.security.DomainUserDetailsService", "createSpringSecurityUser");
33
+ <%_ if (databaseTypeCouchbase) { _%>
32
34
  builder.allowBlockingCallsInside("org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter", "read");
33
35
  builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda$query$2");
34
36
  builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda$importFtsIndex$1");
35
- <%_} _%>
37
+ <%_} _%>
38
+ <%_ if (prodDatabaseTypeMysql || prodDatabaseTypeMariadb) { _%>
39
+ builder.allowBlockingCallsInside("org.mariadb.r2dbc.message.client.HandshakeResponse", "writeConnectAttributes");
40
+ builder.allowBlockingCallsInside("org.mariadb.r2dbc.client.MariadbPacketDecoder", "decode");
41
+ <%_} _%>
42
+ <%_ if (searchEngineElasticsearch) { _%>
43
+ builder.allowBlockingCallsInside("org.elasticsearch.client.indices.CreateIndexRequest", "settings");
44
+ <%_} _%>
36
45
  }
37
46
 
38
47
  }
@@ -1,3 +1,21 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
1
19
  package <%= packageName %>.config;
2
20
 
3
21
  import org.springframework.beans.factory.DisposableBean;
@@ -16,7 +34,7 @@ public class KafkaTestContainer implements InitializingBean, DisposableBean {
16
34
  @Override
17
35
  public void destroy() {
18
36
  if (null != kafkaContainer && kafkaContainer.isRunning()) {
19
- kafkaContainer.stop();
37
+ kafkaContainer.close();
20
38
  }
21
39
  }
22
40
 
@@ -28,9 +28,9 @@ import org.testcontainers.containers.MongoDBContainer;
28
28
  import org.testcontainers.containers.output.Slf4jLogConsumer;
29
29
 
30
30
  public class MongoDbTestContainer implements InitializingBean, DisposableBean {
31
- private final long memoryInBytes = Math.round(1024 * 1024 * 1024 * 0.6);
31
+ /* private final long memoryInBytes = Math.round(1024 * 1024 * 1024 * 0.6);
32
32
  private final long memorySwapInBytes = Math.round(1024 * 1024 * 1024 * 0.8);
33
- private final long nanoCpu = Math.round(1_000_000_000L * 0.1);
33
+ private final long nanoCpu = Math.round(1_000_000_000L * 0.1); */
34
34
  private static final Logger log = LoggerFactory.getLogger(MongoDbTestContainer.class);
35
35
 
36
36
  private MongoDBContainer mongodbContainer;
@@ -38,7 +38,7 @@ public class MongoDbTestContainer implements InitializingBean, DisposableBean {
38
38
  @Override
39
39
  public void destroy() {
40
40
  if (null != mongodbContainer && mongodbContainer.isRunning()) {
41
- mongodbContainer.stop();
41
+ mongodbContainer.stop();
42
42
  }
43
43
  }
44
44
 
@@ -47,12 +47,12 @@ public class MongoDbTestContainer implements InitializingBean, DisposableBean {
47
47
  if (null == mongodbContainer) {
48
48
  mongodbContainer = new MongoDBContainer("<%= DOCKER_MONGODB %>")
49
49
  .withTmpFs(Collections.singletonMap("/testtmpfs", "rw"))
50
- .withCommand(
50
+ /* .withCommand(
51
51
  "--nojournal --wiredTigerCacheSizeGB 0.25 --wiredTigerCollectionBlockCompressor none --slowOpSampleRate 0 --setParameter ttlMonitorEnabled=false --setParameter diagnosticDataCollectionEnabled=false --setParameter logicalSessionRefreshMillis=6000000 --setParameter enableFlowControl=false --setParameter oplogFetcherUsesExhaust=false --setParameter disableResumableRangeDeleter=true --setParameter enableShardedIndexConsistencyCheck=false --setParameter enableFinerGrainedCatalogCacheRefresh=false --setParameter readHedgingMode=off --setParameter loadRoutingTableOnStartup=false --setParameter rangeDeleterBatchDelayMS=2000000 --setParameter skipShardingConfigurationChecks=true --setParameter syncdelay=3600"
52
52
  )
53
53
  .withCreateContainerCmdModifier(cmd ->
54
54
  cmd.getHostConfig().withMemory(memoryInBytes).withMemorySwap(memorySwapInBytes).withNanoCPUs(nanoCpu)
55
- )
55
+ ) */
56
56
  .withLogConsumer(new Slf4jLogConsumer(log))
57
57
  .withReuse(true);
58
58
  }
@@ -0,0 +1,66 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+ import org.slf4j.Logger;
22
+ import org.slf4j.LoggerFactory;
23
+ import org.springframework.beans.factory.DisposableBean;
24
+ import org.springframework.beans.factory.InitializingBean;
25
+ import org.testcontainers.containers.Neo4jContainer;
26
+ import org.testcontainers.containers.output.Slf4jLogConsumer;
27
+ import org.testcontainers.utility.DockerImageName;
28
+
29
+ import java.time.Duration;
30
+ import java.time.temporal.ChronoUnit;
31
+
32
+ /**
33
+ * Base class for starting/stopping Neo4j during tests.
34
+ */
35
+ public class Neo4jTestContainer implements InitializingBean, DisposableBean {
36
+
37
+ private static final Logger log = LoggerFactory.getLogger(Neo4jTestContainer.class);
38
+ private static final Integer CONTAINER_STARTUP_TIMEOUT_MINUTES = 10;
39
+ private Neo4jContainer neo4jContainer;
40
+
41
+ @Override
42
+ public void destroy() {
43
+ if (null != neo4jContainer && neo4jContainer.isRunning()) {
44
+ neo4jContainer.close();
45
+ }
46
+ }
47
+
48
+ @Override
49
+ public void afterPropertiesSet() {
50
+ if (null == neo4jContainer) {
51
+ neo4jContainer =
52
+ (Neo4jContainer) new Neo4jContainer(DockerImageName.parse("<%= DOCKER_NEO4J %>"))
53
+ .withoutAuthentication()
54
+ .withStartupTimeout(Duration.of(CONTAINER_STARTUP_TIMEOUT_MINUTES, ChronoUnit.MINUTES))
55
+ .withLogConsumer(new Slf4jLogConsumer(log))
56
+ .withReuse(true);
57
+ }
58
+ if (!neo4jContainer.isRunning()) {
59
+ neo4jContainer.start();
60
+ }
61
+ }
62
+
63
+ public Neo4jContainer getNeo4jContainer() {
64
+ return neo4jContainer;
65
+ }
66
+ }
@@ -0,0 +1,57 @@
1
+ <%#
2
+ Copyright 2013-2022 the original author or authors from the JHipster project.
3
+
4
+ This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ for more information.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ https://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ -%>
19
+ package <%= packageName %>.config;
20
+
21
+ import org.springframework.beans.factory.DisposableBean;
22
+ import org.springframework.beans.factory.InitializingBean;
23
+ import org.slf4j.Logger;
24
+ import org.slf4j.LoggerFactory;
25
+ import org.testcontainers.containers.GenericContainer;
26
+ import org.testcontainers.containers.output.Slf4jLogConsumer;
27
+ import org.testcontainers.utility.DockerImageName;
28
+
29
+ public class RedisTestContainer implements InitializingBean, DisposableBean {
30
+
31
+ private GenericContainer redisContainer;
32
+ private static final Logger log = LoggerFactory.getLogger(RedisTestContainer.class);
33
+
34
+ @Override
35
+ public void destroy() {
36
+ if (null != redisContainer && redisContainer.isRunning()) {
37
+ redisContainer.close();
38
+ }
39
+ }
40
+
41
+ @Override
42
+ public void afterPropertiesSet() {
43
+ if (null == redisContainer) {
44
+ redisContainer = new GenericContainer("<%= DOCKER_REDIS %>")
45
+ .withExposedPorts(6379)
46
+ .withLogConsumer(new Slf4jLogConsumer(log))
47
+ .withReuse(true);
48
+ }
49
+ if (!redisContainer.isRunning()) {
50
+ redisContainer.start();
51
+ }
52
+ }
53
+
54
+ public GenericContainer getRedisContainer() {
55
+ return redisContainer;
56
+ }
57
+ }