generator-jhipster 8.0.0-beta.2 → 8.0.0-rc.1
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.
- package/README.md +0 -14
- package/dist/cli/cli.mjs +12 -6
- package/dist/cli/commands.mjs +15 -3
- package/dist/cli/environment-builder.mjs +41 -27
- package/dist/cli/jhipster-command.mjs +14 -4
- package/dist/cli/program.mjs +56 -36
- package/dist/cli/utils.mjs +1 -2
- package/dist/generators/angular/entity-files-angular.mjs +26 -27
- package/dist/generators/angular/files-angular.mjs +50 -50
- package/dist/generators/angular/generator.mjs +39 -20
- package/dist/generators/angular/needle-api/needle-client-angular.mjs +1 -1
- package/dist/generators/angular/resources/package.json +25 -24
- package/dist/generators/angular/support/needles.mjs +32 -3
- package/dist/generators/angular/support/translate-angular.mjs +40 -23
- package/dist/generators/angular/support/update-languages.mjs +4 -3
- package/dist/generators/angular/templates/.eslintrc.json.ejs +2 -2
- package/dist/generators/angular/templates/angular.json.ejs +16 -12
- package/dist/generators/angular/templates/jest.conf.js.ejs +5 -5
- package/dist/generators/angular/templates/package.json.ejs +3 -8
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +15 -39
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -34
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -19
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +27 -67
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -13
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +17 -43
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -9
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.spec.ts.ejs +350 -0
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +108 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -20
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +20 -38
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/event-manager.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/route/_entityFile-routing-resolve.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/service/_entityFile.service.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/service/_entityFile.service.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder/update/_entityFile-form.service.spec.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.model.ts.ejs +53 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.routes.ts.ejs +67 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.test-samples.ts.ejs +45 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +41 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +84 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.ts.ejs +47 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +118 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +112 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +59 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +224 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +173 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.ts.ejs +411 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/infinite-scroll-template.ejs +23 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/pagination-template.ejs +21 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +120 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.ts.ejs +47 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +255 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.ts.ejs +203 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.spec.ts.ejs +110 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +263 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +195 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +273 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +263 -0
- package/dist/generators/angular/templates/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -16
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +9 -11
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/tsconfig.app.json.ejs +4 -4
- package/dist/generators/angular/templates/tsconfig.json.ejs +3 -3
- package/dist/generators/angular/templates/tsconfig.spec.json.ejs +2 -2
- package/dist/generators/angular/templates/webpack/proxy.conf.js.ejs +14 -13
- package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +4 -4
- package/dist/generators/app/command.mjs +68 -4
- package/dist/generators/app/generator.mjs +39 -248
- package/dist/generators/app/prompts.mjs +0 -102
- package/dist/generators/app/support/config.mjs +167 -0
- package/dist/generators/app/support/index.mjs +1 -1
- package/dist/generators/aws/USAGE +0 -0
- package/dist/generators/aws/generator.mjs +2 -1
- package/dist/generators/azure-app-service/USAGE +0 -0
- package/dist/generators/azure-app-service/generator.mjs +42 -12
- package/dist/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +0 -0
- package/dist/generators/azure-spring-cloud/USAGE +0 -0
- package/dist/generators/azure-spring-cloud/generator.mjs +17 -13
- package/dist/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +0 -0
- package/dist/generators/base/command.mjs +20 -0
- package/dist/generators/base/{generator-base-blueprint.mjs → generator.mjs} +47 -10
- package/dist/generators/base/index.mjs +1 -1
- package/dist/generators/base/priorities.mjs +15 -3
- package/dist/generators/base/shared-data.mjs +31 -7
- package/dist/generators/base/support/basename.mjs +12 -0
- package/dist/generators/base/support/config.mjs +32 -0
- package/dist/generators/base/support/constants.mjs +1 -0
- package/dist/generators/base/support/faker.mjs +2 -2
- package/dist/generators/base/support/index.mjs +1 -0
- package/dist/generators/base/support/jhipster7-context.mjs +32 -4
- package/dist/generators/base/support/needles.mjs +2 -2
- package/dist/generators/base/support/string.mjs +1 -1
- package/dist/generators/base-application/command.mjs +10 -0
- package/dist/generators/base-application/generator.mjs +25 -9
- package/dist/generators/base-application/priorities.mjs +10 -0
- package/dist/generators/base-application/support/entity.mjs +1 -1
- package/dist/generators/base-application/support/enum.mjs +2 -2
- package/dist/generators/base-application/support/prepare-entity.mjs +23 -6
- package/dist/generators/base-application/support/prepare-field.mjs +27 -14
- package/dist/generators/base-application/support/prepare-relationship.mjs +8 -2
- package/dist/generators/base-application/support/relationship.mjs +1 -1
- package/dist/generators/base-core/generator.mjs +959 -0
- package/dist/generators/base-core/index.mjs +1 -1
- package/dist/generators/base-entity-changes/generator.mjs +141 -0
- package/dist/generators/{liquibase-changelogs → base-entity-changes}/index.mjs +0 -1
- package/dist/generators/base-workspaces/command.mjs +4 -0
- package/dist/generators/base-workspaces/generator.mjs +141 -0
- package/dist/generators/{liquibase-changelogs/support → base-workspaces}/index.mjs +2 -2
- package/dist/generators/base-workspaces/internal/deployments.mjs +36 -0
- package/dist/generators/{base-docker → base-workspaces/internal}/docker-base.mjs +24 -43
- package/dist/generators/base-workspaces/internal/docker-dependencies.mjs +27 -0
- package/dist/generators/{base-docker → base-workspaces/internal}/docker-prompts.mjs +65 -53
- package/dist/generators/base-workspaces/internal/index.mjs +20 -0
- package/dist/generators/base-workspaces/priorities.mjs +96 -0
- package/dist/generators/bootstrap/generator.mjs +54 -27
- package/dist/generators/bootstrap/support/auto-crlf-transform.mjs +1 -1
- package/dist/generators/bootstrap/support/eslint-transform.mjs +72 -0
- package/dist/generators/bootstrap/support/index.mjs +2 -0
- package/dist/generators/bootstrap/support/java-unused-imports-transform.mjs +25 -0
- package/dist/generators/bootstrap/support/multi-step-transform/template-file-fs.mjs +1 -1
- package/dist/generators/bootstrap/support/multi-step-transform/template-file.mjs +1 -1
- package/dist/generators/bootstrap/support/prettier-support.mjs +22 -15
- package/dist/generators/bootstrap-application/generator.mjs +34 -5
- package/dist/generators/bootstrap-application-base/generator.mjs +63 -16
- package/dist/generators/bootstrap-application-base/utils.mjs +1 -1
- package/dist/generators/bootstrap-application-client/generator.mjs +17 -7
- package/dist/generators/bootstrap-application-server/generator.mjs +53 -10
- package/dist/generators/bootstrap-workspaces/command.mjs +11 -0
- package/dist/generators/bootstrap-workspaces/generator.mjs +85 -0
- package/dist/generators/{base-docker → bootstrap-workspaces}/index.mjs +1 -5
- package/dist/generators/ci-cd/command.mjs +174 -0
- package/dist/generators/ci-cd/generator.mjs +106 -180
- package/dist/generators/ci-cd/templates/.circleci/config.yml.ejs +123 -0
- package/dist/generators/ci-cd/templates/.github/workflows/main.yml.ejs +167 -0
- package/dist/generators/ci-cd/templates/.gitlab-ci.yml.ejs +9 -9
- package/dist/generators/ci-cd/templates/.travis.yml.ejs +108 -0
- package/dist/generators/ci-cd/templates/azure-pipelines.yml.ejs +2 -2
- package/dist/generators/ci-cd/templates/jenkins/Jenkinsfile.ejs +7 -7
- package/dist/generators/client/command.mjs +116 -0
- package/dist/generators/client/entity-files.mjs +2 -11
- package/dist/generators/client/files-common.mjs +15 -7
- package/dist/generators/client/generator.mjs +65 -22
- package/dist/generators/client/needle-api/needle-client-vue.mjs +1 -1
- package/dist/generators/client/prompts.mjs +2 -53
- package/dist/generators/client/resources/package.json +6 -6
- package/dist/generators/client/support/config.mjs +35 -0
- package/dist/generators/client/support/entity-definition.mjs +1 -1
- package/dist/generators/client/support/files.mjs +47 -0
- package/dist/generators/client/support/index.mjs +2 -0
- package/dist/generators/client/support/prepare-entity.mjs +1 -1
- package/dist/generators/client/support/prepare-field.mjs +1 -1
- package/dist/generators/client/support/template-utils.mjs +1 -2
- package/dist/generators/client/support/update-languages.mjs +2 -1
- package/dist/generators/client/templates/.eslintignore.ejs +1 -0
- package/dist/generators/client/templates/.prettierignore.jhi.client.ejs +22 -0
- package/dist/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +1 -1
- package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +29 -20
- package/dist/generators/cloudfoundry/USAGE +0 -0
- package/dist/generators/cloudfoundry/generator.mjs +15 -10
- package/dist/generators/cloudfoundry/prompts.mjs +3 -3
- package/dist/generators/common/command.mjs +2 -2
- package/dist/generators/common/files.mjs +1 -1
- package/dist/generators/common/generator.mjs +80 -19
- package/dist/generators/common/resources/package.json +3 -3
- package/dist/generators/common/templates/.husky/pre-commit.ejs +3 -3
- package/dist/generators/common/templates/.prettierignore.ejs +0 -0
- package/dist/generators/common/templates/.prettierignore.jhi.ejs +24 -0
- package/dist/generators/common/templates/.prettierrc.ejs +5 -1
- package/dist/generators/common/templates/README.md.jhi.ejs +15 -393
- package/dist/generators/common/templates/sonar-project.properties.ejs +15 -2
- package/dist/generators/cucumber/files.mjs +4 -4
- package/dist/generators/cucumber/generator.mjs +7 -1
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberIT.java.ejs +28 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/CucumberTestContextConfiguration.java.ejs +30 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/StepDefs.java.ejs +35 -0
- package/dist/generators/cucumber/templates/src/test/java/_package_/cucumber/stepdefs/UserStepDefs.java.ejs +114 -0
- package/dist/generators/cucumber/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +1 -1
- package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/gitkeep.ejs +0 -0
- package/dist/generators/cucumber/templates/src/test/resources/_package_/cucumber/user.feature.ejs +6 -0
- package/dist/generators/cypress/command.mjs +15 -0
- package/dist/generators/cypress/files.mjs +7 -3
- package/dist/generators/cypress/generator.mjs +36 -18
- package/dist/generators/cypress/index.mjs +1 -0
- package/dist/generators/cypress/templates/cypress.config.ts.ejs +8 -7
- package/dist/generators/cypress/templates/src/test/javascript/cypress/.eslintrc.json.ejs +2 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +7 -0
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +6 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +7 -6
- package/dist/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +7 -3
- package/dist/generators/docker/files.mjs +92 -71
- package/dist/generators/docker/generator.mjs +86 -23
- package/dist/generators/docker/support/check-docker.mjs +56 -0
- package/dist/generators/{base-docker/utils.mjs → docker/support/docker-compose-file.mjs} +18 -0
- package/dist/generators/docker/support/index.mjs +20 -0
- package/dist/generators/docker/templates/docker/app.yml.ejs +108 -0
- package/dist/generators/docker/templates/docker/cassandra/Cassandra-Migration.Dockerfile.ejs +29 -0
- package/dist/generators/docker/templates/docker/cassandra/scripts/autoMigrate.sh.ejs +85 -0
- package/dist/generators/docker/templates/docker/cassandra/scripts/execute-cql.sh.ejs +142 -0
- package/dist/generators/docker/templates/docker/cassandra-cluster.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/cassandra-migration.yml.ejs +31 -0
- package/dist/generators/docker/templates/docker/cassandra.yml.ejs +50 -0
- package/dist/generators/docker/templates/docker/central-server-config/README.md.ejs +33 -0
- package/dist/generators/docker/templates/docker/central-server-config/_consul_/application.yml.ejs +28 -0
- package/dist/generators/docker/templates/docker/central-server-config/_eureka_/docker-config/application.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/central-server-config/_eureka_/localhost-config/application.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/config/git2consul.json.ejs +14 -0
- package/dist/generators/docker/templates/docker/config/mariadb/my.cnf +49 -0
- package/dist/generators/docker/templates/docker/config/mysql/my.cnf +82 -0
- package/dist/generators/docker/templates/docker/consul.yml.ejs +43 -0
- package/dist/generators/docker/templates/docker/couchbase/Couchbase.Dockerfile.ejs +9 -0
- package/dist/generators/docker/templates/docker/couchbase/scripts/configure-node.sh.ejs +53 -0
- package/dist/generators/docker/templates/docker/couchbase-cluster.yml.ejs +45 -0
- package/dist/generators/docker/templates/docker/couchbase.yml.ejs +42 -0
- package/dist/generators/docker/templates/docker/elasticsearch.yml.ejs +39 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/JVM.json.ejs +3796 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/dashboards/dashboard.yml.ejs +29 -0
- package/dist/generators/docker/templates/docker/grafana/provisioning/datasources/datasource.yml.ejs +68 -0
- package/dist/generators/docker/templates/docker/hazelcast-management-center.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/jhipster-control-center.yml.ejs +86 -0
- package/dist/generators/docker/templates/docker/jhipster-registry.yml.ejs +54 -0
- package/dist/generators/docker/templates/docker/kafka.yml.ejs +40 -0
- package/dist/generators/docker/templates/docker/keycloak.yml.ejs +46 -0
- package/dist/generators/docker/templates/docker/mariadb.yml.ejs +40 -0
- package/dist/generators/docker/templates/docker/memcached.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/mongodb/MongoDB.Dockerfile.ejs +2 -0
- package/dist/generators/docker/templates/docker/mongodb/scripts/init_replicaset.js.ejs +11 -0
- package/dist/generators/docker/templates/docker/mongodb-cluster.yml.ejs +37 -0
- package/dist/generators/docker/templates/docker/mongodb.yml.ejs +34 -0
- package/dist/generators/docker/templates/docker/monitoring.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/mssql.yml.ejs +42 -0
- package/dist/generators/docker/templates/docker/mysql.yml.ejs +39 -0
- package/dist/generators/docker/templates/docker/neo4j.yml.ejs +37 -0
- package/dist/generators/docker/templates/docker/postgresql.yml.ejs +38 -0
- package/dist/generators/docker/templates/docker/prometheus/prometheus.yml.ejs +49 -0
- package/dist/generators/docker/templates/docker/pulsar.yml.ejs +31 -0
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +2645 -0
- package/dist/generators/docker/templates/docker/realm-config/keycloak-health-check.sh +12 -0
- package/dist/generators/docker/templates/docker/redis/Redis-Cluster.Dockerfile.ejs +6 -0
- package/dist/generators/docker/templates/docker/redis/connectRedisCluster.sh.ejs +20 -0
- package/dist/generators/docker/templates/docker/redis-cluster.yml.ejs +91 -0
- package/dist/generators/docker/templates/docker/redis.yml.ejs +27 -0
- package/dist/generators/docker/templates/docker/sonar.yml.ejs +33 -0
- package/dist/generators/docker/templates/docker/swagger-editor.yml.ejs +25 -0
- package/dist/generators/docker/templates/docker/zipkin.yml.ejs +25 -0
- package/dist/generators/docker/templates/src/main/docker/config/keycloak-health-check.sh +0 -0
- package/dist/generators/docker/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +1 -1
- package/dist/generators/docker/utils.mjs +1 -1
- package/dist/generators/docker-compose/command.mjs +10 -0
- package/dist/generators/docker-compose/files.mjs +15 -22
- package/dist/generators/docker-compose/generator.mjs +292 -129
- package/dist/generators/docker-compose/index.mjs +1 -0
- package/dist/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
- package/dist/generators/docker-compose/templates/prometheus-conf/prometheus.yml.ejs +3 -1
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
- package/dist/generators/docker-compose/templates/realm-config/keycloak-health-check.sh +0 -0
- package/dist/generators/entities/command.mjs +14 -0
- package/dist/generators/entities/generator.mjs +31 -71
- package/dist/generators/entities/index.mjs +1 -0
- package/dist/generators/entity/command.mjs +45 -0
- package/dist/generators/entity/generator.mjs +93 -157
- package/dist/generators/entity/index.mjs +1 -0
- package/dist/generators/entity/prompts.mjs +18 -18
- package/dist/generators/gae/USAGE +0 -0
- package/dist/generators/gae/generator.mjs +16 -12
- package/dist/generators/gae/templates.mjs +3 -3
- package/dist/generators/gatling/cleanup.mjs +19 -1
- package/dist/generators/gatling/entity-files.mjs +2 -2
- package/dist/generators/gatling/files.mjs +3 -0
- package/dist/generators/gatling/generator.mjs +3 -1
- package/dist/generators/gatling/templates/README.md.jhi.gatling.ejs +19 -0
- package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +200 -0
- package/dist/generators/generate-blueprint/constants.mjs +1 -1
- package/dist/generators/generate-blueprint/files.mjs +18 -7
- package/dist/generators/generate-blueprint/generator.mjs +37 -31
- package/dist/generators/generate-blueprint/resources/package.json +5 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +27 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +33 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +62 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/index.mjs.ejs +2 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/templates/samples/sample.jdl.ejs +33 -0
- package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -6
- package/dist/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +3 -2
- package/dist/generators/generate-blueprint/templates/cli/cli.cjs.ejs +36 -0
- package/dist/generators/generate-blueprint/templates/cli/cli.mjs.ejs +0 -0
- package/dist/generators/generate-blueprint/templates/{.mocharc.cjs.ejs → generators/generator/command.mjs.ejs} +7 -9
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +33 -22
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +8 -11
- package/dist/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +4 -1
- package/dist/generators/generate-blueprint/templates/test/utils.mjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +9 -0
- package/dist/generators/generator-constants.mjs +10 -8
- package/dist/generators/generator-list.mjs +4 -12
- package/dist/generators/git/generator.mjs +3 -1
- package/dist/generators/gradle/constants.mjs +1 -1
- package/dist/generators/gradle/files.mjs +5 -6
- package/dist/generators/gradle/generator.mjs +17 -9
- package/dist/generators/gradle/templates/.prettierignore.jhi.gradle.ejs +24 -0
- package/dist/generators/gradle/templates/gradlew +0 -0
- package/dist/generators/heroku/generator.mjs +27 -32
- package/dist/generators/heroku/templates/application-heroku.yml.ejs +1 -1
- package/dist/generators/index.js +4 -0
- package/dist/generators/info/generator.mjs +29 -15
- package/dist/generators/info/support/index.mjs +19 -0
- package/dist/generators/info/support/utils.mjs +23 -0
- package/dist/generators/init/generator.mjs +20 -3
- package/dist/generators/init/templates/.husky/pre-commit +0 -0
- package/dist/generators/init/templates/package.json.ejs +2 -9
- package/dist/generators/java/cleanup.mjs +19 -1
- package/dist/generators/java/command.mjs +19 -0
- package/dist/generators/java/entity-files.mjs +27 -0
- package/dist/generators/java/generator.mjs +48 -3
- package/dist/generators/java/support/files.mjs +49 -7
- package/dist/generators/java/support/index.mjs +1 -0
- package/dist/generators/java/support/util.mjs +11 -0
- package/dist/generators/java/templates/_global_partials_entity_/field_validators.ejs +73 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +383 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +51 -0
- package/dist/generators/java/templates/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +63 -0
- package/dist/generators/java/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +45 -0
- package/dist/generators/jdl/command.mjs +0 -10
- package/dist/generators/jdl/generator.mjs +21 -20
- package/dist/generators/kubernetes/files.mjs +1 -1
- package/dist/generators/kubernetes/generator.mjs +66 -33
- package/dist/generators/kubernetes/kubernetes-base.mjs +34 -34
- package/dist/generators/kubernetes/prompts.mjs +17 -19
- package/dist/generators/kubernetes/templates/README-KUBERNETES.md.ejs +1 -1
- package/dist/generators/kubernetes/templates/deployment.yml.ejs +2 -2
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +1 -1
- package/dist/generators/kubernetes/templates/kubectl-apply.sh.ejs +0 -0
- package/dist/generators/kubernetes-helm/generator.mjs +64 -31
- package/dist/generators/kubernetes-helm/templates/app/Chart.yml.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/requirements.yml.ejs +1 -1
- package/dist/generators/kubernetes-helm/templates/app/values.yml.ejs +1 -1
- package/dist/generators/kubernetes-knative/generator.mjs +65 -45
- package/dist/generators/kubernetes-knative/prompts.mjs +2 -2
- package/dist/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +0 -0
- package/dist/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
- package/dist/generators/languages/command.mjs +29 -0
- package/dist/generators/languages/entity-files.mjs +3 -5
- package/dist/generators/languages/files.mjs +6 -0
- package/dist/generators/languages/generator.mjs +133 -104
- package/dist/generators/languages/index.mjs +1 -1
- package/dist/generators/languages/prompts.mjs +1 -1
- package/dist/generators/languages/support/index.mjs +1 -0
- package/dist/generators/languages/support/load-config.mjs +2 -4
- package/dist/generators/languages/support/translate.mjs +78 -0
- package/dist/generators/languages/templates/entity/i18n/entity_al.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ar-ly.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_az-Latn-az.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_bg.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_bn.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_by.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ca.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_cs.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_da.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_de.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_el.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_en.json.ejs +2 -2
- package/dist/generators/languages/templates/entity/i18n/entity_es.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_et.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fa.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_fr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_gl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hu.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_hy.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_id.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_it.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ja.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ko.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_kr-Latn-kr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_mr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_my.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_nl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pa.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pl.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pt-br.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_pt-pt.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ro.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ru.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_si.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sk.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_sv.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ta.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_te.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_th.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_tr.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_ua.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_uz-Cyrl-uz.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_uz-Latn-uz.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_vi.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_zh-cn.json.ejs +3 -3
- package/dist/generators/languages/templates/entity/i18n/entity_zh-tw.json.ejs +3 -3
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/reset.json.ejs +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/index.js.ejs +3 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +12 -9
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +7 -3
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/register.json +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/user-management.json +1 -1
- package/dist/generators/languages/translation-data.mjs +41 -62
- package/dist/generators/liquibase/command.mjs +10 -0
- package/dist/generators/liquibase/files.mjs +2 -1
- package/dist/generators/liquibase/generator.mjs +351 -137
- package/dist/generators/liquibase/index.mjs +1 -0
- package/dist/generators/liquibase/internal/needles.mjs +8 -3
- package/dist/generators/liquibase/support/index.mjs +1 -1
- package/dist/generators/liquibase/support/maven-plugin.mjs +4 -4
- package/dist/generators/liquibase/support/post-prepare-entity.mjs +3 -3
- package/dist/generators/liquibase/support/prepare-field.mjs +1 -1
- package/dist/generators/liquibase/support/relationship.mjs +1 -1
- package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +4 -2
- package/dist/generators/liquibase/templates/src/main/java/_package_/config/LiquibaseConfiguration.java.ejs +127 -0
- package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +8 -2
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/initial_schema_sql.xml.ejs +15 -2
- package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/master.xml.ejs +8 -8
- package/dist/generators/maven/files.mjs +5 -7
- package/dist/generators/maven/generator.mjs +27 -10
- package/dist/generators/maven/internal/xml-store.mjs +7 -4
- package/dist/generators/maven/support/pom-store.mjs +13 -4
- package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/dist/generators/maven/templates/.prettierignore.jhi.maven.ejs +23 -0
- package/dist/generators/maven/templates/mvnw +0 -0
- package/dist/generators/needle-api.mjs +0 -4
- package/dist/generators/openapi-client/USAGE +0 -0
- package/dist/generators/openapi-client/files.mjs +3 -2
- package/dist/generators/openapi-client/generator.mjs +24 -7
- package/dist/generators/openapi-client/templates/java/.openapi-generator-ignore +0 -0
- package/dist/generators/openapi-client/templates/spring/.openapi-generator-ignore +0 -0
- package/dist/generators/openshift/USAGE +0 -0
- package/dist/generators/openshift/generator.mjs +30 -17
- package/dist/generators/openshift/prompts.mjs +2 -2
- package/dist/generators/page/generator.mjs +0 -1
- package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.service.ts.ejs +0 -0
- package/dist/generators/page/templates/vue/src/main/webapp/app/pages/page.vue.ejs +0 -0
- package/dist/generators/project-name/generator.mjs +2 -5
- package/dist/generators/project-name/support/name-resolver.mjs +1 -1
- package/dist/generators/react/entity-files-react.mjs +14 -17
- package/dist/generators/react/files-react.mjs +39 -42
- package/dist/generators/react/generator.mjs +22 -16
- package/dist/generators/react/needle-api/needle-client-react.mjs +1 -1
- package/dist/generators/react/resources/package.json +36 -36
- package/dist/generators/react/support/update-languages.mjs +4 -4
- package/dist/generators/react/templates/.eslintrc.json.ejs +1 -5
- package/dist/generators/react/templates/jest.conf.js.ejs +9 -8
- package/dist/generators/react/templates/package.json.ejs +2 -8
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +82 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-detail.tsx.ejs +171 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-reducer.spec.ts.ejs +430 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +401 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +233 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.tsx.ejs +544 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityModel_.model.ts.ejs +45 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/index.tsx.ejs +47 -0
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/react_validators.ejs +44 -0
- package/dist/generators/react/templates/src/main/webapp/app/modules/account/password-reset/password-reset.reducer.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/modules/account/register/register.tsx.ejs +12 -2
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +6 -6
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/modules/login/login.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/routes.tsx.ejs +3 -3
- package/dist/generators/react/templates/src/main/webapp/app/shared/auth/private-route.tsx.ejs +3 -3
- package/dist/generators/react/templates/tsconfig.json.ejs +3 -3
- package/dist/generators/react/templates/tsconfig.test.json.ejs +3 -3
- package/dist/generators/react/templates/webpack/webpack.common.js.ejs +9 -9
- package/dist/generators/react/templates/webpack/webpack.dev.js.ejs +3 -3
- package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +2 -2
- package/dist/generators/react/templates/webpack/webpack.prod.js.ejs +2 -2
- package/dist/generators/server/cleanup.mjs +4 -4
- package/dist/generators/server/command.mjs +130 -10
- package/dist/generators/server/entity-files.mjs +42 -108
- package/dist/generators/server/files.mjs +67 -62
- package/dist/generators/server/generator.mjs +62 -102
- package/dist/generators/server/internal/build-application.mjs +55 -0
- package/dist/generators/server/internal/index.mjs +19 -0
- package/dist/generators/server/jdl/application-definition.mjs +1 -1
- package/dist/generators/server/prompts.mjs +23 -4
- package/dist/generators/server/resources/Dockerfile +17 -17
- package/dist/generators/server/resources/gradle/libs.versions.toml +7 -7
- package/dist/generators/server/resources/pom.xml +18 -18
- package/dist/generators/server/support/config.mjs +137 -0
- package/dist/generators/server/support/dependabot-gradle.mjs +1 -1
- package/dist/generators/server/support/doc.mjs +1 -2
- package/dist/generators/server/support/index.mjs +2 -0
- package/dist/generators/server/support/java-formatting.mjs +1 -1
- package/dist/generators/server/support/key-store.mjs +1 -1
- package/dist/generators/server/support/needles.mjs +1 -1
- package/dist/generators/server/support/prepare-entity.mjs +10 -5
- package/dist/generators/server/support/prepare-field.mjs +17 -5
- package/dist/generators/server/support/prepare-relationship.mjs +7 -0
- package/dist/generators/server/support/relationship.mjs +1 -1
- package/dist/generators/server/support/templates/field-values.mjs +2 -2
- package/dist/generators/server/templates/README.md.jhi.spring-boot.ejs +405 -0
- package/dist/generators/server/templates/_global_partials_entity_/it_patch_update.partial.java.ejs +74 -0
- package/dist/generators/server/templates/_global_partials_entity_/save_template.ejs +71 -0
- package/dist/generators/server/templates/_global_partials_entity_/update_template.ejs +77 -0
- package/dist/generators/server/templates/build.gradle.ejs +20 -2
- package/dist/generators/server/templates/entity/src/main/java/package/common/inject_template.ejs +3 -1
- package/dist/generators/server/templates/entity/src/main/java/package/common/patch_template.ejs +2 -0
- package/dist/generators/server/templates/entity/src/main/java/package/service/_EntityClass_Service.java.ejs +1 -1
- package/dist/generators/server/templates/entity/src/main/java/package/service/criteria/_EntityClass_Criteria.java.ejs +1 -1
- package/dist/generators/server/templates/entity/src/main/java/package/service/impl/_EntityClass_ServiceImpl.java.ejs +3 -7
- package/dist/generators/server/templates/entity/src/main/java/package/web/rest/_EntityClass_Resource.java.ejs +2 -6
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +21 -4
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
- package/dist/generators/server/templates/gradle/swagger.gradle.ejs +1 -1
- package/dist/generators/server/templates/npmw +0 -0
- package/dist/generators/server/templates/package.json.ejs +0 -6
- package/dist/generators/server/templates/pom.xml.ejs +9 -2
- package/dist/generators/server/templates/reactive/_global_partials_entity_/save_template.ejs +36 -0
- package/dist/generators/server/templates/reactive/_global_partials_entity_/update_template.ejs +41 -0
- package/dist/generators/server/templates/src/main/java/_package_/Application.java.ejs +134 -0
- package/dist/generators/server/templates/src/main/java/_package_/ApplicationWebXml.java.ejs +38 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/delete_template.ejs +32 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_stream_template.ejs +75 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_all_template.ejs +129 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_filtered_template.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/get_template.ejs +31 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/inject_template.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/patch_template.ejs +69 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_stream_template.ejs +50 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/_partials_entity_/search_template.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +131 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository_reactive.java.ejs +168 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +155 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_Service.java.ejs +181 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs +167 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +184 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.java.ejs +318 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/EntityMapper.java.ejs +48 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/mapper/_entityClass_Mapper.java.ejs +145 -0
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/web/rest/_entityClass_Resource.java.ejs +449 -0
- package/dist/generators/server/templates/src/main/java/_package_/aop/logging/LoggingAspect.java.ejs +131 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/AuthorizedFeignClient.java.ejs +72 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/OAuth2InterceptedFeignConfiguration.java.ejs +35 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/TokenRelayRequestInterceptor.java.ejs +44 -0
- package/dist/generators/server/templates/src/main/java/_package_/client/UserFeignClientInterceptor_jwt.java.ejs +36 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/ApplicationProperties.java.ejs +34 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/AsyncConfiguration.java.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/CRLFLogConverter.java.ejs +70 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +43 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/DateTimeFormatConfiguration.java.ejs +42 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/FeignConfiguration.java.ejs +45 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/JacksonConfiguration.java.ejs +56 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +43 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +184 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LoggingAspectConfiguration.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/LoggingConfiguration.java.ejs +92 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/OAuth2Configuration.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/OpenApiConfiguration.java.ejs +52 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/ReactorConfiguration.java.ejs +14 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +337 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +467 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityInMemoryConfiguration.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +127 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/StaticResourcesWebConfiguration.java.ejs +67 -0
- package/dist/generators/server/templates/src/main/java/_package_/config/WebConfigurer.java.ejs +243 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/AbstractAuditingEntity.java.ejs +163 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/Authority.java.ejs +143 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/PersistentToken.java.ejs +288 -0
- package/dist/generators/server/templates/src/main/java/_package_/domain/User.java.ejs +588 -0
- package/dist/generators/server/templates/src/main/java/_package_/management/SecurityMetersService.java.ejs +68 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/AuthorityRepository.java.ejs +78 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/PersistentTokenRepository.java.ejs +190 -0
- package/dist/generators/server/templates/src/main/java/_package_/repository/UserRepository.java.ejs +815 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/AuthoritiesConstants.java.ejs +34 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +100 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/PersistentTokenRememberMeServices.java.ejs +301 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +233 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/SpringSecurityAuditorAware.java.ejs +38 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/UserNotActivatedException.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +64 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AudienceValidator.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/AuthorizationHeaderUtil.java.ejs +175 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/CustomClaimConverter.java.ejs +133 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/JwtGrantedAuthorityConverter.java.ejs +40 -0
- package/dist/generators/server/templates/src/main/java/_package_/security/oauth2/OAuthIdpTokenResponseDTO.java.ejs +161 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/EmailAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/InvalidPasswordException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/MailService.java.ejs +126 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/UserService.java.ejs +1099 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/UsernameAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/AdminUserDTO.java.ejs +244 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/PasswordChangeDTO.java.ejs +57 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +96 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +200 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +179 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +70 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/OAuth2RefreshTokensWebFilter.java.ejs +103 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +61 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_reactive.java.ejs +52 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +347 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +100 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +198 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthInfoResource.java.ejs +69 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +179 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +81 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_imperative.java.ejs +74 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/LogoutResource_reactive.java.ejs +77 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/PublicUserResource.java.ejs +208 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/UserResource.java.ejs +345 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/BadRequestAlertException.java.ejs +64 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/EmailAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ErrorConstants.java.ejs +40 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +355 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/FieldErrorVM.java.ejs +51 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/InvalidPasswordException.java.ejs +37 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/errors/LoginAlreadyUsedException.java.ejs +29 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/KeyAndPasswordVM.java.ejs +45 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/LoginVM.java.ejs +71 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/ManagedUserVM.java.ejs +59 -0
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +59 -0
- package/dist/generators/server/templates/src/main/java/package/Application.java.ejs +2 -1
- package/dist/generators/server/templates/src/main/java/package/client/AuthorizedFeignClient.java.ejs +1 -2
- package/dist/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +3 -1
- package/dist/generators/server/templates/src/main/java/package/config/OAuth2Configuration.java.ejs +0 -1
- package/dist/generators/server/templates/src/main/java/package/config/ReactorConfiguration.java.ejs +0 -0
- package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_imperative.java.ejs +62 -36
- package/dist/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -8
- package/dist/generators/server/templates/src/main/java/package/config/SecurityJwtConfiguration.java.ejs +2 -0
- package/dist/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/repository/PersistentTokenRepository.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +2 -2
- package/dist/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/MailService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/UserService.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/service/mapper/UserMapper.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
- package/dist/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs +6 -3
- package/dist/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -2
- package/dist/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +6 -4
- package/dist/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
- package/dist/generators/server/templates/src/main/java/package/web/rest/errors/ExceptionTranslator.java.ejs +17 -15
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +3 -2
- package/dist/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +102 -0
- package/dist/generators/server/templates/src/test/java/_package_/TechnicalStructureTest.java.ejs +73 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/dto/_dtoClass_Test.java.ejs +53 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/service/mapper/_entityClass_MapperTest.java.ejs +36 -0
- package/dist/generators/server/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +1848 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/AsyncSyncConfiguration.java.ejs +36 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +62 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/SpringBootTestClassOrderer.java.ejs +42 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/StaticResourcesWebConfigurerTest.java.ejs +98 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +104 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/TestSecurityConfiguration.java.ejs +89 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +166 -0
- package/dist/generators/server/templates/src/test/java/_package_/config/WebConfigurerTestController.java.ejs +34 -0
- package/dist/generators/server/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +113 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +180 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +184 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +153 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +78 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +134 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +20 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +84 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +114 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AudienceValidatorTest.java.ejs +59 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +263 -0
- package/dist/generators/server/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +227 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +255 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/UserServiceIT.java.ejs +521 -0
- package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +182 -0
- package/dist/generators/server/templates/src/test/java/_package_/test/util/OAuth2TestUtil.java.ejs +104 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +150 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +107 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +159 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/filter/SpaWebFilterTestController_reactive.java.ejs +17 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +1461 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +196 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +149 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AuthenticateControllerIT.java.ejs +213 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +130 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/PublicUserResourceIT.java.ejs +257 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/TestUtil.java.ejs +275 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/UserResourceIT.java.ejs +1062 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/WithUnauthenticatedMockUser.java.ejs +42 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.java.ejs +134 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +161 -0
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorTestController.java.ejs +94 -0
- package/dist/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -2
- package/dist/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
- package/dist/generators/server/templates/src/test/java/package/web/filter/SpaWebFilterIT_reactive.java.ejs +9 -3
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +10 -10
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +4 -7
- package/dist/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +3 -7
- package/dist/generators/server/templates/src/test/java/package/web/rest/AuthenticateControllerIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +1 -1
- package/dist/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
- package/dist/generators/spring-cache/files.mjs +3 -3
- package/dist/generators/spring-cache/generator.mjs +5 -3
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +820 -0
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +49 -0
- package/dist/generators/spring-cache/templates/src/main/java/package/config/CacheConfiguration.java.ejs +6 -6
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/EmbeddedRedis.java.ejs +30 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainer.java.ejs +57 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +61 -0
- package/dist/generators/spring-cloud-stream/cleanup.mjs +1 -1
- package/dist/generators/spring-cloud-stream/files.mjs +5 -5
- package/dist/generators/spring-cloud-stream/generator.mjs +21 -1
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_imperative.java.ejs +69 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaConsumer_reactive.java.ejs +45 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/broker/KafkaProducer.java.ejs +31 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_imperative.java.ejs +60 -0
- package/dist/generators/spring-cloud-stream/templates/src/main/java/_package_/web/rest/KafkaResource_reactive.java.ejs +58 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/broker/PulsarIT.java.ejs +49 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/BrokerConfiguration.java.ejs +51 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedKafka.java.ejs +30 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/EmbeddedPulsar.java.ejs +30 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainer.java.ejs +56 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +57 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainer.java.ejs +56 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +65 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs +96 -0
- package/dist/generators/spring-cloud-stream/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +109 -0
- package/dist/generators/spring-controller/USAGE +0 -0
- package/dist/generators/spring-controller/generator.mjs +12 -7
- package/dist/generators/spring-data-cassandra/entity-files.mjs +5 -6
- package/dist/generators/spring-data-cassandra/files.mjs +2 -2
- package/dist/generators/spring-data-cassandra/generator.mjs +3 -2
- package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_cassandra.ejs +50 -0
- package/dist/generators/spring-data-cassandra/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +72 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/CassandraKeyspaceIT.java.ejs +40 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainer.java.ejs +97 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +67 -0
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/EmbeddedCassandra.java.ejs +30 -0
- package/dist/generators/spring-data-couchbase/entity-files.mjs +6 -8
- package/dist/generators/spring-data-couchbase/files.mjs +5 -5
- package/dist/generators/spring-data-couchbase/generator.mjs +3 -2
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_couchbase.ejs +210 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_Repository.java.ejs +125 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +324 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/CouchbaseSearchRepository.java.ejs +91 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/JHipsterCouchbaseRepository.java.ejs +115 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/_package_/repository/PersistentTokenRepository_couchbase.java.ejs +49 -0
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/domain/_PersistClass_.java.jhi.spring_data_couchbase.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/main/java/package/repository/_EntityClass_Repository.java.ejs +1 -1
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/CouchbaseTestContainer.java.ejs +67 -0
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/config/EmbeddedCouchbase.java.ejs +30 -0
- package/dist/generators/spring-data-couchbase/templates/src/test/java/_package_/repository/CouchbaseSearchRepositoryTest.java.ejs +48 -0
- package/dist/generators/spring-data-elasticsearch/entity-files.mjs +5 -8
- package/dist/generators/spring-data-elasticsearch/files.mjs +3 -3
- package/dist/generators/spring-data-elasticsearch/generator.mjs +3 -2
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.elastic_search.ejs +53 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/_entityPackage_/repository/search/_entityClass_SearchRepository.java.ejs +169 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/config/ElasticsearchConfiguration.java.ejs +165 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/repository/search/UserSearchRepository.java.ejs +123 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/ElasticsearchExceptionMapper.java.ejs +49 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/_package_/web/web/rest/errors/QuerySyntaxException.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/UserSearchRepository.java.ejs +2 -2
- package/dist/generators/spring-data-elasticsearch/templates/src/main/java/package/repository/search/_EntityClass_SearchRepository.java.ejs +0 -1
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestConfiguration.java.ejs +37 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/ElasticsearchTestContainer.java.ejs +69 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/config/EmbeddedElasticsearch.java.ejs +30 -0
- package/dist/generators/spring-data-elasticsearch/templates/src/test/java/_package_/web/rest/errors/ElasticsearchExceptionMapperTest.java.ejs +45 -0
- package/dist/generators/spring-data-mongodb/entity-files.mjs +4 -6
- package/dist/generators/spring-data-mongodb/files.mjs +3 -3
- package/dist/generators/spring-data-mongodb/generator.mjs +3 -3
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_mongodb.ejs +79 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs +90 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/_package_/config/dbmigrations/InitialSetupMigration.java.ejs +117 -0
- package/dist/generators/spring-data-mongodb/templates/src/main/java/package/config/dbmigrations/InitialSetupMigration.java.ejs +1 -1
- package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/EmbeddedMongo.java.ejs +30 -0
- package/dist/generators/spring-data-mongodb/templates/src/test/java/_package_/config/MongoDbTestContainer.java.ejs +67 -0
- package/dist/generators/spring-data-neo4j/entity-files.mjs +4 -6
- package/dist/generators/spring-data-neo4j/files.mjs +3 -3
- package/dist/generators/spring-data-neo4j/generator.mjs +21 -1
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_neo4j.ejs +97 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/DatabaseConfiguration.java_neo4j.ejs +56 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/java/_package_/config/neo4j/Neo4jMigrations.java.ejs +97 -0
- package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__admin.json.ejs +1 -1
- package/dist/generators/spring-data-neo4j/templates/src/main/resources/config/neo4j/migrations/user__user.json.ejs +1 -1
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/EmbeddedNeo4j.java.ejs +29 -0
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainer.java.ejs +66 -0
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +63 -0
- package/dist/generators/spring-data-relational/cleanup.mjs +1 -1
- package/dist/generators/spring-data-relational/command.mjs +10 -0
- package/dist/generators/spring-data-relational/entity-files.mjs +23 -33
- package/dist/generators/spring-data-relational/files.mjs +14 -24
- package/dist/generators/spring-data-relational/generator.mjs +53 -2
- package/dist/generators/spring-data-relational/index.mjs +1 -0
- package/dist/generators/spring-data-relational/internal/dependencies.mjs +1 -1
- package/dist/generators/spring-data-relational/support/application-properties.mjs +72 -34
- package/dist/generators/spring-data-relational/support/database-data.mjs +2 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_persistence.ejs +128 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/_entityPackage_/repository/_entityClass_RepositoryInternalImpl_reactive.java.ejs +280 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/config/DatabaseConfiguration.java.ejs +1 -1
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.hibernate_cache.ejs +41 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs +31 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/domain/_PersistClass_.java.jhi.jakarta_persistence.ejs +2 -2
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs +61 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs +114 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/domain/_PersistClass_Callback.java.ejs +43 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs +37 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs +95 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/_EntityClass_SqlHelper_reactive.java.ejs +46 -0
- package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/UserRowMapper_reactive.java.ejs +4 -1
- package/dist/generators/spring-data-relational/templates/src/main/java/_package_/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs +81 -0
- package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +1 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/timezone/HibernateTimeZoneIT.java.ejs +51 -54
- package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testdev.yml.ejs +1 -0
- package/dist/generators/spring-data-relational/templates/src/test/resources/config/application-testprod.yml.ejs +1 -0
- package/dist/generators/spring-service/USAGE +0 -0
- package/dist/generators/spring-service/generator.mjs +6 -4
- package/dist/generators/spring-websocket/cleanup.mjs +19 -1
- package/dist/generators/spring-websocket/files.mjs +1 -1
- package/dist/generators/spring-websocket/generator.mjs +3 -1
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketConfiguration.java.ejs +100 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/config/WebsocketSecurityConfiguration.java.ejs +55 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/ActivityService.java.ejs +66 -0
- package/dist/generators/spring-websocket/templates/src/main/java/_package_/web/websocket/dto/ActivityDTO.java.ejs +89 -0
- package/dist/generators/statistics.mjs +3 -3
- package/dist/generators/upgrade/command.mjs +21 -0
- package/dist/generators/upgrade/generator.mjs +95 -156
- package/dist/generators/vue/cleanup.mjs +46 -0
- package/dist/generators/vue/entity-files-vue.mjs +29 -28
- package/dist/generators/vue/files-vue.mjs +86 -115
- package/dist/generators/vue/generator.mjs +37 -18
- package/dist/generators/vue/resources/package.json +37 -30
- package/dist/generators/vue/support/update-languages.mjs +3 -1
- package/dist/generators/vue/templates/.eslintrc.cjs.ejs +58 -0
- package/dist/generators/vue/templates/.eslintrc.js.ejs +1 -1
- package/dist/generators/vue/templates/package.json.ejs +51 -32
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/account.service.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +4 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/activate/activate.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/change-password/change-password.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login-form/login-form.component.spec.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +2 -4
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/login.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/register/register.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/reset-password/init/reset-password-init.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/sessions/sessions.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/account/settings/settings.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/gateway/gateway.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health-modal.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/health/health.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/logs/logs.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics-modal.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/metrics/metrics.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/tracker/tracker.service.spec.ts.ejs +4 -3
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-edit.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management-view.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/admin/user-management/user-management.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/error/error.component.spec.ts.ejs +4 -4
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/home/home.component.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/core/ribbon/ribbon.component.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/declarations.d.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-details.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile-update.component.spec.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.component.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/_entityFolder/_entityFile.service.spec.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.spec.ts.ejs +113 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.component.ts.ejs +64 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +93 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.spec.ts.ejs +207 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.component.ts.ejs +251 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +190 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.spec.ts.ejs +200 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.component.ts.ejs +267 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.spec.ts.ejs +323 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +72 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +195 -0
- package/dist/generators/vue/templates/src/main/webapp/app/entities/entities-menu.component.ts.ejs +5 -4
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/entities/entities-menu.spec.ts.ejs +13 -7
- package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +7 -3
- package/dist/generators/vue/templates/src/main/webapp/app/router/index.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/alert/alert.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/composables/date-format.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/config/axios-interceptor.spec.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/shared/config/config.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/jhi-item-count.component.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/model/_entityModel_.model.ts.ejs +49 -0
- package/dist/generators/vue/templates/src/{test/javascript/spec → main/webapp}/app/shared/sort/sorts.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shims-vue.d.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/content/scss/vendor.scss.ejs +1 -1
- package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.vue.ejs → main/webapp/microfrontends/entities-menu-test.vue.ejs} +1 -1
- package/dist/generators/vue/templates/tsconfig.app.json.ejs +13 -0
- package/dist/generators/vue/templates/tsconfig.json.ejs +11 -25
- package/dist/generators/vue/templates/tsconfig.node.json.ejs +13 -0
- package/dist/generators/vue/templates/{src/test/javascript/spec/tsconfig.json.ejs → tsconfig.test.json.ejs} +4 -4
- package/dist/generators/vue/templates/tsconfig.vitest.json.ejs +9 -0
- package/dist/generators/vue/templates/vite.config.ts.ejs +175 -0
- package/dist/generators/vue/templates/vitest.config.ts.ejs +30 -32
- package/dist/generators/vue/templates/webpack/webpack.common.js.ejs +14 -13
- package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +2 -2
- package/dist/generators/workspaces/command.mjs +2 -1
- package/dist/generators/workspaces/generator.mjs +55 -117
- package/dist/jdl/basic-types/relationships.js +14 -0
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +3 -3
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
- package/dist/jdl/converters/json-to-jdl-converter.js +10 -8
- package/dist/jdl/converters/json-to-jdl-entity-converter.js +6 -6
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/field-converter.js +2 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.js +4 -6
- package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -35
- package/dist/jdl/index.js +3 -0
- package/dist/jdl/jdl-importer.js +1 -25
- package/dist/jdl/jhipster/default-application-options.js +6 -5
- package/dist/jdl/jhipster/deployment-options.js +6 -6
- package/dist/jdl/jhipster/entity-table-name-creator.js +1 -1
- package/dist/jdl/jhipster/field-types.js +1 -1
- package/dist/jdl/jhipster/index.mjs +1 -0
- package/dist/jdl/jhipster/json-entity.js +2 -2
- package/dist/jdl/jhipster/relationship-types.js +5 -8
- package/dist/jdl/jhipster/validations.js +1 -0
- package/dist/jdl/models/jdl-application-configuration-factory.js +0 -3
- package/dist/jdl/models/jdl-application-configuration.js +1 -1
- package/dist/jdl/models/jdl-deployment.js +1 -1
- package/dist/jdl/models/jdl-enum.js +3 -3
- package/dist/jdl/models/jdl-relationship.js +2 -24
- package/dist/jdl/parsing/api.js +1 -1
- package/dist/jdl/parsing/generated/generated-serialized-grammar.js +1 -1
- package/dist/jdl/parsing/jdl-ast-builder-visitor.js +9 -9
- package/dist/jdl/parsing/lexer/relationship-type-tokens.js +1 -1
- package/dist/jdl/parsing/lexer/token-creator.js +1 -1
- package/dist/jdl/parsing/self-checks/parsing-system-checker.js +1 -1
- package/dist/jdl/parsing/self-checks/token-collector-visitor.js +7 -7
- package/dist/jdl/parsing/validator.js +1 -1
- package/dist/jdl/readers/json-reader.js +0 -2
- package/dist/jdl/utils/object-utils.js +1 -1
- package/dist/jdl/validators/jdl-with-application-validator.js +3 -3
- package/dist/jdl/validators/relationship-validator.js +1 -2
- package/dist/lib/index.mjs +5 -3
- package/dist/lib/internal/config-def.mjs +55 -0
- package/dist/lib/internal/index.mjs +1 -0
- package/dist/test/support/deployment-samples.mjs +80 -0
- package/dist/testing/get-generator.mjs +17 -0
- package/dist/testing/helpers.mjs +274 -0
- package/dist/testing/index.mjs +2 -0
- package/dist/types/cli/cli.d.mts +2 -0
- package/dist/types/cli/commands.d.mts +123 -0
- package/dist/types/cli/download.d.mts +17 -0
- package/dist/types/cli/environment-builder.d.mts +142 -0
- package/dist/types/cli/export-utils.d.mts +7 -0
- package/dist/types/cli/index.d.mts +21 -0
- package/dist/types/cli/jhipster-command.d.mts +72 -0
- package/dist/types/cli/jhipster.d.cts +2 -0
- package/dist/types/cli/logo.d.mts +2 -0
- package/dist/types/cli/program.d.mts +36 -0
- package/dist/types/cli/utils.d.mts +55 -0
- package/dist/types/generators/angular/support/needles.d.mts +22 -4
- package/dist/types/generators/angular/support/translate-angular.d.mts +1 -1
- package/dist/types/generators/angular/types-export.d.ts +1 -1
- package/dist/types/generators/app/support/config.d.mts +27 -0
- package/dist/types/generators/app/support/index.d.mts +1 -0
- package/dist/types/generators/app/types-export.d.ts +1 -1
- package/dist/types/generators/aws/types-export.d.ts +1 -1
- package/dist/types/generators/azure-app-service/types-export.d.ts +1 -1
- package/dist/types/generators/azure-spring-cloud/types-export.d.ts +1 -1
- package/dist/types/generators/base/api.d.mts +101 -18
- package/dist/types/generators/base/{generator-base-blueprint.d.mts → generator.d.mts} +16 -2
- package/dist/types/generators/base/index.d.mts +1 -1
- package/dist/types/generators/base/priorities.d.mts +11 -7
- package/dist/types/generators/base/shared-data.d.mts +0 -18
- package/dist/types/generators/base/support/basename.d.mts +9 -0
- package/dist/types/generators/base/support/config.d.mts +23 -0
- package/dist/types/generators/base/support/constants.d.mts +1 -0
- package/dist/types/generators/base/support/index.d.mts +1 -0
- package/dist/types/generators/base/support/needles.d.mts +2 -2
- package/dist/types/generators/base/tasks.d.mts +1 -2
- package/dist/types/generators/base/types.d.mts +6 -2
- package/dist/types/generators/base-application/application-options.d.mts +2 -5
- package/dist/types/generators/base-application/command.d.mts +21 -0
- package/dist/types/generators/base-application/generator.d.mts +15 -8
- package/dist/types/generators/base-application/priorities.d.mts +3 -0
- package/dist/types/generators/base-application/support/prepare-entity.d.mts +2 -1
- package/dist/types/generators/base-application/support/prepare-field.d.mts +2 -0
- package/dist/types/generators/base-application/tasks.d.mts +27 -7
- package/dist/types/generators/base-application/types-export.d.ts +3 -1
- package/dist/types/generators/base-application/types.d.mts +5 -0
- package/dist/types/generators/base-core/{generator-base.d.mts → generator.d.mts} +39 -9
- package/dist/types/generators/base-core/index.d.mts +1 -1
- package/dist/types/generators/base-entity-changes/types-export.d.ts +1 -0
- package/dist/types/generators/base-entity-changes/types.d.ts +18 -0
- package/dist/types/generators/bootstrap/support/eslint-transform.d.mts +5 -0
- package/dist/types/generators/bootstrap/support/index.d.mts +2 -0
- package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.mts +5 -0
- package/dist/types/generators/bootstrap/support/prettier-support.d.mts +13 -2
- package/dist/types/generators/bootstrap/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-base/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-client/types-export.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-server/types-export.d.ts +1 -1
- package/dist/types/generators/ci-cd/types-export.d.ts +1 -1
- package/dist/types/generators/client/support/config.d.mts +13 -0
- package/dist/types/generators/client/support/files.d.mts +14 -0
- package/dist/types/generators/client/support/index.d.mts +2 -0
- package/dist/types/generators/client/support/prepare-entity.d.mts +1 -1
- package/dist/types/generators/client/support/prepare-field.d.mts +1 -1
- package/dist/types/generators/client/types-export.d.ts +1 -1
- package/dist/types/generators/client/types.d.mts +8 -0
- package/dist/types/generators/cloudfoundry/types-export.d.ts +1 -1
- package/dist/types/generators/common/types-export.d.ts +1 -1
- package/dist/types/generators/cucumber/types-export.d.ts +1 -1
- package/dist/types/generators/cypress/types-export.d.ts +1 -1
- package/dist/types/generators/docker/support/check-docker.d.mts +5 -0
- package/dist/types/generators/docker/support/docker-compose-file.d.mts +4 -0
- package/dist/types/generators/docker/support/index.d.mts +20 -0
- package/dist/types/generators/docker/types-export.d.ts +1 -1
- package/dist/types/generators/docker-compose/types-export.d.ts +1 -1
- package/dist/types/generators/entities/types-export.d.ts +1 -1
- package/dist/types/generators/entity/types-export.d.ts +1 -1
- package/dist/types/generators/export-jdl/types-export.d.ts +1 -1
- package/dist/types/generators/gae/types-export.d.ts +1 -1
- package/dist/types/generators/gatling/types-export.d.ts +1 -1
- package/dist/types/generators/generate-blueprint/types-export.d.ts +1 -1
- package/dist/types/generators/generator-constants.d.mts +13 -10
- package/dist/types/generators/generator-list.d.mts +4 -12
- package/dist/types/generators/git/types-export.d.ts +1 -1
- package/dist/types/generators/gradle/types-export.d.ts +1 -1
- package/dist/types/generators/heroku/types-export.d.ts +1 -1
- package/dist/types/generators/index.d.ts +5 -0
- package/dist/types/generators/{liquibase-changelogs → info}/support/index.d.mts +1 -1
- package/dist/types/generators/info/support/utils.d.mts +1 -0
- package/dist/types/generators/info/types-export.d.ts +1 -1
- package/dist/types/generators/init/types-export.d.ts +1 -1
- package/dist/types/generators/java/support/files.d.mts +13 -1
- package/dist/types/generators/java/support/index.d.mts +1 -0
- package/dist/types/generators/java/support/util.d.mts +6 -0
- package/dist/types/generators/java/types-export.d.ts +1 -1
- package/dist/types/generators/jdl/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes-helm/types-export.d.ts +1 -1
- package/dist/types/generators/kubernetes-knative/types-export.d.ts +1 -1
- package/dist/types/generators/languages/support/index.d.mts +1 -0
- package/dist/types/generators/languages/support/load-config.d.mts +6 -4
- package/dist/types/generators/languages/support/translate.d.mts +28 -0
- package/dist/types/generators/languages/types-export.d.ts +1 -1
- package/dist/types/generators/languages/types.d.ts +7 -0
- package/dist/types/generators/liquibase/support/index.d.mts +1 -0
- package/dist/types/generators/liquibase/support/maven-plugin.d.mts +2 -1
- package/dist/types/generators/liquibase/types-export.d.ts +1 -1
- package/dist/types/generators/liquibase/types.d.mts +2 -1
- package/dist/types/generators/maven/internal/xml-store.d.mts +2 -1
- package/dist/types/generators/maven/types-export.d.ts +1 -1
- package/dist/types/generators/maven/types.d.mts +3 -3
- package/dist/types/generators/needle-api.d.mts +0 -4
- package/dist/types/generators/openapi-client/types-export.d.ts +1 -1
- package/dist/types/generators/openshift/types-export.d.ts +1 -1
- package/dist/types/generators/page/types-export.d.ts +1 -1
- package/dist/types/generators/project-name/types-export.d.ts +1 -1
- package/dist/types/generators/react/types-export.d.ts +1 -1
- package/dist/types/generators/server/command.d.mts +3 -0
- package/dist/types/generators/server/jdl/application-definition.d.mts +1 -1
- package/dist/types/generators/server/options/database-migration.d.mts +1 -1
- package/dist/types/generators/server/options/message-broker.d.mts +1 -1
- package/dist/types/generators/server/support/config.d.mts +34 -0
- package/dist/types/generators/server/support/index.d.mts +2 -0
- package/dist/types/generators/server/support/needles.d.mts +1 -1
- package/dist/types/generators/server/support/prepare-relationship.d.mts +4 -0
- package/dist/types/generators/server/types-export.d.ts +1 -1
- package/dist/types/generators/server/types.d.mts +4 -3
- package/dist/types/generators/spring-cache/types-export.d.ts +1 -1
- package/dist/types/generators/spring-cloud-stream/types-export.d.ts +1 -1
- package/dist/types/generators/spring-controller/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-cassandra/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-couchbase/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-elasticsearch/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-mongodb/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-neo4j/types-export.d.ts +1 -1
- package/dist/types/generators/spring-data-relational/support/application-properties.d.mts +3 -1
- package/dist/types/generators/spring-data-relational/types-export.d.ts +1 -1
- package/dist/types/generators/spring-service/types-export.d.ts +1 -1
- package/dist/types/generators/spring-websocket/types-export.d.ts +1 -1
- package/dist/types/generators/upgrade/types-export.d.ts +1 -1
- package/dist/types/generators/vue/types-export.d.ts +1 -1
- package/dist/types/generators/workspaces/types-export.d.ts +1 -1
- package/dist/types/jdl/basic-types/relationships.d.ts +12 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.d.ts +30 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +30 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-option-converter.d.ts +35 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.d.ts +31 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +29 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +32 -0
- package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +20 -0
- package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +32 -0
- package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +33 -0
- package/dist/types/jdl/converters/json-to-jdl-option-converter.d.ts +30 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +28 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +30 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +29 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +31 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +16 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +1 -3
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +30 -0
- package/dist/types/jdl/converters/types.d.ts +2 -3
- package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +32 -0
- package/dist/types/jdl/exporters/export-utils.d.ts +25 -0
- package/dist/types/jdl/exporters/jdl-exporter.d.ts +25 -0
- package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +24 -0
- package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +30 -0
- package/dist/types/jdl/index.d.ts +3 -0
- package/dist/types/jdl/jdl-importer.d.ts +64 -0
- package/dist/types/jdl/jhipster/index.d.mts +1 -0
- package/dist/types/jdl/jhipster/json-entity.d.ts +1 -1
- package/dist/types/jdl/jhipster/relationship-types.d.ts +3 -21
- package/dist/types/jdl/jhipster/validations.d.ts +3 -0
- package/dist/types/jdl/linters/entity-linter.d.ts +33 -0
- package/dist/types/jdl/linters/enum-linter.d.ts +33 -0
- package/dist/types/jdl/linters/field-linter.d.ts +33 -0
- package/dist/types/jdl/linters/issues/abstract-issue.d.ts +25 -0
- package/dist/types/jdl/linters/issues/entity-issue.d.ts +27 -0
- package/dist/types/jdl/linters/issues/enum-issue.d.ts +27 -0
- package/dist/types/jdl/linters/issues/field-issue.d.ts +29 -0
- package/dist/types/jdl/linters/issues/issues.d.ts +44 -0
- package/dist/types/jdl/linters/issues/relationship-issue.d.ts +31 -0
- package/dist/types/jdl/linters/jdl-linter.d.ts +38 -0
- package/dist/types/jdl/linters/relationship-linter.d.ts +35 -0
- package/dist/types/jdl/linters/rule-levels.d.ts +28 -0
- package/dist/types/jdl/linters/rule.d.ts +45 -0
- package/dist/types/jdl/linters/rules.d.ts +41 -0
- package/dist/types/jdl/matchers/entity-matcher.d.ts +1 -0
- package/dist/types/jdl/matchers/field-matcher.d.ts +1 -0
- package/dist/types/jdl/models/abstract-jdl-option.d.ts +35 -0
- package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +21 -0
- package/dist/types/jdl/models/index.d.mts +20 -0
- package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +21 -0
- package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +20 -0
- package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +30 -0
- package/dist/types/jdl/models/jdl-application-configuration.d.ts +27 -0
- package/dist/types/jdl/models/jdl-application-entities.d.ts +33 -0
- package/dist/types/{generators/client/needle-api/needle-client-webpack.d.mts → jdl/models/jdl-application-factory.d.ts} +7 -6
- package/dist/types/jdl/models/jdl-application.d.ts +37 -0
- package/dist/types/jdl/models/jdl-binary-option.d.ts +28 -0
- package/dist/types/jdl/models/jdl-deployment.d.ts +4 -0
- package/dist/types/jdl/models/jdl-entity.d.ts +34 -0
- package/dist/types/jdl/models/jdl-enums.d.ts +28 -0
- package/dist/types/jdl/models/jdl-field.d.ts +32 -0
- package/dist/types/jdl/models/jdl-object-merger.d.ts +26 -0
- package/dist/types/jdl/models/jdl-object.d.ts +82 -0
- package/dist/types/jdl/models/jdl-options.d.ts +30 -0
- package/dist/types/jdl/models/jdl-relationship.d.ts +21 -8
- package/dist/types/jdl/models/jdl-relationships.d.ts +38 -0
- package/dist/types/jdl/models/jdl-unary-option.d.ts +26 -0
- package/dist/types/jdl/models/jdl-validation.d.ts +24 -0
- package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +24 -0
- package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +24 -0
- package/dist/types/jdl/parsing/api.d.ts +21 -0
- package/dist/types/jdl/parsing/exports.d.ts +26 -0
- package/dist/types/jdl/parsing/generated/generated-serialized-grammar.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +128 -0
- package/dist/types/jdl/parsing/jdl-post-parsing-tasks.d.ts +19 -0
- package/dist/types/jdl/parsing/self-checks/token-collector-visitor.d.ts +7 -7
- package/dist/types/jdl/readers/file-reader.d.ts +30 -0
- package/dist/types/jdl/readers/jdl-reader.d.ts +39 -0
- package/dist/types/jdl/readers/json-file-reader.d.ts +30 -0
- package/dist/types/jdl/readers/json-reader.d.ts +20 -0
- package/dist/types/jdl/types/types.d.mts +44 -0
- package/dist/types/jdl/utils/array-utils.d.ts +19 -0
- package/dist/types/jdl/utils/deprecation-utils.d.ts +34 -0
- package/dist/types/jdl/utils/file-utils.d.ts +36 -0
- package/dist/types/jdl/utils/objects/logger.d.ts +20 -0
- package/dist/types/jdl/utils/set-utils.d.ts +20 -0
- package/dist/types/jdl/validators/binary-option-validator.d.ts +23 -0
- package/dist/types/jdl/validators/deployment-validator.d.ts +23 -0
- package/dist/types/jdl/validators/entity-validator.d.ts +23 -0
- package/dist/types/jdl/validators/enum-validator.d.ts +23 -0
- package/dist/types/jdl/validators/field-validator.d.ts +23 -0
- package/dist/types/jdl/validators/jdl-with-application-validator.d.ts +28 -0
- package/dist/types/jdl/validators/jdl-without-application-validator.d.ts +33 -0
- package/dist/types/jdl/validators/option-validator.d.ts +23 -0
- package/dist/types/jdl/validators/relationship-validator.d.ts +24 -0
- package/dist/types/jdl/validators/unary-option-validator.d.ts +22 -0
- package/dist/types/jdl/validators/validation-validator.d.ts +23 -0
- package/dist/types/jdl/validators/validator.d.ts +24 -0
- package/dist/types/lib/index.d.mts +2 -0
- package/dist/types/lib/internal/config-def.d.mts +10 -0
- package/dist/types/lib/internal/index.d.mts +1 -0
- package/dist/types/test/support/deployment-samples.d.mts +80 -0
- package/dist/types/testing/get-generator.d.mts +3 -0
- package/dist/types/testing/helpers.d.mts +69 -0
- package/dist/types/testing/index.d.mts +2 -0
- package/package.json +83 -63
- package/dist/generators/base/generator-base-todo.mjs +0 -1126
- package/dist/generators/base/generator-base.mjs +0 -564
- package/dist/generators/base-core/generator-base.mjs +0 -565
- package/dist/generators/base-docker/docker-cli.mjs +0 -121
- package/dist/generators/base-docker/docker-utils.mjs +0 -61
- package/dist/generators/base-docker/generator.mjs +0 -94
- package/dist/generators/client/needle-api/needle-client-i18n.mjs +0 -40
- package/dist/generators/client/needle-api/needle-client-webpack.mjs +0 -42
- package/dist/generators/client/utils.mjs +0 -29
- package/dist/generators/liquibase-changelogs/generator.mjs +0 -311
- package/dist/jdl/exporters/applications/jhipster-application-exporter.js +0 -52
- package/dist/jdl/index.mjs +0 -3
- package/dist/types/generators/base/generator-base-todo.d.mts +0 -281
- package/dist/types/generators/base/generator-base.d.mts +0 -166
- package/dist/types/generators/client/needle-api/needle-client-i18n.d.mts +0 -7
- package/dist/types/generators/liquibase-changelogs/types-export.d.ts +0 -1
- /package/dist/generators/{liquibase-changelogs/files.mjs → liquibase/changelog-files.mjs} +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/support/formatting.mjs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.png +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/blob/hipster.txt.ejs +0 -0
- /package/dist/generators/{liquibase-changelogs → liquibase}/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.hibernate_cache.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.hibernate_cache.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.jakarta_lifecycle_events.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_lifecycle_events.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_persistable.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_persistable.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_.java.jhi.spring_data_reactive.ejs → _package_/_entityPackage_/domain/_persistClass_.java.jhi.spring_data_reactive.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/domain/_PersistClass_Callback.java.ejs → _package_/_entityPackage_/domain/_persistClass_Callback.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationships.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationships.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_RepositoryWithBagRelationshipsImpl.java.ejs → _package_/_entityPackage_/repository/_entityClass_RepositoryWithBagRelationshipsImpl.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/_EntityClass_SqlHelper_reactive.java.ejs → _package_/_entityPackage_/repository/_entityClass_SqlHelper_reactive.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package/repository/rowmapper/_EntityClass_RowMapper_reactive.java.ejs → _package_/_entityPackage_/repository/rowmapper/_entityClass_RowMapper_reactive.java.ejs} +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/EntityManager_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/UserSqlHelper_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/_EntityClass_RepositoryInternalImpl_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/main/java/{package → _package_}/repository/rowmapper/ColumnConverter_reactive.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/EmbeddedSQL.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MariadbTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MsSqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/MysqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/PostgreSqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/config/SqlTestContainer.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapper.java.ejs +0 -0
- /package/dist/generators/spring-data-relational/templates/src/test/java/{package → _package_}/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/setup.ts.ejs → main/webapp/app/test-setup.ts.ejs} +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs → main/webapp/microfrontends/entities-menu.component-test.ts.ejs} +0 -0
- /package/dist/generators/vue/templates/src/{test/javascript/spec/app/microfrontends/entities-router.ts.ejs → main/webapp/microfrontends/entities-router-test.ts.ejs} +0 -0
- /package/dist/types/generators/{liquibase-changelogs → liquibase}/support/formatting.d.mts +0 -0
package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs
ADDED
|
@@ -0,0 +1,1461 @@
|
|
|
1
|
+
<%#
|
|
2
|
+
Copyright 2013-2023 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 %>.web.rest;
|
|
20
|
+
|
|
21
|
+
import <%= packageName %>.IntegrationTest;
|
|
22
|
+
import <%= packageName %>.config.Constants;
|
|
23
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
24
|
+
import <%= packageName %>.domain.PersistentToken;
|
|
25
|
+
<%_ } _%>
|
|
26
|
+
import <%= user.entityAbsoluteClass %>;
|
|
27
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
28
|
+
import <%= packageName %>.repository.AuthorityRepository;
|
|
29
|
+
<%_ } _%>
|
|
30
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
31
|
+
import <%= packageName %>.repository.PersistentTokenRepository;
|
|
32
|
+
<%_ } _%>
|
|
33
|
+
import <%= packageName %>.repository.UserRepository;
|
|
34
|
+
<%_ if (reactive && searchEngineElasticsearch) { _%>
|
|
35
|
+
import <%= packageName %>.repository.search.UserSearchRepository;
|
|
36
|
+
<%_ } _%>
|
|
37
|
+
import <%= packageName %>.security.AuthoritiesConstants;
|
|
38
|
+
import <%= packageName %>.service.UserService;
|
|
39
|
+
import <%= packageName %>.service.dto.PasswordChangeDTO;
|
|
40
|
+
import <%= packageName %>.service.dto.<%= user.adminUserDto %>;
|
|
41
|
+
import <%= packageName %>.service.dto.<%= user.dtoClass %>;
|
|
42
|
+
import <%= packageName %>.web.rest.vm.KeyAndPasswordVM;
|
|
43
|
+
import <%= packageName %>.web.rest.vm.ManagedUserVM;
|
|
44
|
+
import org.apache.commons.lang3.RandomStringUtils;
|
|
45
|
+
<%_ if (reactive && authenticationUsesCsrf || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
46
|
+
import org.junit.jupiter.api.BeforeEach;
|
|
47
|
+
<%_ } _%>
|
|
48
|
+
import org.junit.jupiter.api.Test;
|
|
49
|
+
import org.springframework.beans.factory.annotation.Autowired;
|
|
50
|
+
<%_ if (reactive) { _%>
|
|
51
|
+
import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
|
|
52
|
+
<%_ } else { _%>
|
|
53
|
+
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
|
54
|
+
<%_ } _%>
|
|
55
|
+
<%_ if (reactive) { _%>
|
|
56
|
+
import org.springframework.http.HttpStatus;
|
|
57
|
+
<%_ } _%>
|
|
58
|
+
import org.springframework.http.MediaType;
|
|
59
|
+
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
60
|
+
import org.springframework.security.test.context.support.WithMockUser;
|
|
61
|
+
<%_ if (reactive) { _%>
|
|
62
|
+
import org.springframework.test.web.reactive.server.WebTestClient;
|
|
63
|
+
<%_ } else { _%>
|
|
64
|
+
import org.springframework.test.web.servlet.MockMvc;
|
|
65
|
+
<%_ } _%>
|
|
66
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
67
|
+
import org.springframework.transaction.annotation.Transactional;
|
|
68
|
+
<%_ } _%>
|
|
69
|
+
<%_ if (reactive && searchEngineElasticsearch) { _%>
|
|
70
|
+
import reactor.core.publisher.Mono;
|
|
71
|
+
<%_ } _%>
|
|
72
|
+
import java.time.Instant;
|
|
73
|
+
<%_ if (authenticationTypeSession && !reactive && (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase)) { _%>
|
|
74
|
+
import java.time.LocalDate;
|
|
75
|
+
<%_ } _%>
|
|
76
|
+
import java.util.*;
|
|
77
|
+
|
|
78
|
+
import static org.assertj.core.api.Assertions.assertThat;
|
|
79
|
+
<%_ if (reactive && searchEngineElasticsearch) { _%>
|
|
80
|
+
import static org.mockito.Mockito.*;
|
|
81
|
+
<%_ } _%>
|
|
82
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
83
|
+
import static org.hamcrest.Matchers.containsString;
|
|
84
|
+
import static org.hamcrest.Matchers.hasItem;
|
|
85
|
+
<%_ } _%>
|
|
86
|
+
<%_ if (reactive) { _%>
|
|
87
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
88
|
+
import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf;
|
|
89
|
+
<%_ } _%>
|
|
90
|
+
<%_ } else { _%>
|
|
91
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
92
|
+
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
|
|
93
|
+
<%_ } _%>
|
|
94
|
+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
|
|
95
|
+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
|
96
|
+
<%_ } _%>
|
|
97
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
98
|
+
import static org.springframework.security.test.web.servlet.response.SecurityMockMvcResultHandlers.exportTestSecurityContext;
|
|
99
|
+
<%_ } _%>
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Integration tests for the {@link AccountResource} REST controller.
|
|
103
|
+
*/
|
|
104
|
+
<%_ if (reactive) { _%>
|
|
105
|
+
@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT)
|
|
106
|
+
<%_ } else { _%>
|
|
107
|
+
@AutoConfigureMockMvc
|
|
108
|
+
<%_ } _%>
|
|
109
|
+
@IntegrationTest
|
|
110
|
+
class AccountResourceIT {
|
|
111
|
+
static final String TEST_USER_LOGIN = "test";
|
|
112
|
+
|
|
113
|
+
@Autowired
|
|
114
|
+
private UserRepository userRepository;
|
|
115
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
116
|
+
|
|
117
|
+
@Autowired
|
|
118
|
+
private AuthorityRepository authorityRepository;
|
|
119
|
+
<%_ } _%>
|
|
120
|
+
|
|
121
|
+
@Autowired
|
|
122
|
+
private UserService userService;
|
|
123
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
124
|
+
|
|
125
|
+
@Autowired
|
|
126
|
+
private PersistentTokenRepository persistentTokenRepository;
|
|
127
|
+
<%_ } _%>
|
|
128
|
+
|
|
129
|
+
@Autowired
|
|
130
|
+
private PasswordEncoder passwordEncoder;
|
|
131
|
+
|
|
132
|
+
@Autowired
|
|
133
|
+
<%_ if (reactive) { _%>
|
|
134
|
+
private WebTestClient accountWebTestClient;
|
|
135
|
+
<%_ } else { _%>
|
|
136
|
+
private MockMvc restAccountMockMvc;
|
|
137
|
+
<%_ } _%>
|
|
138
|
+
|
|
139
|
+
<%_ if (databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
140
|
+
@BeforeEach
|
|
141
|
+
public void setup() {
|
|
142
|
+
userRepository.deleteAll()<% if (reactive) { %>.block()<% } %>;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
<%_ } _%>
|
|
146
|
+
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
147
|
+
@BeforeEach
|
|
148
|
+
public void setupCsrf() {
|
|
149
|
+
accountWebTestClient = accountWebTestClient.mutateWith(csrf());
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
<%_ } _%>
|
|
153
|
+
@Test
|
|
154
|
+
@WithUnauthenticatedMockUser
|
|
155
|
+
<%_ if (reactive) { _%>
|
|
156
|
+
void testNonAuthenticatedUser() {
|
|
157
|
+
accountWebTestClient.get().uri("/api/authenticate")
|
|
158
|
+
.accept(MediaType.APPLICATION_JSON)
|
|
159
|
+
.exchange()
|
|
160
|
+
.expectStatus().isOk()
|
|
161
|
+
.expectBody().isEmpty();
|
|
162
|
+
<%_ } else { _%>
|
|
163
|
+
void testNonAuthenticatedUser() throws Exception {
|
|
164
|
+
restAccountMockMvc.perform(get("/api/authenticate")
|
|
165
|
+
.accept(MediaType.APPLICATION_JSON))
|
|
166
|
+
.andExpect(status().isOk())
|
|
167
|
+
.andExpect(content().string(""));
|
|
168
|
+
<%_ } _%>
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@Test
|
|
172
|
+
@WithMockUser(TEST_USER_LOGIN)
|
|
173
|
+
<%_ if (reactive) { _%>
|
|
174
|
+
void testAuthenticatedUser() {
|
|
175
|
+
accountWebTestClient
|
|
176
|
+
.get().uri("/api/authenticate")
|
|
177
|
+
.accept(MediaType.APPLICATION_JSON)
|
|
178
|
+
.exchange()
|
|
179
|
+
.expectStatus().isOk()
|
|
180
|
+
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
181
|
+
<%_ } else { _%>
|
|
182
|
+
void testAuthenticatedUser() throws Exception {
|
|
183
|
+
restAccountMockMvc.perform(get("/api/authenticate")
|
|
184
|
+
.with(request -> request)
|
|
185
|
+
.accept(MediaType.APPLICATION_JSON))
|
|
186
|
+
.andExpect(status().isOk())
|
|
187
|
+
.andExpect(content().string(TEST_USER_LOGIN));
|
|
188
|
+
<%_ } _%>
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
@Test
|
|
192
|
+
@WithMockUser(TEST_USER_LOGIN)
|
|
193
|
+
void testGetExistingAccount()<% if (!reactive) { %> throws Exception<% } %> {
|
|
194
|
+
Set<String> authorities = new HashSet<>();
|
|
195
|
+
authorities.add(AuthoritiesConstants.ADMIN);
|
|
196
|
+
|
|
197
|
+
<%= user.adminUserDto %> user = new <%= user.adminUserDto %>();
|
|
198
|
+
user.setLogin(TEST_USER_LOGIN);
|
|
199
|
+
user.setFirstName("john");
|
|
200
|
+
user.setLastName("doe");
|
|
201
|
+
user.setEmail("john.doe@jhipster.com");
|
|
202
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
203
|
+
user.setImageUrl("http://placehold.it/50x50");
|
|
204
|
+
<%_ } _%>
|
|
205
|
+
user.setLangKey("en");
|
|
206
|
+
user.setAuthorities(authorities);
|
|
207
|
+
userService.createUser(user)<% if (reactive) { %>.block()<% } %>;
|
|
208
|
+
|
|
209
|
+
<%_ if (reactive) { _%>
|
|
210
|
+
accountWebTestClient.get().uri("/api/account")
|
|
211
|
+
.accept(MediaType.APPLICATION_JSON)
|
|
212
|
+
.exchange()
|
|
213
|
+
.expectStatus().isOk()
|
|
214
|
+
.expectHeader().contentType(MediaType.APPLICATION_JSON_VALUE)
|
|
215
|
+
.expectBody()
|
|
216
|
+
.jsonPath("$.login").isEqualTo(TEST_USER_LOGIN)
|
|
217
|
+
.jsonPath("$.firstName").isEqualTo("john")
|
|
218
|
+
.jsonPath("$.lastName").isEqualTo("doe")
|
|
219
|
+
.jsonPath("$.email").isEqualTo("john.doe@jhipster.com")
|
|
220
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
221
|
+
.jsonPath("$.imageUrl").isEqualTo("http://placehold.it/50x50")
|
|
222
|
+
<%_ } _%>
|
|
223
|
+
.jsonPath("$.langKey").isEqualTo("en")
|
|
224
|
+
.jsonPath("$.authorities").isEqualTo(AuthoritiesConstants.ADMIN);
|
|
225
|
+
<%_ } else { _%>
|
|
226
|
+
restAccountMockMvc.perform(get("/api/account")
|
|
227
|
+
.accept(MediaType.APPLICATION_JSON))
|
|
228
|
+
.andExpect(status().isOk())
|
|
229
|
+
.andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE))
|
|
230
|
+
.andExpect(jsonPath("$.login").value(TEST_USER_LOGIN))
|
|
231
|
+
.andExpect(jsonPath("$.firstName").value("john"))
|
|
232
|
+
.andExpect(jsonPath("$.lastName").value("doe"))
|
|
233
|
+
.andExpect(jsonPath("$.email").value("john.doe@jhipster.com"))
|
|
234
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
235
|
+
.andExpect(jsonPath("$.imageUrl").value("http://placehold.it/50x50"))
|
|
236
|
+
<%_ } _%>
|
|
237
|
+
.andExpect(jsonPath("$.langKey").value("en"))
|
|
238
|
+
.andExpect(jsonPath("$.authorities").value(AuthoritiesConstants.ADMIN));
|
|
239
|
+
|
|
240
|
+
<%_ } _%>
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
@Test
|
|
244
|
+
<%_ if (reactive) { _%>
|
|
245
|
+
void testGetUnknownAccount() {
|
|
246
|
+
accountWebTestClient.get().uri("/api/account")
|
|
247
|
+
.accept(MediaType.APPLICATION_JSON)
|
|
248
|
+
.exchange()
|
|
249
|
+
<%_ if (authenticationTypeSession) { _%>
|
|
250
|
+
.expectStatus().isEqualTo(HttpStatus.OK);
|
|
251
|
+
<%_ } else { _%>
|
|
252
|
+
.expectStatus().isEqualTo(HttpStatus.UNAUTHORIZED);
|
|
253
|
+
<%_ } _%>
|
|
254
|
+
<%_ } else { _%>
|
|
255
|
+
void testGetUnknownAccount() throws Exception {
|
|
256
|
+
restAccountMockMvc.perform(get("/api/account")
|
|
257
|
+
.accept(MediaType.APPLICATION_PROBLEM_JSON))
|
|
258
|
+
.andExpect(status().isUnauthorized());
|
|
259
|
+
<%_ } _%>
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@Test
|
|
263
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
264
|
+
@Transactional
|
|
265
|
+
<%_ } _%>
|
|
266
|
+
void testRegisterValid() throws Exception {
|
|
267
|
+
ManagedUserVM validUser = new ManagedUserVM();
|
|
268
|
+
validUser.setLogin("test-register-valid");
|
|
269
|
+
validUser.setPassword("password");
|
|
270
|
+
validUser.setFirstName("Alice");
|
|
271
|
+
validUser.setLastName("Test");
|
|
272
|
+
validUser.setEmail("test-register-valid@example.com");
|
|
273
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
274
|
+
validUser.setImageUrl("http://placehold.it/50x50");
|
|
275
|
+
<%_ } _%>
|
|
276
|
+
validUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
277
|
+
validUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
278
|
+
assertThat(userRepository.findOneByLogin("test-register-valid")<% if (reactive) { %>.blockOptional()<% } %>).isEmpty();
|
|
279
|
+
|
|
280
|
+
<%_ if (reactive) { _%>
|
|
281
|
+
accountWebTestClient.post().uri("/api/register")
|
|
282
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
283
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(validUser))
|
|
284
|
+
.exchange()
|
|
285
|
+
.expectStatus().isCreated();
|
|
286
|
+
<%_ } else { _%>
|
|
287
|
+
restAccountMockMvc.perform(
|
|
288
|
+
post("/api/register")
|
|
289
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
290
|
+
.content(TestUtil.convertObjectToJsonBytes(validUser))<% if (authenticationUsesCsrf) { %>
|
|
291
|
+
.with(csrf())<% } %>)
|
|
292
|
+
.andExpect(status().isCreated());
|
|
293
|
+
<%_ } _%>
|
|
294
|
+
|
|
295
|
+
assertThat(userRepository.findOneByLogin("test-register-valid")<% if (reactive) { %>.blockOptional()<% } %>).isPresent();
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@Test
|
|
299
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
300
|
+
@Transactional
|
|
301
|
+
<%_ } _%>
|
|
302
|
+
void testRegisterInvalidLogin() throws Exception {
|
|
303
|
+
ManagedUserVM invalidUser = new ManagedUserVM();
|
|
304
|
+
invalidUser.setLogin("funky-log(n");// <-- invalid
|
|
305
|
+
invalidUser.setPassword("password");
|
|
306
|
+
invalidUser.setFirstName("Funky");
|
|
307
|
+
invalidUser.setLastName("One");
|
|
308
|
+
invalidUser.setEmail("funky@example.com");
|
|
309
|
+
invalidUser.setActivated(true);
|
|
310
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
311
|
+
invalidUser.setImageUrl("http://placehold.it/50x50");
|
|
312
|
+
<%_ } _%>
|
|
313
|
+
invalidUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
314
|
+
invalidUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
315
|
+
|
|
316
|
+
<%_ if (!reactive) { _%>
|
|
317
|
+
restAccountMockMvc.perform(
|
|
318
|
+
post("/api/register")
|
|
319
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
320
|
+
.content(TestUtil.convertObjectToJsonBytes(invalidUser))<% if (authenticationUsesCsrf) { %>
|
|
321
|
+
.with(csrf())<% } %>)
|
|
322
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
323
|
+
.andDo(exportTestSecurityContext())
|
|
324
|
+
<%_ } _%>
|
|
325
|
+
.andExpect(status().isBadRequest());
|
|
326
|
+
<%_ } else { _%>
|
|
327
|
+
accountWebTestClient.post().uri("/api/register")
|
|
328
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
329
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(invalidUser))
|
|
330
|
+
.exchange()
|
|
331
|
+
.expectStatus().isBadRequest();
|
|
332
|
+
<%_ } _%>
|
|
333
|
+
|
|
334
|
+
Optional<<%= user.persistClass %>> user = userRepository.findOneByEmailIgnoreCase("funky@example.com")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
335
|
+
assertThat(user).isEmpty();
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
@Test
|
|
339
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
340
|
+
@Transactional
|
|
341
|
+
<%_ } _%>
|
|
342
|
+
void testRegisterInvalidEmail() throws Exception {
|
|
343
|
+
ManagedUserVM invalidUser = new ManagedUserVM();
|
|
344
|
+
invalidUser.setLogin("bob");
|
|
345
|
+
invalidUser.setPassword("password");
|
|
346
|
+
invalidUser.setFirstName("Bob");
|
|
347
|
+
invalidUser.setLastName("Green");
|
|
348
|
+
invalidUser.setEmail("invalid");// <-- invalid
|
|
349
|
+
invalidUser.setActivated(true);
|
|
350
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
351
|
+
invalidUser.setImageUrl("http://placehold.it/50x50");
|
|
352
|
+
<%_ } _%>
|
|
353
|
+
invalidUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
354
|
+
invalidUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
355
|
+
|
|
356
|
+
<%_ if (reactive) { _%>
|
|
357
|
+
accountWebTestClient.post().uri("/api/register")
|
|
358
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
359
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(invalidUser))
|
|
360
|
+
.exchange()
|
|
361
|
+
.expectStatus().isBadRequest();
|
|
362
|
+
<%_ } else { _%>
|
|
363
|
+
restAccountMockMvc.perform(
|
|
364
|
+
post("/api/register")
|
|
365
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
366
|
+
.content(TestUtil.convertObjectToJsonBytes(invalidUser))<% if (authenticationUsesCsrf) { %>
|
|
367
|
+
.with(csrf())<% } %>)
|
|
368
|
+
.andExpect(status().isBadRequest());
|
|
369
|
+
<%_ } _%>
|
|
370
|
+
|
|
371
|
+
Optional<<%= user.persistClass %>> user = userRepository.findOneByLogin("bob")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
372
|
+
assertThat(user).isEmpty();
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
@Test
|
|
376
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
377
|
+
@Transactional
|
|
378
|
+
<%_ } _%>
|
|
379
|
+
void testRegisterInvalidPassword() throws Exception {
|
|
380
|
+
ManagedUserVM invalidUser = new ManagedUserVM();
|
|
381
|
+
invalidUser.setLogin("bob");
|
|
382
|
+
invalidUser.setPassword("123");// password with only 3 digits
|
|
383
|
+
invalidUser.setFirstName("Bob");
|
|
384
|
+
invalidUser.setLastName("Green");
|
|
385
|
+
invalidUser.setEmail("bob@example.com");
|
|
386
|
+
invalidUser.setActivated(true);
|
|
387
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
388
|
+
invalidUser.setImageUrl("http://placehold.it/50x50");
|
|
389
|
+
<%_ } _%>
|
|
390
|
+
invalidUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
391
|
+
invalidUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
392
|
+
|
|
393
|
+
<%_ if (reactive) { _%>
|
|
394
|
+
accountWebTestClient.post().uri("/api/register")
|
|
395
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
396
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(invalidUser))
|
|
397
|
+
.exchange()
|
|
398
|
+
.expectStatus().isBadRequest();
|
|
399
|
+
<%_ } else { _%>
|
|
400
|
+
restAccountMockMvc.perform(
|
|
401
|
+
post("/api/register")
|
|
402
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
403
|
+
.content(TestUtil.convertObjectToJsonBytes(invalidUser))<% if (authenticationUsesCsrf) { %>
|
|
404
|
+
.with(csrf())<% } %>)
|
|
405
|
+
.andExpect(status().isBadRequest());
|
|
406
|
+
<%_ } _%>
|
|
407
|
+
|
|
408
|
+
Optional<<%= user.persistClass %>> user = userRepository.findOneByLogin("bob")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
409
|
+
assertThat(user).isEmpty();
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
@Test
|
|
413
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
414
|
+
@Transactional
|
|
415
|
+
<%_ } _%>
|
|
416
|
+
void testRegisterNullPassword() throws Exception {
|
|
417
|
+
ManagedUserVM invalidUser = new ManagedUserVM();
|
|
418
|
+
invalidUser.setLogin("bob");
|
|
419
|
+
invalidUser.setPassword(null);// invalid null password
|
|
420
|
+
invalidUser.setFirstName("Bob");
|
|
421
|
+
invalidUser.setLastName("Green");
|
|
422
|
+
invalidUser.setEmail("bob@example.com");
|
|
423
|
+
invalidUser.setActivated(true);
|
|
424
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
425
|
+
invalidUser.setImageUrl("http://placehold.it/50x50");
|
|
426
|
+
<%_ } _%>
|
|
427
|
+
invalidUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
428
|
+
invalidUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
429
|
+
|
|
430
|
+
<%_ if (reactive) { _%>
|
|
431
|
+
accountWebTestClient.post().uri("/api/register")
|
|
432
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
433
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(invalidUser))
|
|
434
|
+
.exchange()
|
|
435
|
+
.expectStatus().isBadRequest();
|
|
436
|
+
<%_ } else { _%>
|
|
437
|
+
restAccountMockMvc.perform(
|
|
438
|
+
post("/api/register")
|
|
439
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
440
|
+
.content(TestUtil.convertObjectToJsonBytes(invalidUser))<% if (authenticationUsesCsrf) { %>
|
|
441
|
+
.with(csrf())<% } %>)
|
|
442
|
+
.andExpect(status().isBadRequest());
|
|
443
|
+
<%_ } _%>
|
|
444
|
+
|
|
445
|
+
Optional<<%= user.persistClass %>> user = userRepository.findOneByLogin("bob")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
446
|
+
assertThat(user).isEmpty();
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
@Test
|
|
450
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
451
|
+
@Transactional
|
|
452
|
+
<%_ } _%>
|
|
453
|
+
void testRegisterDuplicateLogin() throws Exception {
|
|
454
|
+
// First registration
|
|
455
|
+
ManagedUserVM firstUser = new ManagedUserVM();
|
|
456
|
+
firstUser.setLogin("alice");
|
|
457
|
+
firstUser.setPassword("password");
|
|
458
|
+
firstUser.setFirstName("Alice");
|
|
459
|
+
firstUser.setLastName("Something");
|
|
460
|
+
firstUser.setEmail("alice@example.com");
|
|
461
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
462
|
+
firstUser.setImageUrl("http://placehold.it/50x50");
|
|
463
|
+
<%_ } _%>
|
|
464
|
+
firstUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
465
|
+
firstUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
466
|
+
|
|
467
|
+
// Duplicate login, different email
|
|
468
|
+
ManagedUserVM secondUser = new ManagedUserVM();
|
|
469
|
+
secondUser.setLogin(firstUser.getLogin());
|
|
470
|
+
secondUser.setPassword(firstUser.getPassword());
|
|
471
|
+
secondUser.setFirstName(firstUser.getFirstName());
|
|
472
|
+
secondUser.setLastName(firstUser.getLastName());
|
|
473
|
+
secondUser.setEmail("alice2@example.com");
|
|
474
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
475
|
+
secondUser.setImageUrl(firstUser.getImageUrl());
|
|
476
|
+
<%_ } _%>
|
|
477
|
+
secondUser.setLangKey(firstUser.getLangKey());
|
|
478
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
479
|
+
secondUser.setCreatedBy(firstUser.getCreatedBy());
|
|
480
|
+
secondUser.setCreatedDate(firstUser.getCreatedDate());
|
|
481
|
+
secondUser.setLastModifiedBy(firstUser.getLastModifiedBy());
|
|
482
|
+
secondUser.setLastModifiedDate(firstUser.getLastModifiedDate());
|
|
483
|
+
<%_ } _%>
|
|
484
|
+
secondUser.setAuthorities(new HashSet<>(firstUser.getAuthorities()));
|
|
485
|
+
|
|
486
|
+
// First user
|
|
487
|
+
<%_ if (reactive) { _%>
|
|
488
|
+
accountWebTestClient.post().uri("/api/register")
|
|
489
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
490
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(firstUser))
|
|
491
|
+
.exchange()
|
|
492
|
+
.expectStatus().isCreated();
|
|
493
|
+
<%_ } else { _%>
|
|
494
|
+
restAccountMockMvc.perform(
|
|
495
|
+
post("/api/register")
|
|
496
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
497
|
+
.content(TestUtil.convertObjectToJsonBytes(firstUser))<% if (authenticationUsesCsrf) { %>
|
|
498
|
+
.with(csrf())<% } %>)
|
|
499
|
+
.andExpect(status().isCreated());
|
|
500
|
+
<%_ } _%>
|
|
501
|
+
|
|
502
|
+
// Second (non activated) user
|
|
503
|
+
<%_ if (reactive) { _%>
|
|
504
|
+
accountWebTestClient.post().uri("/api/register")
|
|
505
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
506
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(secondUser))
|
|
507
|
+
.exchange()
|
|
508
|
+
.expectStatus().isCreated();
|
|
509
|
+
<%_ } else { _%>
|
|
510
|
+
restAccountMockMvc.perform(
|
|
511
|
+
post("/api/register")
|
|
512
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
513
|
+
.content(TestUtil.convertObjectToJsonBytes(secondUser))<% if (authenticationUsesCsrf) { %>
|
|
514
|
+
.with(csrf())<% } %>)
|
|
515
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
516
|
+
.andDo(exportTestSecurityContext())
|
|
517
|
+
<%_ } _%>
|
|
518
|
+
.andExpect(status().isCreated());
|
|
519
|
+
<%_ } _%>
|
|
520
|
+
|
|
521
|
+
Optional<<%= user.persistClass %>> testUser = userRepository.findOneByEmailIgnoreCase("alice2@example.com")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
522
|
+
assertThat(testUser).isPresent();
|
|
523
|
+
testUser.orElseThrow().setActivated(true);
|
|
524
|
+
userRepository.save(testUser.orElseThrow())<% if (reactive) { %>.block()<% } %>;
|
|
525
|
+
|
|
526
|
+
// Second (already activated) user
|
|
527
|
+
<%_ if (reactive) { _%>
|
|
528
|
+
accountWebTestClient.post().uri("/api/register")
|
|
529
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
530
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(secondUser))
|
|
531
|
+
.exchange()
|
|
532
|
+
.expectStatus().isCreated();
|
|
533
|
+
<%_ } else { _%>
|
|
534
|
+
restAccountMockMvc.perform(
|
|
535
|
+
post("/api/register")
|
|
536
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
537
|
+
.content(TestUtil.convertObjectToJsonBytes(secondUser))<% if (authenticationUsesCsrf) { %>
|
|
538
|
+
.with(csrf())<% } %>)
|
|
539
|
+
.andExpect(status().isCreated());
|
|
540
|
+
<%_ } _%>
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
@Test
|
|
544
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
545
|
+
@Transactional
|
|
546
|
+
<%_ } _%>
|
|
547
|
+
void testRegisterDuplicateEmail() throws Exception {
|
|
548
|
+
// First user
|
|
549
|
+
ManagedUserVM firstUser = new ManagedUserVM();
|
|
550
|
+
firstUser.setLogin("test-register-duplicate-email");
|
|
551
|
+
firstUser.setPassword("password");
|
|
552
|
+
firstUser.setFirstName("Alice");
|
|
553
|
+
firstUser.setLastName("Test");
|
|
554
|
+
firstUser.setEmail("test-register-duplicate-email@example.com");
|
|
555
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
556
|
+
firstUser.setImageUrl("http://placehold.it/50x50");
|
|
557
|
+
<%_ } _%>
|
|
558
|
+
firstUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
559
|
+
firstUser.setAuthorities(Collections.singleton(AuthoritiesConstants.USER));
|
|
560
|
+
|
|
561
|
+
// Register first user
|
|
562
|
+
<%_ if (reactive) { _%>
|
|
563
|
+
accountWebTestClient.post().uri("/api/register")
|
|
564
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
565
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(firstUser))
|
|
566
|
+
.exchange()
|
|
567
|
+
.expectStatus().isCreated();
|
|
568
|
+
<%_ } else { _%>
|
|
569
|
+
restAccountMockMvc.perform(
|
|
570
|
+
post("/api/register")
|
|
571
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
572
|
+
.content(TestUtil.convertObjectToJsonBytes(firstUser))<% if (authenticationUsesCsrf) { %>
|
|
573
|
+
.with(csrf())<% } %>)
|
|
574
|
+
.andExpect(status().isCreated());
|
|
575
|
+
<%_ } _%>
|
|
576
|
+
|
|
577
|
+
Optional<<%= user.persistClass %>> testUser1 = userRepository.findOneByLogin("test-register-duplicate-email")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
578
|
+
assertThat(testUser1).isPresent();
|
|
579
|
+
|
|
580
|
+
// Duplicate email, different login
|
|
581
|
+
ManagedUserVM secondUser = new ManagedUserVM();
|
|
582
|
+
secondUser.setLogin("test-register-duplicate-email-2");
|
|
583
|
+
secondUser.setPassword(firstUser.getPassword());
|
|
584
|
+
secondUser.setFirstName(firstUser.getFirstName());
|
|
585
|
+
secondUser.setLastName(firstUser.getLastName());
|
|
586
|
+
secondUser.setEmail(firstUser.getEmail());
|
|
587
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
588
|
+
secondUser.setImageUrl(firstUser.getImageUrl());
|
|
589
|
+
<%_ } _%>
|
|
590
|
+
secondUser.setLangKey(firstUser.getLangKey());
|
|
591
|
+
secondUser.setAuthorities(new HashSet<>(firstUser.getAuthorities()));
|
|
592
|
+
|
|
593
|
+
// Register second (non activated) user
|
|
594
|
+
<%_ if (reactive) { _%>
|
|
595
|
+
accountWebTestClient.post().uri("/api/register")
|
|
596
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
597
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(secondUser))
|
|
598
|
+
.exchange()
|
|
599
|
+
.expectStatus().isCreated();
|
|
600
|
+
<%_ } else { _%>
|
|
601
|
+
restAccountMockMvc.perform(
|
|
602
|
+
post("/api/register")
|
|
603
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
604
|
+
.content(TestUtil.convertObjectToJsonBytes(secondUser))<% if (authenticationUsesCsrf) { %>
|
|
605
|
+
.with(csrf())<% } %>)
|
|
606
|
+
.andExpect(status().isCreated());
|
|
607
|
+
<%_ } _%>
|
|
608
|
+
|
|
609
|
+
Optional<<%= user.persistClass %>> testUser2 = userRepository.findOneByLogin("test-register-duplicate-email")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
610
|
+
assertThat(testUser2).isEmpty();
|
|
611
|
+
|
|
612
|
+
Optional<<%= user.persistClass %>> testUser3 = userRepository.findOneByLogin("test-register-duplicate-email-2")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
613
|
+
assertThat(testUser3).isPresent();
|
|
614
|
+
|
|
615
|
+
// Duplicate email - with uppercase email address
|
|
616
|
+
ManagedUserVM userWithUpperCaseEmail = new ManagedUserVM();
|
|
617
|
+
userWithUpperCaseEmail.setId(firstUser.getId());
|
|
618
|
+
userWithUpperCaseEmail.setLogin("test-register-duplicate-email-3");
|
|
619
|
+
userWithUpperCaseEmail.setPassword(firstUser.getPassword());
|
|
620
|
+
userWithUpperCaseEmail.setFirstName(firstUser.getFirstName());
|
|
621
|
+
userWithUpperCaseEmail.setLastName(firstUser.getLastName());
|
|
622
|
+
userWithUpperCaseEmail.setEmail("TEST-register-duplicate-email@example.com");
|
|
623
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
624
|
+
userWithUpperCaseEmail.setImageUrl(firstUser.getImageUrl());
|
|
625
|
+
<%_ } _%>
|
|
626
|
+
userWithUpperCaseEmail.setLangKey(firstUser.getLangKey());
|
|
627
|
+
userWithUpperCaseEmail.setAuthorities(new HashSet<>(firstUser.getAuthorities()));
|
|
628
|
+
|
|
629
|
+
// Register third (not activated) user
|
|
630
|
+
<%_ if (reactive) { _%>
|
|
631
|
+
accountWebTestClient.post().uri("/api/register")
|
|
632
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
633
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(userWithUpperCaseEmail))
|
|
634
|
+
.exchange()
|
|
635
|
+
.expectStatus().isCreated();
|
|
636
|
+
<%_ } else { _%>
|
|
637
|
+
restAccountMockMvc.perform(
|
|
638
|
+
post("/api/register")
|
|
639
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
640
|
+
.content(TestUtil.convertObjectToJsonBytes(userWithUpperCaseEmail))<% if (authenticationUsesCsrf) { %>
|
|
641
|
+
.with(csrf())<% } %>)
|
|
642
|
+
.andExpect(status().isCreated());
|
|
643
|
+
<%_ } _%>
|
|
644
|
+
|
|
645
|
+
Optional<<%= user.persistClass %>> testUser4 = userRepository.findOneByLogin("test-register-duplicate-email-3")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
646
|
+
assertThat(testUser4).isPresent();
|
|
647
|
+
assertThat(testUser4.orElseThrow().getEmail()).isEqualTo("test-register-duplicate-email@example.com");
|
|
648
|
+
|
|
649
|
+
testUser4.orElseThrow().setActivated(true);
|
|
650
|
+
userService.updateUser((new <%= user.adminUserDto %>(testUser4.orElseThrow())))<% if (reactive) { %>.block()<% } %>;
|
|
651
|
+
|
|
652
|
+
// Register 4th (already activated) user
|
|
653
|
+
<%_ if (reactive) { _%>
|
|
654
|
+
accountWebTestClient.post().uri("/api/register")
|
|
655
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
656
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(secondUser))
|
|
657
|
+
.exchange()
|
|
658
|
+
.expectStatus().isCreated();
|
|
659
|
+
<%_ } else { _%>
|
|
660
|
+
restAccountMockMvc.perform(
|
|
661
|
+
post("/api/register")
|
|
662
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
663
|
+
.content(TestUtil.convertObjectToJsonBytes(secondUser))<% if (authenticationUsesCsrf) { %>
|
|
664
|
+
.with(csrf())<% } %>)
|
|
665
|
+
.andExpect(status().isCreated());
|
|
666
|
+
<%_ } _%>
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
@Test
|
|
670
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
671
|
+
@Transactional
|
|
672
|
+
<%_ } _%>
|
|
673
|
+
void testRegisterAdminIsIgnored() throws Exception {
|
|
674
|
+
ManagedUserVM validUser = new ManagedUserVM();
|
|
675
|
+
validUser.setLogin("badguy");
|
|
676
|
+
validUser.setPassword("password");
|
|
677
|
+
validUser.setFirstName("Bad");
|
|
678
|
+
validUser.setLastName("Guy");
|
|
679
|
+
validUser.setEmail("badguy@example.com");
|
|
680
|
+
validUser.setActivated(true);
|
|
681
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
682
|
+
validUser.setImageUrl("http://placehold.it/50x50");
|
|
683
|
+
<%_ } _%>
|
|
684
|
+
validUser.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
685
|
+
validUser.setAuthorities(Collections.singleton(AuthoritiesConstants.ADMIN));
|
|
686
|
+
|
|
687
|
+
<%_ if (reactive) { _%>
|
|
688
|
+
accountWebTestClient.post().uri("/api/register")
|
|
689
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
690
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(validUser))
|
|
691
|
+
.exchange()
|
|
692
|
+
.expectStatus().isCreated();
|
|
693
|
+
<%_ } else { _%>
|
|
694
|
+
restAccountMockMvc.perform(
|
|
695
|
+
post("/api/register")
|
|
696
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
697
|
+
.content(TestUtil.convertObjectToJsonBytes(validUser))<% if (authenticationUsesCsrf) { %>
|
|
698
|
+
.with(csrf())<% } %>)
|
|
699
|
+
.andExpect(status().isCreated());
|
|
700
|
+
<%_ } _%>
|
|
701
|
+
|
|
702
|
+
Optional<<%= user.persistClass %>> userDup = userRepository.findOne<% if (databaseTypeSql) { %>WithAuthorities<% } %>ByLogin("badguy")<% if (reactive) { %>.blockOptional()<% } %>;
|
|
703
|
+
assertThat(userDup).isPresent();
|
|
704
|
+
assertThat(userDup.orElseThrow().getAuthorities()).hasSize(1)
|
|
705
|
+
.containsExactly(<% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { %>authorityRepository.findById(AuthoritiesConstants.USER).<% if (reactive) { %>block<% } else { %>orElseThrow<% } %>()<% } %><% if (databaseTypeCassandra || databaseTypeCouchbase) { %>AuthoritiesConstants.USER<% } %>);
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
@Test
|
|
709
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
710
|
+
@Transactional
|
|
711
|
+
<%_ } _%>
|
|
712
|
+
void testActivateAccount()<% if (!reactive) { %> throws Exception<% } %> {
|
|
713
|
+
final String activationKey = "some activation key";
|
|
714
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
715
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
716
|
+
user.setId(UUID.randomUUID().toString());
|
|
717
|
+
<%_ } _%>
|
|
718
|
+
user.setLogin("activate-account");
|
|
719
|
+
user.setEmail("activate-account@example.com");
|
|
720
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
721
|
+
user.setActivated(false);
|
|
722
|
+
user.setActivationKey(activationKey);
|
|
723
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
724
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
725
|
+
<%_ } _%>
|
|
726
|
+
|
|
727
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
728
|
+
|
|
729
|
+
<%_ if (reactive) { _%>
|
|
730
|
+
accountWebTestClient.get().uri("/api/activate?key={activationKey}", activationKey)
|
|
731
|
+
.exchange()
|
|
732
|
+
.expectStatus().isOk();
|
|
733
|
+
<%_ } else { _%>
|
|
734
|
+
restAccountMockMvc.perform(get("/api/activate?key={activationKey}", activationKey))
|
|
735
|
+
.andExpect(status().isOk());
|
|
736
|
+
<%_ } _%>
|
|
737
|
+
|
|
738
|
+
user = userRepository.findOneByLogin(user.getLogin())<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
739
|
+
assertThat(user.isActivated()).isTrue();
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
@Test
|
|
743
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
744
|
+
@Transactional
|
|
745
|
+
<%_ } _%>
|
|
746
|
+
void testActivateAccountWithWrongKey() <% if (!reactive) { %>throws Exception <% } %>{
|
|
747
|
+
<%_ if (reactive) { _%>
|
|
748
|
+
accountWebTestClient.get().uri("/api/activate?key=wrongActivationKey")
|
|
749
|
+
.exchange()
|
|
750
|
+
.expectStatus().isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR);
|
|
751
|
+
<%_ } else { _%>
|
|
752
|
+
restAccountMockMvc.perform(get("/api/activate?key=wrongActivationKey"))
|
|
753
|
+
.andExpect(status().isInternalServerError());
|
|
754
|
+
<%_ } _%>
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
@Test
|
|
758
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
759
|
+
@Transactional
|
|
760
|
+
<%_ } _%>
|
|
761
|
+
@WithMockUser("save-account")
|
|
762
|
+
void testSaveAccount() throws Exception {
|
|
763
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
764
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
765
|
+
user.setId(UUID.randomUUID().toString());
|
|
766
|
+
<%_ } _%>
|
|
767
|
+
user.setLogin("save-account");
|
|
768
|
+
user.setEmail("save-account@example.com");
|
|
769
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
770
|
+
user.setActivated(true);
|
|
771
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
772
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
773
|
+
<%_ } _%>
|
|
774
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
775
|
+
|
|
776
|
+
<%= user.adminUserDto %> userDTO = new <%= user.adminUserDto %>();
|
|
777
|
+
userDTO.setLogin("not-used");
|
|
778
|
+
userDTO.setFirstName("firstname");
|
|
779
|
+
userDTO.setLastName("lastname");
|
|
780
|
+
userDTO.setEmail("save-account@example.com");
|
|
781
|
+
userDTO.setActivated(false);
|
|
782
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
783
|
+
userDTO.setImageUrl("http://placehold.it/50x50");
|
|
784
|
+
<%_ } _%>
|
|
785
|
+
userDTO.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
786
|
+
userDTO.setAuthorities(Collections.singleton(AuthoritiesConstants.ADMIN));
|
|
787
|
+
|
|
788
|
+
<%_ if (reactive) { _%>
|
|
789
|
+
accountWebTestClient.post().uri("/api/account")
|
|
790
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
791
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(userDTO))
|
|
792
|
+
.exchange()
|
|
793
|
+
.expectStatus().isOk();
|
|
794
|
+
<%_ } else { _%>
|
|
795
|
+
restAccountMockMvc.perform(
|
|
796
|
+
post("/api/account")
|
|
797
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
798
|
+
.content(TestUtil.convertObjectToJsonBytes(userDTO))<% if (authenticationUsesCsrf) { %>
|
|
799
|
+
.with(csrf())<% } %>)
|
|
800
|
+
.andExpect(status().isOk());
|
|
801
|
+
<%_ } _%>
|
|
802
|
+
|
|
803
|
+
<%= user.persistClass %> updatedUser = userRepository.findOne<% if (databaseTypeSql) { %>WithAuthorities<% } %>ByLogin(user.getLogin())<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
804
|
+
assertThat(updatedUser.getFirstName()).isEqualTo(userDTO.getFirstName());
|
|
805
|
+
assertThat(updatedUser.getLastName()).isEqualTo(userDTO.getLastName());
|
|
806
|
+
assertThat(updatedUser.getEmail()).isEqualTo(userDTO.getEmail());
|
|
807
|
+
assertThat(updatedUser.getLangKey()).isEqualTo(userDTO.getLangKey());
|
|
808
|
+
assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
|
|
809
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
810
|
+
assertThat(updatedUser.getImageUrl()).isEqualTo(userDTO.getImageUrl());
|
|
811
|
+
<%_ } _%>
|
|
812
|
+
assertThat(updatedUser.isActivated()).isTrue();
|
|
813
|
+
assertThat(updatedUser.getAuthorities()).isEmpty();
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
@Test
|
|
817
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
818
|
+
@Transactional
|
|
819
|
+
<%_ } _%>
|
|
820
|
+
@WithMockUser("save-invalid-email")
|
|
821
|
+
void testSaveInvalidEmail() throws Exception {
|
|
822
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
823
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
824
|
+
user.setId(UUID.randomUUID().toString());
|
|
825
|
+
<%_ } _%>
|
|
826
|
+
user.setLogin("save-invalid-email");
|
|
827
|
+
user.setEmail("save-invalid-email@example.com");
|
|
828
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
829
|
+
user.setActivated(true);
|
|
830
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
831
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
832
|
+
<%_ } _%>
|
|
833
|
+
|
|
834
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
835
|
+
|
|
836
|
+
<%= user.adminUserDto %> userDTO = new <%= user.adminUserDto %>();
|
|
837
|
+
userDTO.setLogin("not-used");
|
|
838
|
+
userDTO.setFirstName("firstname");
|
|
839
|
+
userDTO.setLastName("lastname");
|
|
840
|
+
userDTO.setEmail("invalid email");
|
|
841
|
+
userDTO.setActivated(false);
|
|
842
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
843
|
+
userDTO.setImageUrl("http://placehold.it/50x50");
|
|
844
|
+
<%_ } _%>
|
|
845
|
+
userDTO.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
846
|
+
userDTO.setAuthorities(Collections.singleton(AuthoritiesConstants.ADMIN));
|
|
847
|
+
|
|
848
|
+
<%_ if (reactive) { _%>
|
|
849
|
+
accountWebTestClient.post().uri("/api/account")
|
|
850
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
851
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(userDTO))
|
|
852
|
+
.exchange()
|
|
853
|
+
.expectStatus().isBadRequest();
|
|
854
|
+
<%_ } else { _%>
|
|
855
|
+
restAccountMockMvc.perform(
|
|
856
|
+
post("/api/account")
|
|
857
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
858
|
+
.content(TestUtil.convertObjectToJsonBytes(userDTO))<% if (authenticationUsesCsrf) { %>
|
|
859
|
+
.with(csrf())<% } %>)
|
|
860
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
861
|
+
.andDo(exportTestSecurityContext())
|
|
862
|
+
<%_ } _%>
|
|
863
|
+
.andExpect(status().isBadRequest());
|
|
864
|
+
<%_ } _%>
|
|
865
|
+
|
|
866
|
+
assertThat(userRepository.findOneByEmailIgnoreCase("invalid email")<% if (reactive) { %>.blockOptional()<% } %>).isNotPresent();
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
@Test
|
|
870
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
871
|
+
@Transactional
|
|
872
|
+
<%_ } _%>
|
|
873
|
+
@WithMockUser("save-existing-email")
|
|
874
|
+
void testSaveExistingEmail() throws Exception {
|
|
875
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
876
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
877
|
+
user.setId(UUID.randomUUID().toString());
|
|
878
|
+
<%_ } _%>
|
|
879
|
+
user.setLogin("save-existing-email");
|
|
880
|
+
user.setEmail("save-existing-email@example.com");
|
|
881
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
882
|
+
user.setActivated(true);
|
|
883
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
884
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
885
|
+
<%_ } _%>
|
|
886
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
887
|
+
|
|
888
|
+
<%= user.persistClass %> anotherUser = new <%= user.persistClass %>();
|
|
889
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
890
|
+
anotherUser.setId(UUID.randomUUID().toString());
|
|
891
|
+
<%_ } _%>
|
|
892
|
+
anotherUser.setLogin("save-existing-email2");
|
|
893
|
+
anotherUser.setEmail("save-existing-email2@example.com");
|
|
894
|
+
anotherUser.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
895
|
+
anotherUser.setActivated(true);
|
|
896
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
897
|
+
anotherUser.setCreatedBy(Constants.SYSTEM);
|
|
898
|
+
<%_ } _%>
|
|
899
|
+
|
|
900
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(anotherUser)<% if (reactive) { %>.block()<% } %>;
|
|
901
|
+
|
|
902
|
+
<%= user.adminUserDto %> userDTO = new <%= user.adminUserDto %>();
|
|
903
|
+
userDTO.setLogin("not-used");
|
|
904
|
+
userDTO.setFirstName("firstname");
|
|
905
|
+
userDTO.setLastName("lastname");
|
|
906
|
+
userDTO.setEmail("save-existing-email2@example.com");
|
|
907
|
+
userDTO.setActivated(false);
|
|
908
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
909
|
+
userDTO.setImageUrl("http://placehold.it/50x50");
|
|
910
|
+
<%_ } _%>
|
|
911
|
+
userDTO.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
912
|
+
userDTO.setAuthorities(Collections.singleton(AuthoritiesConstants.ADMIN));
|
|
913
|
+
|
|
914
|
+
<%_ if (reactive) { _%>
|
|
915
|
+
accountWebTestClient.post().uri("/api/account")
|
|
916
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
917
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(userDTO))
|
|
918
|
+
.exchange()
|
|
919
|
+
.expectStatus().isBadRequest();
|
|
920
|
+
<%_ } else { _%>
|
|
921
|
+
restAccountMockMvc.perform(
|
|
922
|
+
post("/api/account")
|
|
923
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
924
|
+
.content(TestUtil.convertObjectToJsonBytes(userDTO))<% if (authenticationUsesCsrf) { %>
|
|
925
|
+
.with(csrf())<% } %>)
|
|
926
|
+
.andExpect(status().isBadRequest());
|
|
927
|
+
<%_ } _%>
|
|
928
|
+
|
|
929
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("save-existing-email")<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
930
|
+
assertThat(updatedUser.getEmail()).isEqualTo("save-existing-email@example.com");
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
@Test
|
|
934
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
935
|
+
@Transactional
|
|
936
|
+
<%_ } _%>
|
|
937
|
+
@WithMockUser("save-existing-email-and-login")
|
|
938
|
+
void testSaveExistingEmailAndLogin() throws Exception {
|
|
939
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
940
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
941
|
+
user.setId(UUID.randomUUID().toString());
|
|
942
|
+
<%_ } _%>
|
|
943
|
+
user.setLogin("save-existing-email-and-login");
|
|
944
|
+
user.setEmail("save-existing-email-and-login@example.com");
|
|
945
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
946
|
+
user.setActivated(true);
|
|
947
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
948
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
949
|
+
<%_ } _%>
|
|
950
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
951
|
+
|
|
952
|
+
<%= user.adminUserDto %> userDTO = new <%= user.adminUserDto %>();
|
|
953
|
+
userDTO.setLogin("not-used");
|
|
954
|
+
userDTO.setFirstName("firstname");
|
|
955
|
+
userDTO.setLastName("lastname");
|
|
956
|
+
userDTO.setEmail("save-existing-email-and-login@example.com");
|
|
957
|
+
userDTO.setActivated(false);
|
|
958
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
959
|
+
userDTO.setImageUrl("http://placehold.it/50x50");
|
|
960
|
+
<%_ } _%>
|
|
961
|
+
userDTO.setLangKey(Constants.DEFAULT_LANGUAGE);
|
|
962
|
+
userDTO.setAuthorities(Collections.singleton(AuthoritiesConstants.ADMIN));
|
|
963
|
+
|
|
964
|
+
<%_ if (reactive) { _%>
|
|
965
|
+
accountWebTestClient.post().uri("/api/account")
|
|
966
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
967
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(userDTO))
|
|
968
|
+
.exchange()
|
|
969
|
+
.expectStatus().isOk();
|
|
970
|
+
<%_ } else { _%>
|
|
971
|
+
restAccountMockMvc.perform(
|
|
972
|
+
post("/api/account")
|
|
973
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
974
|
+
.content(TestUtil.convertObjectToJsonBytes(userDTO))<% if (authenticationUsesCsrf) { %>
|
|
975
|
+
.with(csrf())<% } %>)
|
|
976
|
+
.andExpect(status().isOk());
|
|
977
|
+
<%_ } _%>
|
|
978
|
+
|
|
979
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("save-existing-email-and-login")<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
980
|
+
assertThat(updatedUser.getEmail()).isEqualTo("save-existing-email-and-login@example.com");
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
@Test
|
|
984
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
985
|
+
@Transactional
|
|
986
|
+
<%_ } _%>
|
|
987
|
+
@WithMockUser("change-password-wrong-existing-password")
|
|
988
|
+
void testChangePasswordWrongExistingPassword() throws Exception {
|
|
989
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
990
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
991
|
+
user.setId(UUID.randomUUID().toString());
|
|
992
|
+
<%_ } _%>
|
|
993
|
+
String currentPassword = RandomStringUtils.randomAlphanumeric(60);
|
|
994
|
+
user.setPassword(passwordEncoder.encode(currentPassword));
|
|
995
|
+
user.setLogin("change-password-wrong-existing-password");
|
|
996
|
+
user.setEmail("change-password-wrong-existing-password@example.com");
|
|
997
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
998
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
999
|
+
<%_ } _%>
|
|
1000
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1001
|
+
|
|
1002
|
+
<%_ if (reactive) { _%>
|
|
1003
|
+
accountWebTestClient.post().uri("/api/account/change-password")
|
|
1004
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1005
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO("1"+currentPassword, "new password")))
|
|
1006
|
+
.exchange()
|
|
1007
|
+
.expectStatus().isBadRequest();
|
|
1008
|
+
<%_ } else { _%>
|
|
1009
|
+
restAccountMockMvc.perform(post("/api/account/change-password")
|
|
1010
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1011
|
+
.content(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO("1"+currentPassword, "new password")))
|
|
1012
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1013
|
+
.with(csrf())<%_ } _%>)
|
|
1014
|
+
.andExpect(status().isBadRequest());
|
|
1015
|
+
<%_ } _%>
|
|
1016
|
+
|
|
1017
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("change-password-wrong-existing-password")<%_ if (!reactive) { _%>.orElse(null)<% } else { %>.block()<% } %>;
|
|
1018
|
+
assertThat(passwordEncoder.matches("new password", updatedUser.getPassword())).isFalse();
|
|
1019
|
+
assertThat(passwordEncoder.matches(currentPassword, updatedUser.getPassword())).isTrue();
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
@Test
|
|
1023
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1024
|
+
@Transactional
|
|
1025
|
+
<%_ } _%>
|
|
1026
|
+
@WithMockUser("change-password")
|
|
1027
|
+
void testChangePassword() throws Exception {
|
|
1028
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1029
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1030
|
+
user.setId(UUID.randomUUID().toString());
|
|
1031
|
+
<%_ } _%>
|
|
1032
|
+
String currentPassword = RandomStringUtils.randomAlphanumeric(60);
|
|
1033
|
+
user.setPassword(passwordEncoder.encode(currentPassword));
|
|
1034
|
+
user.setLogin("change-password");
|
|
1035
|
+
user.setEmail("change-password@example.com");
|
|
1036
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1037
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1038
|
+
<%_ } _%>
|
|
1039
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1040
|
+
|
|
1041
|
+
<%_ if (reactive) { _%>
|
|
1042
|
+
accountWebTestClient.post().uri("/api/account/change-password")
|
|
1043
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1044
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, "new password")))
|
|
1045
|
+
.exchange()
|
|
1046
|
+
.expectStatus().isOk();
|
|
1047
|
+
<%_ } else { _%>
|
|
1048
|
+
restAccountMockMvc.perform(post("/api/account/change-password")
|
|
1049
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1050
|
+
.content(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, "new password")))
|
|
1051
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1052
|
+
.with(csrf())<%_ } _%>)
|
|
1053
|
+
.andExpect(status().isOk());
|
|
1054
|
+
<%_ } _%>
|
|
1055
|
+
|
|
1056
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("change-password")<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
1057
|
+
assertThat(passwordEncoder.matches("new password", updatedUser.getPassword())).isTrue();
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
@Test
|
|
1061
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1062
|
+
@Transactional
|
|
1063
|
+
<%_ } _%>
|
|
1064
|
+
@WithMockUser("change-password-too-small")
|
|
1065
|
+
void testChangePasswordTooSmall() throws Exception {
|
|
1066
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1067
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1068
|
+
user.setId(UUID.randomUUID().toString());
|
|
1069
|
+
<%_ } _%>
|
|
1070
|
+
String currentPassword = RandomStringUtils.randomAlphanumeric(60);
|
|
1071
|
+
user.setPassword(passwordEncoder.encode(currentPassword));
|
|
1072
|
+
user.setLogin("change-password-too-small");
|
|
1073
|
+
user.setEmail("change-password-too-small@example.com");
|
|
1074
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1075
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1076
|
+
<%_ } _%>
|
|
1077
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1078
|
+
|
|
1079
|
+
String newPassword = RandomStringUtils.random(ManagedUserVM.PASSWORD_MIN_LENGTH - 1);
|
|
1080
|
+
|
|
1081
|
+
<%_ if (reactive) { _%>
|
|
1082
|
+
accountWebTestClient.post().uri("/api/account/change-password")
|
|
1083
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1084
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, newPassword)))
|
|
1085
|
+
.exchange()
|
|
1086
|
+
.expectStatus().isBadRequest();
|
|
1087
|
+
<%_ } else { _%>
|
|
1088
|
+
restAccountMockMvc.perform(post("/api/account/change-password")
|
|
1089
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1090
|
+
.content(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, newPassword)))
|
|
1091
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1092
|
+
.with(csrf())<%_ } _%>)
|
|
1093
|
+
.andExpect(status().isBadRequest());
|
|
1094
|
+
<%_ } _%>
|
|
1095
|
+
|
|
1096
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("change-password-too-small")<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
1097
|
+
assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
@Test
|
|
1101
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1102
|
+
@Transactional
|
|
1103
|
+
<%_ } _%>
|
|
1104
|
+
@WithMockUser("change-password-too-long")
|
|
1105
|
+
void testChangePasswordTooLong() throws Exception {
|
|
1106
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1107
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1108
|
+
user.setId(UUID.randomUUID().toString());
|
|
1109
|
+
<%_ } _%>
|
|
1110
|
+
String currentPassword = RandomStringUtils.randomAlphanumeric(60);
|
|
1111
|
+
user.setPassword(passwordEncoder.encode(currentPassword));
|
|
1112
|
+
user.setLogin("change-password-too-long");
|
|
1113
|
+
user.setEmail("change-password-too-long@example.com");
|
|
1114
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1115
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1116
|
+
<%_ } _%>
|
|
1117
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1118
|
+
|
|
1119
|
+
String newPassword = RandomStringUtils.random(ManagedUserVM.PASSWORD_MAX_LENGTH + 1);
|
|
1120
|
+
|
|
1121
|
+
<%_ if (reactive) { _%>
|
|
1122
|
+
accountWebTestClient.post().uri("/api/account/change-password")
|
|
1123
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1124
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, newPassword)))
|
|
1125
|
+
.exchange()
|
|
1126
|
+
.expectStatus().isBadRequest();
|
|
1127
|
+
<%_ } else { _%>
|
|
1128
|
+
restAccountMockMvc.perform(post("/api/account/change-password")
|
|
1129
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1130
|
+
.content(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, newPassword)))
|
|
1131
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1132
|
+
.with(csrf())<%_ } _%>)
|
|
1133
|
+
.andExpect(status().isBadRequest());
|
|
1134
|
+
<%_ } _%>
|
|
1135
|
+
|
|
1136
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("change-password-too-long")<%_ if (!reactive) { _%>.orElse(null)<% } else { %>.block()<% } %>;
|
|
1137
|
+
assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
@Test
|
|
1141
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1142
|
+
@Transactional
|
|
1143
|
+
<%_ } _%>
|
|
1144
|
+
@WithMockUser("change-password-empty")
|
|
1145
|
+
void testChangePasswordEmpty() throws Exception {
|
|
1146
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1147
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1148
|
+
user.setId(UUID.randomUUID().toString());
|
|
1149
|
+
<%_ } _%>
|
|
1150
|
+
String currentPassword = RandomStringUtils.randomAlphanumeric(60);
|
|
1151
|
+
user.setPassword(passwordEncoder.encode(currentPassword));
|
|
1152
|
+
user.setLogin("change-password-empty");
|
|
1153
|
+
user.setEmail("change-password-empty@example.com");
|
|
1154
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1155
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1156
|
+
<%_ } _%>
|
|
1157
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1158
|
+
|
|
1159
|
+
<%_ if (reactive) { _%>
|
|
1160
|
+
accountWebTestClient.post().uri("/api/account/change-password")
|
|
1161
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1162
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, "")))
|
|
1163
|
+
.exchange()
|
|
1164
|
+
.expectStatus().isBadRequest();
|
|
1165
|
+
<%_ } else { _%>
|
|
1166
|
+
restAccountMockMvc.perform(post("/api/account/change-password")
|
|
1167
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1168
|
+
.content(TestUtil.convertObjectToJsonBytes(new PasswordChangeDTO(currentPassword, "")))
|
|
1169
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1170
|
+
.with(csrf())<%_ } _%>)
|
|
1171
|
+
.andExpect(status().isBadRequest());
|
|
1172
|
+
<%_ } _%>
|
|
1173
|
+
|
|
1174
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin("change-password-empty")<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
1175
|
+
assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
|
|
1176
|
+
}
|
|
1177
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
1178
|
+
|
|
1179
|
+
@Test
|
|
1180
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1181
|
+
@Transactional
|
|
1182
|
+
<%_ } _%>
|
|
1183
|
+
@WithMockUser("current-sessions")
|
|
1184
|
+
void testGetCurrentSessions() <% if (!reactive) { %>throws Exception <% } %>{
|
|
1185
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1186
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1187
|
+
user.setId(UUID.randomUUID().toString());
|
|
1188
|
+
<%_ } _%>
|
|
1189
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1190
|
+
user.setLogin("current-sessions");
|
|
1191
|
+
user.setEmail("current-sessions@example.com");
|
|
1192
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1193
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1194
|
+
<%_ } _%>
|
|
1195
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1196
|
+
|
|
1197
|
+
PersistentToken token = new PersistentToken();
|
|
1198
|
+
token.setSeries("current-sessions");
|
|
1199
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
1200
|
+
token.setUser(user);
|
|
1201
|
+
<%_ } else if (databaseTypeCassandra) { _%>
|
|
1202
|
+
token.setUserId(user.getId());
|
|
1203
|
+
<%_ } else if (databaseTypeCouchbase) { _%>
|
|
1204
|
+
token.setLogin(user.getLogin());
|
|
1205
|
+
<%_ } _%>
|
|
1206
|
+
token.setTokenValue("current-session-data");
|
|
1207
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1208
|
+
token.setTokenDate(Instant.parse("2017-03-28T15:25:57.123Z"));
|
|
1209
|
+
<%_ } else { _%>
|
|
1210
|
+
token.setTokenDate(LocalDate.of(2017, 3, 23));
|
|
1211
|
+
<% } %>
|
|
1212
|
+
token.setIpAddress("127.0.0.1");
|
|
1213
|
+
token.setUserAgent("Test agent");
|
|
1214
|
+
persistentTokenRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(token);
|
|
1215
|
+
|
|
1216
|
+
restAccountMockMvc.perform(get("/api/account/sessions"))
|
|
1217
|
+
.andExpect(status().isOk())
|
|
1218
|
+
.andExpect(jsonPath("$.[*].series").value(hasItem(token.getSeries())))
|
|
1219
|
+
.andExpect(jsonPath("$.[*].ipAddress").value(hasItem(token.getIpAddress())))
|
|
1220
|
+
.andExpect(jsonPath("$.[*].userAgent").value(hasItem(token.getUserAgent())))
|
|
1221
|
+
.andExpect(jsonPath("$.[*].tokenDate").value(hasItem(containsString(<% if (databaseTypeCassandra) { %>"2017-03-28T15:25:57.123Z"<% } else { %>token.getTokenDate().toString()<% } %>))));
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
@Test
|
|
1225
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1226
|
+
@Transactional
|
|
1227
|
+
<%_ } _%>
|
|
1228
|
+
@WithMockUser("invalidate-session")
|
|
1229
|
+
void testInvalidateSession() <% if (!reactive) { %>throws Exception <% } %>{
|
|
1230
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1231
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1232
|
+
user.setId(UUID.randomUUID().toString());
|
|
1233
|
+
<%_ } _%>
|
|
1234
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1235
|
+
user.setLogin("invalidate-session");
|
|
1236
|
+
user.setEmail("invalidate-session@example.com");
|
|
1237
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1238
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1239
|
+
<%_ } _%>
|
|
1240
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1241
|
+
|
|
1242
|
+
PersistentToken token = new PersistentToken();
|
|
1243
|
+
token.setSeries("invalidate-session");
|
|
1244
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
1245
|
+
token.setUser(user);
|
|
1246
|
+
<%_ } else if (databaseTypeCassandra) { _%>
|
|
1247
|
+
token.setUserId(user.getId());
|
|
1248
|
+
<%_ } else { _%>
|
|
1249
|
+
token.setLogin(user.getLogin());
|
|
1250
|
+
<%_ } _%>
|
|
1251
|
+
token.setTokenValue("invalidate-data");
|
|
1252
|
+
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j) { _%>
|
|
1253
|
+
token.setTokenDate(LocalDate.of(2017, 3, 23));
|
|
1254
|
+
<%_ } else if (databaseTypeCassandra) { _%>
|
|
1255
|
+
token.setTokenDate(Instant.now());
|
|
1256
|
+
<%_ } _%>
|
|
1257
|
+
token.setIpAddress("127.0.0.1");
|
|
1258
|
+
token.setUserAgent("Test agent");
|
|
1259
|
+
persistentTokenRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(token);
|
|
1260
|
+
|
|
1261
|
+
assertThat(persistentTokenRepository.findByUser(user)).hasSize(1);
|
|
1262
|
+
|
|
1263
|
+
restAccountMockMvc.perform(delete("/api/account/sessions/invalidate-session")<%_ if (authenticationUsesCsrf) { _%>.with(csrf())<%_ } _%>)
|
|
1264
|
+
.andExpect(status().isOk());
|
|
1265
|
+
|
|
1266
|
+
assertThat(persistentTokenRepository.findByUser(user)).isEmpty();
|
|
1267
|
+
}
|
|
1268
|
+
<%_ } _%>
|
|
1269
|
+
|
|
1270
|
+
@Test
|
|
1271
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1272
|
+
@Transactional
|
|
1273
|
+
<%_ } _%>
|
|
1274
|
+
void testRequestPasswordReset()<% if (!reactive) { %> throws Exception<% } %> {
|
|
1275
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1276
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1277
|
+
user.setId(UUID.randomUUID().toString());
|
|
1278
|
+
<%_ } _%>
|
|
1279
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1280
|
+
user.setActivated(true);
|
|
1281
|
+
user.setLogin("password-reset");
|
|
1282
|
+
user.setEmail("password-reset@example.com");
|
|
1283
|
+
user.setLangKey("en");
|
|
1284
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1285
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1286
|
+
<%_ } _%>
|
|
1287
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1288
|
+
|
|
1289
|
+
<%_ if (reactive) { _%>
|
|
1290
|
+
accountWebTestClient.post().uri("/api/account/reset-password/init")
|
|
1291
|
+
.bodyValue("password-reset@example.com")
|
|
1292
|
+
.exchange()
|
|
1293
|
+
.expectStatus().isOk();
|
|
1294
|
+
<%_ } else { _%>
|
|
1295
|
+
restAccountMockMvc.perform(post("/api/account/reset-password/init")
|
|
1296
|
+
.content("password-reset@example.com")
|
|
1297
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1298
|
+
.with(csrf())<%_ } _%>)
|
|
1299
|
+
.andExpect(status().isOk());
|
|
1300
|
+
<%_ } _%>
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
@Test
|
|
1304
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1305
|
+
@Transactional
|
|
1306
|
+
<%_ } _%>
|
|
1307
|
+
void testRequestPasswordResetUpperCaseEmail()<% if (!reactive) { %> throws Exception<% } %> {
|
|
1308
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1309
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1310
|
+
user.setId(UUID.randomUUID().toString());
|
|
1311
|
+
<%_ } _%>
|
|
1312
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1313
|
+
user.setActivated(true);
|
|
1314
|
+
user.setLogin("password-reset-upper-case");
|
|
1315
|
+
user.setEmail("password-reset-upper-case@example.com");
|
|
1316
|
+
user.setLangKey("en");
|
|
1317
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1318
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1319
|
+
<%_ } _%>
|
|
1320
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1321
|
+
|
|
1322
|
+
<%_ if (reactive) { _%>
|
|
1323
|
+
accountWebTestClient.post().uri("/api/account/reset-password/init")
|
|
1324
|
+
.bodyValue("password-reset-upper-case@EXAMPLE.COM")
|
|
1325
|
+
.exchange()
|
|
1326
|
+
.expectStatus().isOk();
|
|
1327
|
+
<%_ } else { _%>
|
|
1328
|
+
restAccountMockMvc.perform(post("/api/account/reset-password/init")
|
|
1329
|
+
.content("password-reset-upper-case@EXAMPLE.COM")
|
|
1330
|
+
<%_ if (authenticationUsesCsrf) { _%>
|
|
1331
|
+
.with(csrf())<%_ } _%>)
|
|
1332
|
+
.andExpect(status().isOk());
|
|
1333
|
+
<%_ } _%>
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
@Test
|
|
1337
|
+
<%_ if (reactive) { _%>
|
|
1338
|
+
void testRequestPasswordResetWrongEmail() {
|
|
1339
|
+
accountWebTestClient.post().uri("/api/account/reset-password/init")
|
|
1340
|
+
.bodyValue("password-reset-wrong-email@example.com")
|
|
1341
|
+
.exchange()
|
|
1342
|
+
.expectStatus().isOk();
|
|
1343
|
+
<%_ } else { _%>
|
|
1344
|
+
void testRequestPasswordResetWrongEmail() <% if (!reactive) { %>throws Exception <% } %>{
|
|
1345
|
+
restAccountMockMvc.perform(
|
|
1346
|
+
post("/api/account/reset-password/init")
|
|
1347
|
+
.content("password-reset-wrong-email@example.com")<% if (authenticationUsesCsrf) { %>
|
|
1348
|
+
.with(csrf())<% } %>)
|
|
1349
|
+
.andExpect(status().isOk());
|
|
1350
|
+
<%_ } _%>
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
@Test
|
|
1354
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1355
|
+
@Transactional
|
|
1356
|
+
<%_ } _%>
|
|
1357
|
+
void testFinishPasswordReset() throws Exception {
|
|
1358
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1359
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1360
|
+
user.setId(UUID.randomUUID().toString());
|
|
1361
|
+
<%_ } _%>
|
|
1362
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1363
|
+
user.setLogin("finish-password-reset");
|
|
1364
|
+
user.setEmail("finish-password-reset@example.com");
|
|
1365
|
+
user.setResetDate(Instant.now().plusSeconds(60));
|
|
1366
|
+
user.setResetKey("reset key");
|
|
1367
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1368
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1369
|
+
<%_ } _%>
|
|
1370
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1371
|
+
|
|
1372
|
+
KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
|
|
1373
|
+
keyAndPassword.setKey(user.getResetKey());
|
|
1374
|
+
keyAndPassword.setNewPassword("new password");
|
|
1375
|
+
|
|
1376
|
+
<%_ if (reactive) { _%>
|
|
1377
|
+
accountWebTestClient.post().uri("/api/account/reset-password/finish")
|
|
1378
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1379
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(keyAndPassword))
|
|
1380
|
+
.exchange()
|
|
1381
|
+
.expectStatus().isOk();
|
|
1382
|
+
<%_ } else { _%>
|
|
1383
|
+
restAccountMockMvc.perform(
|
|
1384
|
+
post("/api/account/reset-password/finish")
|
|
1385
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1386
|
+
.content(TestUtil.convertObjectToJsonBytes(keyAndPassword))<% if (authenticationUsesCsrf) { %>
|
|
1387
|
+
.with(csrf())<% } %>)
|
|
1388
|
+
.andExpect(status().isOk());
|
|
1389
|
+
<%_ } _%>
|
|
1390
|
+
|
|
1391
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin(user.getLogin())<%_ if (reactive) { _%>.block()<% } else { %>.orElse(null)<% } %>;
|
|
1392
|
+
assertThat(passwordEncoder.matches(keyAndPassword.getNewPassword(), updatedUser.getPassword())).isTrue();
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
@Test
|
|
1396
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1397
|
+
@Transactional
|
|
1398
|
+
<%_ } _%>
|
|
1399
|
+
void testFinishPasswordResetTooSmall() throws Exception {
|
|
1400
|
+
<%= user.persistClass %> user = new <%= user.persistClass %>();
|
|
1401
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
1402
|
+
user.setId(UUID.randomUUID().toString());
|
|
1403
|
+
<%_ } _%>
|
|
1404
|
+
user.setPassword(RandomStringUtils.randomAlphanumeric(60));
|
|
1405
|
+
user.setLogin("finish-password-reset-too-small");
|
|
1406
|
+
user.setEmail("finish-password-reset-too-small@example.com");
|
|
1407
|
+
user.setResetDate(Instant.now().plusSeconds(60));
|
|
1408
|
+
user.setResetKey("reset key too small");
|
|
1409
|
+
<%_ if (databaseTypeSql && reactive) { _%>
|
|
1410
|
+
user.setCreatedBy(Constants.SYSTEM);
|
|
1411
|
+
<%_ } _%>
|
|
1412
|
+
userRepository.save<% if (databaseTypeSql && !reactive) { %>AndFlush<% } %>(user)<% if (reactive) { %>.block()<% } %>;
|
|
1413
|
+
|
|
1414
|
+
KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
|
|
1415
|
+
keyAndPassword.setKey(user.getResetKey());
|
|
1416
|
+
keyAndPassword.setNewPassword("foo");
|
|
1417
|
+
|
|
1418
|
+
<%_ if (reactive) { _%>
|
|
1419
|
+
accountWebTestClient.post().uri("/api/account/reset-password/finish")
|
|
1420
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1421
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(keyAndPassword))
|
|
1422
|
+
.exchange()
|
|
1423
|
+
.expectStatus().isBadRequest();
|
|
1424
|
+
<%_ } else { _%>
|
|
1425
|
+
restAccountMockMvc.perform(
|
|
1426
|
+
post("/api/account/reset-password/finish")
|
|
1427
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1428
|
+
.content(TestUtil.convertObjectToJsonBytes(keyAndPassword))<% if (authenticationUsesCsrf) { %>
|
|
1429
|
+
.with(csrf())<% } %>)
|
|
1430
|
+
.andExpect(status().isBadRequest());
|
|
1431
|
+
<%_ } _%>
|
|
1432
|
+
|
|
1433
|
+
<%= user.persistClass %> updatedUser = userRepository.findOneByLogin(user.getLogin())<%_ if (!reactive) { _%>.orElse(null)<% } else { %>.block()<% } %>;
|
|
1434
|
+
assertThat(passwordEncoder.matches(keyAndPassword.getNewPassword(), updatedUser.getPassword())).isFalse();
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
@Test
|
|
1438
|
+
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
1439
|
+
@Transactional
|
|
1440
|
+
<%_ } _%>
|
|
1441
|
+
void testFinishPasswordResetWrongKey() throws Exception {
|
|
1442
|
+
KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
|
|
1443
|
+
keyAndPassword.setKey("wrong reset key");
|
|
1444
|
+
keyAndPassword.setNewPassword("new password");
|
|
1445
|
+
|
|
1446
|
+
<%_ if (reactive) { _%>
|
|
1447
|
+
accountWebTestClient.post().uri("/api/account/reset-password/finish")
|
|
1448
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1449
|
+
.bodyValue(TestUtil.convertObjectToJsonBytes(keyAndPassword))
|
|
1450
|
+
.exchange()
|
|
1451
|
+
.expectStatus().isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR);
|
|
1452
|
+
<%_ } else { _%>
|
|
1453
|
+
restAccountMockMvc.perform(
|
|
1454
|
+
post("/api/account/reset-password/finish")
|
|
1455
|
+
.contentType(MediaType.APPLICATION_JSON)
|
|
1456
|
+
.content(TestUtil.convertObjectToJsonBytes(keyAndPassword))<% if (authenticationUsesCsrf) { %>
|
|
1457
|
+
.with(csrf())<% } %>)
|
|
1458
|
+
.andExpect(status().isInternalServerError());
|
|
1459
|
+
<%_ } _%>
|
|
1460
|
+
}
|
|
1461
|
+
}
|