generator-jhipster 8.9.0 → 8.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cli/download.mjs +2 -3
- package/dist/cli/environment-builder.mjs +2 -2
- package/dist/generators/angular/generator.d.ts +10 -1
- package/dist/generators/angular/resources/package.json +20 -20
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/dist/generators/app/generator.d.ts +4 -1
- package/dist/generators/base/support/contents.d.ts +1 -1
- package/dist/generators/base/support/needles.d.ts +14 -5
- package/dist/generators/base/support/needles.js +25 -17
- package/dist/generators/base-application/support/prepare-entity.js +14 -26
- package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
- package/dist/generators/base-application/types.d.ts +5 -0
- package/dist/generators/bootstrap/generator.d.ts +6 -1
- package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
- package/dist/generators/bootstrap-application/generator.d.ts +4 -1
- package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
- package/dist/generators/bootstrap-application-base/generator.js +3 -0
- package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
- package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
- package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
- package/dist/generators/ci-cd/generator.d.ts +6 -1
- package/dist/generators/client/generator.d.ts +13 -1
- package/dist/generators/client/generators/common/generator.d.ts +1 -1
- package/dist/generators/client/resources/package.json +5 -5
- package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
- package/dist/generators/common/generator.d.ts +8 -1
- package/dist/generators/common/resources/package.json +2 -2
- package/dist/generators/cucumber/generator.d.ts +2 -1
- package/dist/generators/cypress/generator.d.ts +7 -1
- package/dist/generators/docker/generator.d.ts +4 -1
- package/dist/generators/docker-compose/generator.d.ts +23 -1
- package/dist/generators/entities/generator.d.ts +4 -1
- package/dist/generators/entity/generator.d.ts +5 -1
- package/dist/generators/export-jdl/generator.d.ts +3 -1
- package/dist/generators/feign-client/generator.d.ts +2 -1
- package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
- package/dist/generators/gatling/generator.d.ts +3 -1
- package/dist/generators/generate-blueprint/constants.d.ts +1 -1
- package/dist/generators/generate-blueprint/constants.js +1 -1
- package/dist/generators/generate-blueprint/files.js +2 -2
- package/dist/generators/generate-blueprint/generator.d.ts +10 -1
- package/dist/generators/generate-blueprint/generator.js +16 -16
- package/dist/generators/generate-blueprint/resources/package.json +3 -3
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
- package/dist/generators/generator-constants.d.ts +1 -1
- package/dist/generators/generator-constants.js +2 -2
- package/dist/generators/git/generator.d.ts +5 -1
- package/dist/generators/gradle/generator.d.ts +5 -1
- package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
- package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/dist/generators/heroku/generator.d.ts +6 -1
- package/dist/generators/info/generator.d.ts +1 -1
- package/dist/generators/init/generator.d.ts +2 -1
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
- package/dist/generators/java/generators/bootstrap/generator.js +17 -3
- package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
- package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/java/generators/domain/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
- package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
- package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/java/generators/jib/generator.d.ts +2 -1
- package/dist/generators/java/generators/node/generator.d.ts +4 -1
- package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
- package/dist/generators/java/generators/server/generator.d.ts +1 -1
- package/dist/generators/java/support/index.d.ts +2 -0
- package/dist/generators/java/support/index.js +2 -0
- package/dist/generators/java/support/java-enum.d.ts +8 -0
- package/dist/generators/java/support/java-enum.js +20 -0
- package/dist/generators/java/support/java-file-edit.d.ts +18 -0
- package/dist/generators/java/support/java-file-edit.js +94 -0
- package/dist/generators/java/types.d.ts +37 -1
- package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
- package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
- package/dist/generators/javascript/resources/package.json +3 -3
- package/dist/generators/jdl/generator.d.ts +3 -1
- package/dist/generators/kubernetes/generator.d.ts +25 -19
- package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
- package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
- package/dist/generators/languages/generator.d.ts +9 -1
- package/dist/generators/liquibase/generator.d.ts +9 -1
- package/dist/generators/liquibase/generator.js +3 -19
- package/dist/generators/maven/generator.d.ts +6 -1
- package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
- package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
- package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
- package/dist/generators/project-name/generator.d.ts +3 -1
- package/dist/generators/react/generator.d.ts +15 -1
- package/dist/generators/react/resources/package.json +26 -26
- package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
- package/dist/generators/server/generator.d.ts +7 -1
- package/dist/generators/server/resources/Dockerfile +15 -15
- package/dist/generators/server/resources/gradle/libs.versions.toml +13 -13
- package/dist/generators/server/resources/pom.xml +13 -13
- package/dist/generators/server/types.d.ts +22 -0
- package/dist/generators/spring-boot/generator.d.ts +14 -2
- package/dist/generators/spring-boot/generator.js +33 -1
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +143 -143
- package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +6 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
- package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cache/cleanup.d.ts +2 -20
- package/dist/generators/spring-cache/cleanup.js +24 -2
- package/dist/generators/spring-cache/files.js +0 -6
- package/dist/generators/spring-cache/generator.d.ts +5 -1
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
- package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
- package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
- package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
- package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
- package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
- package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
- package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
- package/dist/generators/spring-websocket/generator.d.ts +2 -1
- package/dist/generators/upgrade/generator.d.ts +3 -1
- package/dist/generators/vue/generator.d.ts +9 -1
- package/dist/generators/vue/resources/package.json +29 -29
- package/dist/generators/workspaces/generator.d.ts +7 -1
- package/dist/generators/workspaces/support/applications-lookup.js +2 -2
- package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
- package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
- package/dist/lib/testing/github.js +6 -3
- package/dist/lib/testing/helpers.d.ts +1 -0
- package/dist/lib/testing/helpers.js +15 -0
- package/dist/lib/utils/yo-rc.d.ts +3 -219
- package/package.json +27 -28
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
|
@@ -91,6 +91,17 @@ public class <%= mainClass %> {
|
|
|
91
91
|
* @param args the command line arguments.
|
|
92
92
|
*/
|
|
93
93
|
public static void main(String[] args) {
|
|
94
|
+
<%_ if (cacheProviderHazelcast) { _%>
|
|
95
|
+
try {
|
|
96
|
+
// Workaround Hazelcast issue: https://github.com/hazelcast/hazelcast/issues/26361#issuecomment-2489778475
|
|
97
|
+
Class.forName("org.springframework.boot.devtools.autoconfigure.DevToolsProperties", false, SpringApplication.class.getClassLoader());
|
|
98
|
+
System.setProperty("spring.devtools.restart.enabled", "false");
|
|
99
|
+
LOG.warn("Spring Boot Developer Tools restart has been disabled using System property in order to prevent issues with Hazelcast");
|
|
100
|
+
} catch (Exception e){
|
|
101
|
+
// Devtools not found, ignore
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
<%_ } _%>
|
|
94
105
|
SpringApplication app = new SpringApplication(<%= mainClass %>.class);
|
|
95
106
|
DefaultProfileUtil.addDefaultProfile(app);
|
|
96
107
|
Environment env = app.run(args).getEnvironment();
|
|
@@ -126,29 +126,18 @@ public class <%= serviceClassName %> extends QueryService<<%= persistClass %>> {
|
|
|
126
126
|
Specification<<%= persistClass %>> specification = Specification.where(null);
|
|
127
127
|
if (criteria != null) {
|
|
128
128
|
// This has to be called first, because the distinct method returns null
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
<%_
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
<%_ }
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
relationships.forEach((relationship) => {
|
|
146
|
-
const metamodelFieldName = (relationship.relationshipManyToMany || relationship.relationshipOneToMany) ? relationship.relationshipFieldNamePlural : relationship.relationshipFieldName; _%>
|
|
147
|
-
if (criteria.get<%= relationship.relationshipNameCapitalized %>Id() != null) {
|
|
148
|
-
specification = specification.and(buildSpecification(criteria.get<%= relationship.relationshipNameCapitalized %>Id(),
|
|
149
|
-
root -> root.join(<%= persistClass %>_.<%= metamodelFieldName %>, JoinType.LEFT).get(<%= relationship.otherEntity.persistClass %>_.<%= relationship.otherEntity.primaryKey.name %>)));
|
|
150
|
-
}
|
|
151
|
-
<%_ }); /* forEach */ _%>
|
|
129
|
+
specification = Specification.allOf(
|
|
130
|
+
Boolean.TRUE.equals(criteria.getDistinct()) ? distinct(criteria.getDistinct()) : null
|
|
131
|
+
<%_ for (const field of fields.filter(field => !field.transient && field.filterableField)) { _%>
|
|
132
|
+
,
|
|
133
|
+
<%= field.fieldJavaBuildSpecification %>(criteria.get<%= field.fieldInJavaBeanMethod %>(), <%= persistClass %>_.<%= field.fieldName %>)
|
|
134
|
+
<%_ } _%>
|
|
135
|
+
<%_ for (const relationship of relationships) { _%>
|
|
136
|
+
,
|
|
137
|
+
buildSpecification(criteria.get<%= relationship.relationshipNameCapitalized %>Id(),
|
|
138
|
+
root -> root.join(<%= persistClass %>_.<%= relationship.propertyName %>, JoinType.LEFT).get(<%= relationship.otherEntity.persistClass %>_.<%= relationship.otherEntity.primaryKey.name %>))
|
|
139
|
+
<%_ } _%>
|
|
140
|
+
);
|
|
152
141
|
}
|
|
153
142
|
return specification;
|
|
154
143
|
}
|
|
@@ -41,6 +41,7 @@ import org.slf4j.Logger;
|
|
|
41
41
|
import org.slf4j.LoggerFactory;
|
|
42
42
|
import org.springframework.http.HttpStatus;
|
|
43
43
|
import org.springframework.http.MediaType;
|
|
44
|
+
import org.springframework.http.ResponseEntity;
|
|
44
45
|
import org.springframework.web.bind.annotation.*;
|
|
45
46
|
<%_ if (reactive) { _%>
|
|
46
47
|
import java.util.Objects;
|
|
@@ -135,15 +136,15 @@ public class AccountResource {
|
|
|
135
136
|
|
|
136
137
|
<%_ if (!authenticationTypeJwt) { _%>
|
|
137
138
|
/**
|
|
138
|
-
* {@code GET /authenticate} : check if the user is authenticated
|
|
139
|
+
* {@code GET /authenticate} : check if the user is authenticated.
|
|
139
140
|
*
|
|
140
|
-
* @
|
|
141
|
-
* @
|
|
141
|
+
* @return the {@link ResponseEntity} with status {@code 204 (No Content)},
|
|
142
|
+
* or with status {@code 401 (Unauthorized)} if not authenticated.
|
|
142
143
|
*/
|
|
143
|
-
@GetMapping(
|
|
144
|
-
public
|
|
144
|
+
@GetMapping("/authenticate")
|
|
145
|
+
public ResponseEntity<Void> isAuthenticated(Principal principal) {
|
|
145
146
|
LOG.debug("REST request to check if the current user is authenticated");
|
|
146
|
-
return principal == null ?
|
|
147
|
+
return ResponseEntity.status(principal == null ? HttpStatus.UNAUTHORIZED : HttpStatus.NO_CONTENT).build();
|
|
147
148
|
}
|
|
148
149
|
|
|
149
150
|
<%_ } _%>
|
|
@@ -24,7 +24,9 @@ import <%= packageName %>.service.dto.<%= user.adminUserDto %>;
|
|
|
24
24
|
import java.security.Principal;
|
|
25
25
|
import org.slf4j.Logger;
|
|
26
26
|
import org.slf4j.LoggerFactory;
|
|
27
|
+
import org.springframework.http.HttpStatus;
|
|
27
28
|
import org.springframework.http.MediaType;
|
|
29
|
+
import org.springframework.http.ResponseEntity;
|
|
28
30
|
import org.springframework.security.authentication.AbstractAuthenticationToken;
|
|
29
31
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
30
32
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
@@ -74,14 +76,14 @@ public class AccountResource {
|
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
/**
|
|
77
|
-
* {@code GET /authenticate} : check if the user is authenticated
|
|
79
|
+
* {@code GET /authenticate} : check if the user is authenticated.
|
|
78
80
|
*
|
|
79
|
-
* @
|
|
80
|
-
* @
|
|
81
|
+
* @return the {@link ResponseEntity} with status {@code 204 (No Content)},
|
|
82
|
+
* or with status {@code 401 (Unauthorized)} if not authenticated.
|
|
81
83
|
*/
|
|
82
|
-
@GetMapping(
|
|
83
|
-
public
|
|
84
|
+
@GetMapping("/authenticate")
|
|
85
|
+
public ResponseEntity<Void> isAuthenticated(Principal principal) {
|
|
84
86
|
LOG.debug("REST request to check if the current user is authenticated");
|
|
85
|
-
return principal == null ?
|
|
87
|
+
return ResponseEntity.status(principal == null ? HttpStatus.UNAUTHORIZED : HttpStatus.NO_CONTENT).build();
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -48,7 +48,9 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
48
48
|
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
|
49
49
|
import org.slf4j.Logger;
|
|
50
50
|
import org.slf4j.LoggerFactory;
|
|
51
|
+
import org.springframework.http.HttpStatus;
|
|
51
52
|
import org.springframework.http.MediaType;
|
|
53
|
+
import org.springframework.http.ResponseEntity;
|
|
52
54
|
import org.springframework.security.core.GrantedAuthority;
|
|
53
55
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
54
56
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
@@ -139,15 +141,15 @@ public class AccountResource {
|
|
|
139
141
|
<%_ if (!authenticationTypeJwt) { _%>
|
|
140
142
|
|
|
141
143
|
/**
|
|
142
|
-
* {@code GET /authenticate} : check if the user is authenticated
|
|
144
|
+
* {@code GET /authenticate} : check if the user is authenticated.
|
|
143
145
|
*
|
|
144
|
-
* @
|
|
145
|
-
* @
|
|
146
|
+
* @return the {@link ResponseEntity} with status {@code 204 (No Content)},
|
|
147
|
+
* or with status {@code 401 (Unauthorized)} if not authenticated.
|
|
146
148
|
*/
|
|
147
|
-
@GetMapping(
|
|
148
|
-
public
|
|
149
|
+
@GetMapping("/authenticate")
|
|
150
|
+
public ResponseEntity<Void> isAuthenticated(Principal principal) {
|
|
149
151
|
LOG.debug("REST request to check if the current user is authenticated");
|
|
150
|
-
return principal == null ?
|
|
152
|
+
return ResponseEntity.status(principal == null ? HttpStatus.UNAUTHORIZED : HttpStatus.NO_CONTENT).build();
|
|
151
153
|
}
|
|
152
154
|
<%_ } _%>
|
|
153
155
|
|
|
@@ -117,15 +117,15 @@ public class AuthenticateController {
|
|
|
117
117
|
<%_ } _%>
|
|
118
118
|
|
|
119
119
|
/**
|
|
120
|
-
* {@code GET /authenticate} : check if the user is authenticated
|
|
120
|
+
* {@code GET /authenticate} : check if the user is authenticated.
|
|
121
121
|
*
|
|
122
|
-
* @
|
|
123
|
-
* @
|
|
122
|
+
* @return the {@link ResponseEntity} with status {@code 204 (No Content)},
|
|
123
|
+
* or with status {@code 401 (Unauthorized)} if not authenticated.
|
|
124
124
|
*/
|
|
125
|
-
@GetMapping(
|
|
126
|
-
public
|
|
125
|
+
@GetMapping("/authenticate")
|
|
126
|
+
public ResponseEntity<Void> isAuthenticated(Principal principal) {
|
|
127
127
|
LOG.debug("REST request to check if the current user is authenticated");
|
|
128
|
-
return principal == null ?
|
|
128
|
+
return ResponseEntity.status(principal == null ? HttpStatus.UNAUTHORIZED : HttpStatus.NO_CONTENT).build();
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
public String createToken(Authentication authentication, boolean rememberMe) {
|
|
@@ -24,6 +24,8 @@ import tech.jhipster.config.JHipsterConstants;
|
|
|
24
24
|
import tech.jhipster.web.util.HeaderUtil;
|
|
25
25
|
|
|
26
26
|
import org.apache.commons.lang3.StringUtils;
|
|
27
|
+
import org.slf4j.Logger;
|
|
28
|
+
import org.slf4j.LoggerFactory;
|
|
27
29
|
import org.springframework.beans.factory.annotation.Value;
|
|
28
30
|
<%_ if (!databaseTypeNo && !databaseTypeCassandra) { _%>
|
|
29
31
|
import org.springframework.dao.ConcurrencyFailureException;
|
|
@@ -111,6 +113,8 @@ _%>
|
|
|
111
113
|
private static final String PATH_KEY = "path";
|
|
112
114
|
private static final boolean CASUAL_CHAIN_ENABLED = false;
|
|
113
115
|
|
|
116
|
+
private static final Logger LOG = LoggerFactory.getLogger(ExceptionTranslator.class);
|
|
117
|
+
|
|
114
118
|
@Value("${jhipster.clientApp.name}")
|
|
115
119
|
private String applicationName;
|
|
116
120
|
|
|
@@ -124,6 +128,7 @@ _%>
|
|
|
124
128
|
<%_ if (reactive) { _%>@Override<%_ } _%>
|
|
125
129
|
public <%- returnType %> handleAnyException(Throwable ex, <%= requestClass %> request
|
|
126
130
|
) {
|
|
131
|
+
LOG.debug("Converting Exception to Problem Details:", ex);
|
|
127
132
|
ProblemDetailWithCause pdCause = wrapAndCustomizeProblem(ex, request);
|
|
128
133
|
return handleExceptionInternal((Exception) ex, pdCause, buildHeaders(ex), HttpStatusCode.valueOf(pdCause.getStatus()), request);
|
|
129
134
|
}
|
|
@@ -149,9 +154,9 @@ _%>
|
|
|
149
154
|
|
|
150
155
|
private ProblemDetailWithCause getProblemDetailWithCause(Throwable ex) {
|
|
151
156
|
<%_ if (!skipUserManagement) { _%>
|
|
152
|
-
if(ex instanceof <%= packageName %>.service.UsernameAlreadyUsedException )
|
|
153
|
-
return (ProblemDetailWithCause) new LoginAlreadyUsedException().getBody();
|
|
154
|
-
if(ex instanceof <%= packageName %>.service.EmailAlreadyUsedException )
|
|
157
|
+
if(ex instanceof <%= packageName %>.service.UsernameAlreadyUsedException )
|
|
158
|
+
return (ProblemDetailWithCause) new LoginAlreadyUsedException().getBody();
|
|
159
|
+
if(ex instanceof <%= packageName %>.service.EmailAlreadyUsedException )
|
|
155
160
|
return (ProblemDetailWithCause) new EmailAlreadyUsedException().getBody();
|
|
156
161
|
if(ex instanceof <%= packageName %>.service.InvalidPasswordException )
|
|
157
162
|
return (ProblemDetailWithCause) new InvalidPasswordException().getBody();
|
|
@@ -327,6 +327,7 @@ spring:
|
|
|
327
327
|
hibernate.cache.hazelcast.instance_name: <%= baseName %>
|
|
328
328
|
hibernate.cache.hazelcast.use_lite_member: true
|
|
329
329
|
<%_ } else if (cacheProviderInfinispan) { _%>
|
|
330
|
+
hibernate.cache.region.factory_class: infinispan
|
|
330
331
|
hibernate.cache.infinispan.statistics: false
|
|
331
332
|
hibernate.cache.use_minimal_puts: true
|
|
332
333
|
hibernate.cache.infinispan.entity.expiration.lifespan: 3600000
|
|
@@ -463,6 +464,8 @@ jhipster:
|
|
|
463
464
|
- api://default
|
|
464
465
|
<%_ } _%>
|
|
465
466
|
|
|
467
|
+
# jhipster-needle-add-application-yaml-document
|
|
468
|
+
---
|
|
466
469
|
# ===================================================================
|
|
467
470
|
# Application specific properties
|
|
468
471
|
# Add your own application properties here, see the ApplicationProperties class
|
|
@@ -205,13 +205,13 @@ class UserServiceIT {
|
|
|
205
205
|
private Long numberOfUsers;
|
|
206
206
|
|
|
207
207
|
@BeforeEach
|
|
208
|
-
|
|
208
|
+
void countUsers() {
|
|
209
209
|
numberOfUsers = userRepository.count()<%- reactorBlock %>;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
<%_ } _%>
|
|
213
213
|
@BeforeEach
|
|
214
|
-
|
|
214
|
+
void init() {
|
|
215
215
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
216
216
|
mockAuthentication();
|
|
217
217
|
<%_ } _%>
|
|
@@ -255,7 +255,7 @@ class UserServiceIT {
|
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
@AfterEach
|
|
258
|
-
|
|
258
|
+
void cleanupAndCheck() {
|
|
259
259
|
<%_ if (cacheProviderAny) { _%>
|
|
260
260
|
cacheManager.getCacheNames().stream()
|
|
261
261
|
.map(cacheName -> this.cacheManager.getCache(cacheName))
|
|
@@ -146,25 +146,25 @@ class PublicUserResourceIT {
|
|
|
146
146
|
private Long numberOfUsers;
|
|
147
147
|
|
|
148
148
|
@BeforeEach
|
|
149
|
-
|
|
149
|
+
void countUsers() {
|
|
150
150
|
numberOfUsers = userRepository.count()<%- reactorBlock %>;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
<%_ } _%>
|
|
154
154
|
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
155
155
|
@BeforeEach
|
|
156
|
-
|
|
156
|
+
void setupCsrf() {
|
|
157
157
|
webTestClient = webTestClient.mutateWith(csrf());
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
<%_ } _%>
|
|
161
161
|
@BeforeEach
|
|
162
|
-
|
|
162
|
+
void initTest() {
|
|
163
163
|
user = UserResourceIT.initTestUser();
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
@AfterEach
|
|
167
|
-
|
|
167
|
+
void cleanupAndCheck() {
|
|
168
168
|
<%_ if (cacheProviderAny) { _%>
|
|
169
169
|
cacheManager.getCacheNames().stream()
|
|
170
170
|
.map(cacheName -> this.cacheManager.getCache(cacheName))
|
|
@@ -207,14 +207,14 @@ class UserResourceIT {
|
|
|
207
207
|
private Long numberOfUsers;
|
|
208
208
|
|
|
209
209
|
@BeforeEach
|
|
210
|
-
|
|
210
|
+
void countUsers() {
|
|
211
211
|
numberOfUsers = userRepository.count()<%- reactorBlock %>;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
<%_ } _%>
|
|
215
215
|
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
216
216
|
@BeforeEach
|
|
217
|
-
|
|
217
|
+
void setupCsrf() {
|
|
218
218
|
webTestClient = webTestClient.mutateWith(csrf());
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -269,12 +269,12 @@ class UserResourceIT {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
@BeforeEach
|
|
272
|
-
|
|
272
|
+
void initTest() {
|
|
273
273
|
user = initTestUser();
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
@AfterEach
|
|
277
|
-
|
|
277
|
+
void cleanupAndCheck() {
|
|
278
278
|
<%_ if (requiresDeleteAllUsers) { _%>
|
|
279
279
|
<%_ if (databaseTypeSql && reactive) { _%>
|
|
280
280
|
userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
|
|
@@ -649,18 +649,18 @@ _%>
|
|
|
649
649
|
<%_ } _%>
|
|
650
650
|
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
651
651
|
@BeforeEach
|
|
652
|
-
|
|
652
|
+
void setupCsrf() {
|
|
653
653
|
webTestClient = webTestClient.mutateWith(csrf());
|
|
654
654
|
}
|
|
655
655
|
|
|
656
656
|
<%_ } _%>
|
|
657
657
|
@BeforeEach
|
|
658
|
-
|
|
658
|
+
void initTest() {
|
|
659
659
|
<%= persistInstance %> = createEntity(<% if (databaseTypeSql && anyRelationshipIsRequired) { %>em<% } %>);
|
|
660
660
|
}
|
|
661
661
|
|
|
662
662
|
@AfterEach
|
|
663
|
-
|
|
663
|
+
void cleanup() {
|
|
664
664
|
if (inserted<%= persistClass %> != null) {
|
|
665
665
|
<%= entityInstance %>Repository.delete(inserted<%= persistClass %>)<%= reactorBlock %>;
|
|
666
666
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
@@ -56,8 +56,6 @@ public class JHipsterBlockHoundIntegration implements BlockHoundIntegration {
|
|
|
56
56
|
builder.allowBlockingCallsInside("com.scurrilous.circe.utils.NativeUtils", "loadLibraryFromJar");
|
|
57
57
|
<%_ } _%>
|
|
58
58
|
builder.allowBlockingCallsInside("org.springframework.web.reactive.result.method.InvocableHandlerMethod", "invoke");
|
|
59
|
-
builder.allowBlockingCallsInside("org.springdoc.core.service.OpenAPIService", "build");
|
|
60
|
-
builder.allowBlockingCallsInside("org.springdoc.core.service.AbstractRequestService", "build");
|
|
61
59
|
// jhipster-needle-blockhound-integration - JHipster will add additional gradle plugins here
|
|
62
60
|
}
|
|
63
61
|
}
|
|
@@ -61,7 +61,7 @@ class WebConfigurerTest {
|
|
|
61
61
|
private JHipsterProperties props;
|
|
62
62
|
|
|
63
63
|
@BeforeEach
|
|
64
|
-
|
|
64
|
+
void setup() {
|
|
65
65
|
servletContext = spy(new MockServletContext());
|
|
66
66
|
doReturn(mock(FilterRegistration.Dynamic.class)).when(servletContext).addFilter(anyString(), any(Filter.class));
|
|
67
67
|
doReturn(mock(ServletRegistration.Dynamic.class)).when(servletContext).addServlet(anyString(), any(Servlet.class));
|
|
@@ -34,7 +34,7 @@ class SecurityMetersServiceTests {
|
|
|
34
34
|
private SecurityMetersService securityMetersService;
|
|
35
35
|
|
|
36
36
|
@BeforeEach
|
|
37
|
-
|
|
37
|
+
void setup() {
|
|
38
38
|
meterRegistry = new SimpleMeterRegistry();
|
|
39
39
|
|
|
40
40
|
securityMetersService = new SecurityMetersService(meterRegistry);
|
|
@@ -142,14 +142,14 @@ class DomainUserDetailsServiceIT {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
@BeforeEach
|
|
145
|
-
|
|
145
|
+
void init() {
|
|
146
146
|
userRepository.save(getUserOne())<%- callBlock %>;
|
|
147
147
|
userRepository.save(getUserTwo())<%- callBlock %>;
|
|
148
148
|
userRepository.save(getUserThree())<%- callBlock %>;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
@AfterEach
|
|
152
|
-
|
|
152
|
+
void cleanup () {
|
|
153
153
|
userService.deleteUser(USER_ONE_LOGIN)<%- callBlock %>;
|
|
154
154
|
userService.deleteUser(USER_TWO_LOGIN)<%- callBlock %>;
|
|
155
155
|
userService.deleteUser(USER_THREE_LOGIN)<%- callBlock %>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
package <%= packageName %>.security.jwt;
|
|
2
2
|
|
|
3
|
+
import org.springframework.http.HttpStatus;
|
|
3
4
|
import org.springframework.http.MediaType;
|
|
5
|
+
import org.springframework.http.ResponseEntity;
|
|
4
6
|
import org.springframework.web.bind.annotation.*;
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -12,11 +14,9 @@ public class TestAuthenticationResource {
|
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* {@code GET /authenticate} : check if the authentication token correctly validates
|
|
15
|
-
*
|
|
16
|
-
* @return ok.
|
|
17
17
|
*/
|
|
18
|
-
@GetMapping(
|
|
19
|
-
public
|
|
20
|
-
return
|
|
18
|
+
@GetMapping("/authenticate")
|
|
19
|
+
public ResponseEntity<Void> isAuthenticated() {
|
|
20
|
+
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -57,7 +57,7 @@ class TokenAuthenticationIT {
|
|
|
57
57
|
<%_ if (reactive) { %>
|
|
58
58
|
|
|
59
59
|
private void expectOk(String token) {
|
|
60
|
-
webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().
|
|
60
|
+
webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().isNoContent();
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
private void expectUnauthorized(String token) {
|
|
@@ -72,7 +72,7 @@ class TokenAuthenticationIT {
|
|
|
72
72
|
<%_ } else { _%>
|
|
73
73
|
|
|
74
74
|
private void expectOk(String token) throws Exception {
|
|
75
|
-
mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().
|
|
75
|
+
mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().isNoContent());
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
private void expectUnauthorized(String token) throws Exception {
|
|
@@ -97,10 +97,7 @@ class TokenAuthenticationSecurityMetersIT {
|
|
|
97
97
|
.get()
|
|
98
98
|
.uri("/api/authenticate")
|
|
99
99
|
.headers(headers -> headers.setBearerAuth(token))
|
|
100
|
-
.exchange()
|
|
101
|
-
.returnResult(String.class)
|
|
102
|
-
.getResponseBody()
|
|
103
|
-
.blockLast();
|
|
100
|
+
.exchange();
|
|
104
101
|
}
|
|
105
102
|
<%_ } else { _%>
|
|
106
103
|
|
|
@@ -65,7 +65,7 @@ class CustomClaimConverterIT {
|
|
|
65
65
|
private CustomClaimConverter customClaimConverter;
|
|
66
66
|
|
|
67
67
|
@BeforeEach
|
|
68
|
-
|
|
68
|
+
void initTest() {
|
|
69
69
|
customClaimConverter = new CustomClaimConverter(clientRegistrationRepository.findByRegistrationId("oidc"), restTemplate);
|
|
70
70
|
}
|
|
71
71
|
|
package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs
CHANGED
|
@@ -75,7 +75,7 @@ class MailServiceIT {
|
|
|
75
75
|
private MailService mailService;
|
|
76
76
|
|
|
77
77
|
@BeforeEach
|
|
78
|
-
|
|
78
|
+
void setup() {
|
|
79
79
|
doNothing().when(javaMailSender).send(any(MimeMessage.class));
|
|
80
80
|
when(javaMailSender.createMimeMessage()).thenReturn(new MimeMessage((Session) null));
|
|
81
81
|
}
|
|
@@ -31,7 +31,7 @@ class SpaWebFilterIT {
|
|
|
31
31
|
@Test
|
|
32
32
|
void testFilterDoesNotForwardToIndexForApi() throws Exception {
|
|
33
33
|
mockMvc.perform(get("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>"))
|
|
34
|
-
.andExpect(status().
|
|
34
|
+
.andExpect(status().is2xxSuccessful())
|
|
35
35
|
.andExpect(forwardedUrl(null));
|
|
36
36
|
}
|
|
37
37
|
<%_ } _%>
|
|
@@ -37,8 +37,7 @@ class SpaWebFilterIT {
|
|
|
37
37
|
.get()
|
|
38
38
|
.uri("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>")
|
|
39
39
|
.exchange()
|
|
40
|
-
.expectStatus().
|
|
41
|
-
.expectBody(String.class).isEqualTo("user");
|
|
40
|
+
.expectStatus().is2xxSuccessful();
|
|
42
41
|
}
|
|
43
42
|
<%_ } _%>
|
|
44
43
|
|
|
@@ -147,20 +147,20 @@ class AccountResourceIT {
|
|
|
147
147
|
private Long numberOfUsers;
|
|
148
148
|
|
|
149
149
|
@BeforeEach
|
|
150
|
-
|
|
150
|
+
void countUsers() {
|
|
151
151
|
numberOfUsers = userRepository.count()<%- reactorBlock %>;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
<%_ } _%>
|
|
155
155
|
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
156
156
|
@BeforeEach
|
|
157
|
-
|
|
157
|
+
void setupCsrf() {
|
|
158
158
|
accountWebTestClient = accountWebTestClient.mutateWith(csrf());
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
<%_ } _%>
|
|
162
162
|
@AfterEach
|
|
163
|
-
|
|
163
|
+
void cleanupAndCheck() {
|
|
164
164
|
<%_ if (requiresDeleteAllUsers) { _%>
|
|
165
165
|
userRepository.deleteAll()<%- reactorBlock %>;
|
|
166
166
|
<%_ } else if (!databaseTypeCassandra) { _%>
|
|
@@ -174,16 +174,13 @@ class AccountResourceIT {
|
|
|
174
174
|
<%_ if (reactive) { _%>
|
|
175
175
|
void testNonAuthenticatedUser() {
|
|
176
176
|
accountWebTestClient.get().uri("/api/authenticate")
|
|
177
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
178
177
|
.exchange()
|
|
179
|
-
.expectStatus().
|
|
180
|
-
.expectBody().isEmpty();
|
|
178
|
+
.expectStatus().isUnauthorized();
|
|
181
179
|
<%_ } else { _%>
|
|
182
180
|
void testNonAuthenticatedUser() throws Exception {
|
|
183
181
|
restAccountMockMvc
|
|
184
|
-
.perform(get("/api/authenticate")
|
|
185
|
-
.andExpect(status().
|
|
186
|
-
.andExpect(content().string(""));
|
|
182
|
+
.perform(get("/api/authenticate"))
|
|
183
|
+
.andExpect(status().isUnauthorized());
|
|
187
184
|
<%_ } _%>
|
|
188
185
|
}
|
|
189
186
|
|
|
@@ -193,16 +190,13 @@ class AccountResourceIT {
|
|
|
193
190
|
void testAuthenticatedUser() {
|
|
194
191
|
accountWebTestClient
|
|
195
192
|
.get().uri("/api/authenticate")
|
|
196
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
197
193
|
.exchange()
|
|
198
|
-
.expectStatus().
|
|
199
|
-
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
194
|
+
.expectStatus().isNoContent();
|
|
200
195
|
<%_ } else { _%>
|
|
201
196
|
void testAuthenticatedUser() throws Exception {
|
|
202
197
|
restAccountMockMvc
|
|
203
|
-
.perform(get("/api/authenticate").with(request -> request)
|
|
204
|
-
.andExpect(status().
|
|
205
|
-
.andExpect(content().string(TEST_USER_LOGIN));
|
|
198
|
+
.perform(get("/api/authenticate").with(request -> request))
|
|
199
|
+
.andExpect(status().isNoContent());
|
|
206
200
|
<%_ } _%>
|
|
207
201
|
}
|
|
208
202
|
|
|
@@ -110,7 +110,7 @@ class AccountResourceIT {
|
|
|
110
110
|
|
|
111
111
|
<%_ if (reactive) { _%>
|
|
112
112
|
@BeforeEach
|
|
113
|
-
|
|
113
|
+
void setup() {
|
|
114
114
|
claims = new HashMap<>();
|
|
115
115
|
claims.put("groups", Collections.singletonList(AuthoritiesConstants.ADMIN));
|
|
116
116
|
claims.put("sub", "jane");
|
|
@@ -120,7 +120,7 @@ class AccountResourceIT {
|
|
|
120
120
|
<%_ } _%>
|
|
121
121
|
<%_ if (syncUserWithIdp) { _%>
|
|
122
122
|
@AfterEach
|
|
123
|
-
|
|
123
|
+
void cleanup() {
|
|
124
124
|
// Remove syncUserWithIdp users
|
|
125
125
|
<%_ if (databaseTypeSql && reactive) { _%>
|
|
126
126
|
userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
|
|
@@ -185,15 +185,11 @@ class AccountResourceIT {
|
|
|
185
185
|
void testNonAuthenticatedUser() <% if (!reactive) { %>throws Exception <% } %>{
|
|
186
186
|
<%_ if (reactive) { _%>
|
|
187
187
|
webTestClient.get().uri("/api/authenticate")
|
|
188
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
189
188
|
.exchange()
|
|
190
|
-
.expectStatus().
|
|
191
|
-
.expectBody().isEmpty();
|
|
189
|
+
.expectStatus().isUnauthorized();
|
|
192
190
|
<%_ } else { _%>
|
|
193
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
194
|
-
.
|
|
195
|
-
.andExpect(status().isOk())
|
|
196
|
-
.andExpect(content().string(""));
|
|
191
|
+
restAccountMockMvc.perform(get("/api/authenticate"))
|
|
192
|
+
.andExpect(status().isUnauthorized());
|
|
197
193
|
<%_ } _%>
|
|
198
194
|
}
|
|
199
195
|
|
|
@@ -203,16 +199,11 @@ class AccountResourceIT {
|
|
|
203
199
|
<%_ if (reactive) { _%>
|
|
204
200
|
webTestClient
|
|
205
201
|
.get().uri("/api/authenticate")
|
|
206
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
207
202
|
.exchange()
|
|
208
|
-
.expectStatus().
|
|
209
|
-
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
203
|
+
.expectStatus().isNoContent();
|
|
210
204
|
<%_ } else { _%>
|
|
211
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
212
|
-
.
|
|
213
|
-
.accept(MediaType.TEXT_PLAIN))
|
|
214
|
-
.andExpect(status().isOk())
|
|
215
|
-
.andExpect(content().string(TEST_USER_LOGIN));
|
|
205
|
+
restAccountMockMvc.perform(get("/api/authenticate").with(request -> request))
|
|
206
|
+
.andExpect(status().isNoContent());
|
|
216
207
|
<%_ } _%>
|
|
217
208
|
}
|
|
218
209
|
}
|