diff --git a/generators/spring-boot-v2/generator.js b/generators/spring-boot-v2/generator.js index ab12a72e1..f9977d040 100644 --- a/generators/spring-boot-v2/generator.js +++ b/generators/spring-boot-v2/generator.js @@ -2,16 +2,10 @@ import { basename, dirname, join } from 'path'; import { fileURLToPath } from 'url'; import { existsSync } from 'fs'; import BaseApplicationGenerator from 'generator-jhipster/generators/spring-boot'; -import { getEnumInfo } from 'generator-jhipster/generators/base-application/support'; import { files as entityServerFiles } from 'jhipster-7-templates/esm/generators/entity-server'; import { files as serverFiles } from 'jhipster-7-templates/esm/generators/server'; import { convertToKotlinFile } from '../kotlin/support/files.js'; import { migrateApplicationTask } from './preparing-migration.js'; -import migration from './migration.cjs'; - -const { jhipsterConstants } = migration; -const { MAIN_DIR } = jhipsterConstants; -const SERVER_MAIN_SRC_KOTLIN_DIR = `${MAIN_DIR}kotlin/`; const jhipster7TemplatesPackage = dirname(fileURLToPath(import.meta.resolve('jhipster-7-templates/package.json'))); @@ -342,38 +336,6 @@ export default class extends BaseApplicationGenerator { }); } }, - - // Can be dropped for jhipster 8.7.0 - async writeEnumFiles({ application, entities }) { - for (const entity of entities.filter(entity => !entity.skipServer)) { - for (const field of entity.fields.filter(field => field.fieldIsEnum)) { - const enumInfo = { - ...application, - ...getEnumInfo(field, entity.clientRootFolder), - frontendAppName: entity.frontendAppName, - packageName: application.packageName, - javaPackageSrcDir: application.javaPackageSrcDir, - entityJavaPackageFolder: entity.entityJavaPackageFolder, - entityAbsolutePackage: entity.entityAbsolutePackage || application.packageName, - }; - await this.writeFiles({ - blocks: [ - { - templates: [ - { - file: `${SERVER_MAIN_SRC_KOTLIN_DIR}_package_/_entityPackage_/domain/enumeration/_enumName_.kt`, - renameTo: () => - `${SERVER_MAIN_SRC_KOTLIN_DIR}${entity.entityAbsoluteFolder}/domain/enumeration/${field.fieldType}.kt`, - }, - ], - }, - ], - rootTemplatesPath: ['../../spring-boot/templates/domain/'], - context: enumInfo, - }); - } - } - }, }); } @@ -437,8 +399,14 @@ export default class extends BaseApplicationGenerator { source.addGradleProperty({ property: 'mapstructVersion', value: application.javaDependencies.mapstruct }); source.addGradleProperty({ property: 'springBootVersion', value: application.javaDependencies['spring-boot'] }); if (application.databaseTypeSql) { - source.addGradleProperty({ property: 'liquibase.version', value: application.javaDependencies.liquibase }); - source.addGradleProperty({ property: 'hibernateVersion', value: application.javaDependencies.hibernate }); + source.addGradleProperty({ + property: 'liquibase.version', + value: application.javaManagedProperties['liquibase.version'], + }); + source.addGradleProperty({ + property: 'hibernateVersion', + value: application.javaManagedProperties['hibernate.version'], + }); source.addGradleProperty({ property: 'jaxbRuntimeVersion', value: '4.0.0' }); } if (application.databaseTypeCassandra) { diff --git a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/config/LocaleConfiguration.kt.ejs b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/config/LocaleConfiguration.kt.ejs index f8b4acf7a..675352cdf 100644 --- a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/config/LocaleConfiguration.kt.ejs +++ b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/config/LocaleConfiguration.kt.ejs @@ -30,7 +30,7 @@ import org.springframework.web.servlet.i18n.LocaleChangeInterceptor class LocaleConfiguration : WebMvcConfigurer { @Bean - fun localeResolver() = AngularCookieLocaleResolver().apply { cookieName = "NG_TRANSLATE_LANG_KEY" } + fun localeResolver() = AngularCookieLocaleResolver("NG_TRANSLATE_LANG_KEY") override fun addInterceptors(registry: InterceptorRegistry?) { registry!!.addInterceptor(LocaleChangeInterceptor().apply { paramName = "language" }) diff --git a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/domain/Authority.kt.ejs b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/domain/Authority.kt.ejs index 519a98139..c2bdcd18c 100644 --- a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/domain/Authority.kt.ejs +++ b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/domain/Authority.kt.ejs @@ -42,14 +42,14 @@ import org.springframework.data.annotation.Transient import org.springframework.data.domain.Persistable import org.springframework.data.relational.core.mapping.Table <%_ } else { _%> -import javax.persistence.Entity -import javax.persistence.Id -import javax.persistence.Table -import javax.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.Id +import jakarta.persistence.Table +import jakarta.persistence.Column <%_ } _%> <%_ } _%> -import javax.validation.constraints.NotNull -import javax.validation.constraints.Size +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Size import java.io.Serializable /** diff --git a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/security/jwt/JWTFilter.kt.ejs b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/security/jwt/JWTFilter.kt.ejs index 19e3d1316..355b42b75 100644 --- a/generators/spring-boot-v2/templates/src/main/kotlin/_package_/security/jwt/JWTFilter.kt.ejs +++ b/generators/spring-boot-v2/templates/src/main/kotlin/_package_/security/jwt/JWTFilter.kt.ejs @@ -34,11 +34,11 @@ import reactor.core.publisher.Mono <%_ } else { _%> import org.springframework.web.filter.GenericFilterBean -import javax.servlet.FilterChain -import javax.servlet.ServletException -import javax.servlet.ServletRequest -import javax.servlet.ServletResponse -import javax.servlet.http.HttpServletRequest +import jakarta.servlet.FilterChain +import jakarta.servlet.ServletException +import jakarta.servlet.ServletRequest +import jakarta.servlet.ServletResponse +import jakarta.servlet.http.HttpServletRequest import java.io.IOException <%_ } _%> diff --git a/generators/spring-boot/__snapshots__/generator.spec.js.snap b/generators/spring-boot/__snapshots__/generator.spec.js.snap index 36d017144..eb0fb28a3 100644 --- a/generators/spring-boot/__snapshots__/generator.spec.js.snap +++ b/generators/spring-boot/__snapshots__/generator.spec.js.snap @@ -95,24 +95,9 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -164,9 +149,6 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -176,6 +158,9 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -269,15 +254,6 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -347,13 +323,19 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/CriteriaAndDtoResource.kt": { @@ -374,9 +356,6 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/main/kotlin/com/mycompany/myapp/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -653,13 +632,16 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -689,7 +671,10 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/test/kotlin/com/mycompany/myapp/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -713,9 +698,6 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -761,8 +743,5 @@ exports[`SubGenerator kotlin of kotlin JHipster blueprint > run > should succeed "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; diff --git a/generators/spring-boot/__snapshots__/matrix.spec.js.snap b/generators/spring-boot/__snapshots__/matrix.spec.js.snap index 5adfaa967..dfaf43a14 100644 --- a/generators/spring-boot/__snapshots__/matrix.spec.js.snap +++ b/generators/spring-boot/__snapshots__/matrix.spec.js.snap @@ -155,27 +155,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -197,6 +182,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -218,15 +209,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -239,6 +221,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -305,15 +290,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/security/jwt/JWTRelayGatewayFilterFactory.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -368,9 +347,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { "stateCleared": "modified", }, @@ -380,6 +356,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -401,9 +380,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -584,13 +560,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/MailServiceIT.kt": { @@ -608,7 +587,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/service/mapper/UserMapperTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { @@ -617,6 +599,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -638,9 +623,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -683,9 +665,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -793,24 +772,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -853,9 +817,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -868,6 +829,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -928,15 +892,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/security/jwt/JWTRelayGatewayFilterFactory.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -973,6 +931,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -985,9 +946,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -1108,13 +1066,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleDTOTest.kt": { @@ -1129,12 +1090,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -1150,9 +1120,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -1180,9 +1147,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -1287,18 +1251,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -1317,9 +1269,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -1365,9 +1314,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -1380,6 +1326,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -1437,15 +1386,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/security/jwt/JWTRelayGatewayFilterFactory.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -1473,9 +1416,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { "stateCleared": "modified", }, @@ -1485,6 +1425,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -1500,9 +1443,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -1614,13 +1554,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleDTOTest.kt": { @@ -1635,7 +1578,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/AccountResourceIT.kt": { @@ -1644,6 +1590,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -1659,9 +1608,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -1692,9 +1638,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -1832,18 +1775,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -1853,9 +1784,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -1880,6 +1808,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -1904,15 +1838,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -1925,6 +1850,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -2003,15 +1931,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/security/jwt/JWTRelayGatewayFilterFactory.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -2066,9 +1988,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { "stateCleared": "modified", }, @@ -2078,6 +1997,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -2099,9 +2024,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -2252,13 +2174,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/MailServiceIT.kt": { @@ -2282,7 +2207,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/service/mapper/UserMapperTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { @@ -2291,6 +2219,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -2312,9 +2246,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -2357,9 +2288,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -2494,27 +2422,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -2539,6 +2452,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -2560,18 +2479,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -2584,6 +2494,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -2650,9 +2563,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/repository/AnotherSimpleSqlHelper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/repository/AuthorityRepository.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/repository/CriteriaAndDtoRepository.kt": { "stateCleared": "modified", }, @@ -2731,15 +2641,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/security/jwt/JWTRelayGatewayFilterFactory.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -2803,6 +2707,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -2821,9 +2731,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -2953,24 +2860,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -3040,13 +2929,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/MailServiceIT.kt": { @@ -3070,12 +2962,24 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/service/mapper/UserMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -3097,9 +3001,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -3142,9 +3043,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -3258,27 +3156,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/cassandra/scripts/execute-cql.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -3327,9 +3210,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -3402,9 +3282,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -3489,9 +3366,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -3561,24 +3435,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/CassandraKeyspaceIT.kt": { "stateCleared": "modified", }, @@ -3651,6 +3507,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -3705,9 +3567,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -3860,18 +3719,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -3884,9 +3731,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -3914,6 +3758,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -3938,15 +3788,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -4031,9 +3872,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -4073,9 +3911,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/filter/OAuth2ReactiveRefreshTokensWebFilter.kt": { "stateCleared": "modified", }, @@ -4091,6 +3926,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -4127,9 +3965,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/vm/RouteVM.kt": { "stateCleared": "modified", }, @@ -4208,24 +4043,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -4313,7 +4130,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { @@ -4322,6 +4142,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -4376,9 +4199,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -4522,18 +4342,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -4555,9 +4363,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -4585,6 +4390,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -4606,15 +4417,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -4699,9 +4501,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -4741,9 +4540,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/filter/OAuth2ReactiveRefreshTokensWebFilter.kt": { "stateCleared": "modified", }, @@ -4759,6 +4555,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -4795,9 +4594,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/vm/RouteVM.kt": { "stateCleared": "modified", }, @@ -4930,7 +4726,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { @@ -4939,6 +4738,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -4996,9 +4798,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -5106,27 +4905,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -5178,9 +4962,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -5265,9 +5046,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -5307,9 +5085,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/filter/OAuth2ReactiveRefreshTokensWebFilter.kt": { "stateCleared": "modified", }, @@ -5325,6 +5100,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -5358,9 +5136,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/vm/RouteVM.kt": { "stateCleared": "modified", }, @@ -5409,24 +5184,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -5505,7 +5262,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/AccountResourceIT.kt": { @@ -5514,6 +5274,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -5565,9 +5328,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -5672,18 +5432,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -5693,9 +5441,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -5753,9 +5498,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -5831,9 +5573,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/repository/AnotherSimpleSqlHelper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/repository/AuthorityRepository.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/repository/CriteriaAndDtoRepository.kt": { "stateCleared": "modified", }, @@ -5909,9 +5648,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -5951,9 +5687,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/filter/OAuth2ReactiveRefreshTokensWebFilter.kt": { "stateCleared": "modified", }, @@ -5969,6 +5702,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -6002,9 +5738,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/vm/RouteVM.kt": { "stateCleared": "modified", }, @@ -6170,7 +5903,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/filter/ModifyServersOpenApiFilterTest.kt": { + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/filter/SpaWebFilterTestController.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/AccountResourceIT.kt": { @@ -6179,6 +5915,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -6233,9 +5972,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > gatew "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -6346,30 +6082,15 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -6409,6 +6130,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/CacheConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/Constants.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/DatabaseConfiguration.kt": { "stateCleared": "modified", }, @@ -6424,9 +6148,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -6436,7 +6157,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { @@ -6499,15 +6220,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -6541,9 +6253,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -6664,9 +6373,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/WebConfigurerTest.kt": { "stateCleared": "modified", }, @@ -6712,13 +6418,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleRestTest.kt": { @@ -6730,9 +6442,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -6778,9 +6487,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -6936,27 +6642,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -6978,31 +6669,31 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { + "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/Constants.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { + "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { + "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { @@ -7017,6 +6708,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -7077,12 +6771,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -7113,9 +6801,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -7284,13 +6969,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleDTOTest.kt": { @@ -7350,9 +7041,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -7448,27 +7136,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -7523,9 +7196,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -7535,7 +7205,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { @@ -7607,15 +7277,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/SpringSecurityAuditorAware.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -7649,9 +7310,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -7748,9 +7406,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, @@ -7799,13 +7454,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleRestTest.kt": { @@ -7823,9 +7484,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -7868,9 +7526,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -8017,18 +7672,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -8038,9 +7681,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -8062,6 +7702,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -8086,15 +7732,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -8107,6 +7744,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -8173,12 +7813,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -8209,9 +7843,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -8365,13 +7996,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleDTOTest.kt": { @@ -8437,9 +8074,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -8535,21 +8169,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -8565,9 +8187,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -8622,9 +8241,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -8634,7 +8250,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { @@ -8703,15 +8319,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/SpringSecurityAuditorAware.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -8745,9 +8352,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -8817,27 +8421,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -8856,9 +8439,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, @@ -8898,13 +8478,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleRestTest.kt": { @@ -8922,9 +8508,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -8967,9 +8550,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -9098,18 +8678,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -9128,9 +8696,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -9152,6 +8717,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -9173,15 +8744,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -9194,6 +8756,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -9257,12 +8822,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -9293,9 +8852,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -9365,27 +8921,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -9449,13 +8984,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleDTOTest.kt": { @@ -9518,9 +9059,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -9622,27 +9160,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -9700,9 +9223,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -9712,7 +9232,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { @@ -9778,15 +9298,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -9820,9 +9331,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -9907,9 +9415,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/WebConfigurerTest.kt": { "stateCleared": "modified", }, @@ -9946,13 +9451,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TestAuthenticationResource.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleDTOTest.kt": { @@ -9970,9 +9481,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -10015,9 +9523,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -10140,27 +9645,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -10185,6 +9675,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -10206,15 +9702,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -10227,6 +9714,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -10290,12 +9780,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -10326,9 +9810,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -10464,13 +9945,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -10536,9 +10023,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -10622,27 +10106,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -10703,9 +10172,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -10715,7 +10181,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { @@ -10790,15 +10256,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/SpringSecurityAuditorAware.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -10844,9 +10301,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -10958,27 +10412,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -11003,9 +10436,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SqlTestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/WebConfigurerTest.kt": { "stateCleared": "modified", }, @@ -11051,13 +10481,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/dto/AnotherSimpleRestTest.kt": { @@ -11075,9 +10511,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -11123,9 +10556,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -11266,18 +10696,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -11287,9 +10705,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -11314,6 +10729,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -11338,18 +10759,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -11362,6 +10774,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -11497,12 +10912,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -11533,9 +10942,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/EntityMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -11659,27 +11065,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -11746,13 +11131,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TestAuthenticationResource.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleDTOTest.kt": { @@ -11821,9 +11212,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -11931,30 +11319,15 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/cassandra/scripts/execute-cql.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -11985,12 +11358,18 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/AuthorizationHeaderUtil.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/AuthorizedFeignClient.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/client/OAuth2InterceptedFeignConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/OAuthIdpTokenResponseDTO.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/TokenRelayRequestInterceptor.kt": { "stateCleared": "modified", }, @@ -12021,9 +11400,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -12033,9 +11409,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -12102,15 +11475,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtil.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/OAuthIdpTokenResponseDTO.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -12156,9 +11520,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -12189,9 +11550,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -12264,6 +11622,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/TechnicalStructureTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/client/AuthorizationHeaderUtilTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/config/AsyncSyncConfiguration.kt": { "stateCleared": "modified", }, @@ -12279,9 +11640,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestSecurityConfiguration.kt": { "stateCleared": "modified", }, @@ -12330,9 +11688,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/oauth2/AudienceValidatorTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtilTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/service/UserServiceIT.kt": { "stateCleared": "modified", }, @@ -12348,9 +11703,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -12399,9 +11751,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -12548,18 +11897,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -12572,9 +11909,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -12602,6 +11936,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -12626,15 +11966,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -12713,9 +12044,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -12758,9 +12086,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -12797,9 +12122,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -13007,9 +12329,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -13117,30 +12436,15 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -13171,12 +12475,18 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/AuthorizationHeaderUtil.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/AuthorizedFeignClient.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/client/OAuth2InterceptedFeignConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/OAuthIdpTokenResponseDTO.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/TokenRelayRequestInterceptor.kt": { "stateCleared": "modified", }, @@ -13207,9 +12517,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -13219,9 +12526,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -13303,15 +12607,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtil.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/OAuthIdpTokenResponseDTO.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -13357,9 +12652,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -13390,9 +12682,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -13474,6 +12763,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/TechnicalStructureTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/client/AuthorizationHeaderUtilTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/config/AsyncSyncConfiguration.kt": { "stateCleared": "modified", }, @@ -13486,9 +12778,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, @@ -13534,9 +12823,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/oauth2/AudienceValidatorTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtilTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/service/UserServiceIT.kt": { "stateCleared": "modified", }, @@ -13558,9 +12844,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -13609,9 +12892,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -13752,18 +13032,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -13773,9 +13041,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -13803,6 +13068,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -13824,15 +13095,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -13923,9 +13185,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -13968,9 +13227,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -14007,9 +13263,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -14232,9 +13485,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -14333,21 +13583,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -14369,9 +13607,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -14402,12 +13637,18 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/AuthorizationHeaderUtil.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/AuthorizedFeignClient.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/client/OAuth2InterceptedFeignConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/OAuthIdpTokenResponseDTO.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/TokenRelayRequestInterceptor.kt": { "stateCleared": "modified", }, @@ -14441,9 +13682,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -14453,9 +13691,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -14537,15 +13772,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtil.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/OAuthIdpTokenResponseDTO.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -14591,9 +13817,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -14624,9 +13847,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -14669,6 +13889,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/TechnicalStructureTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/client/AuthorizationHeaderUtilTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/config/AsyncSyncConfiguration.kt": { "stateCleared": "modified", }, @@ -14681,9 +13904,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, @@ -14738,9 +13958,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/oauth2/AudienceValidatorTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtilTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/service/UserServiceIT.kt": { "stateCleared": "modified", }, @@ -14762,9 +13979,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -14816,9 +14030,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -14950,18 +14161,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -14983,9 +14182,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -15013,6 +14209,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -15034,15 +14236,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -15133,9 +14326,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -15178,9 +14368,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -15217,9 +14404,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -15400,9 +14584,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -15495,21 +14676,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -15519,9 +14688,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -15555,12 +14721,18 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/AuthorizationHeaderUtil.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/AuthorizedFeignClient.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/client/OAuth2InterceptedFeignConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/OAuthIdpTokenResponseDTO.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/TokenRelayRequestInterceptor.kt": { "stateCleared": "modified", }, @@ -15594,9 +14766,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -15606,9 +14775,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -15687,15 +14853,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtil.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/OAuthIdpTokenResponseDTO.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -15741,9 +14898,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -15774,9 +14928,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -15825,6 +14976,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/TechnicalStructureTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/client/AuthorizationHeaderUtilTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/config/AsyncSyncConfiguration.kt": { "stateCleared": "modified", }, @@ -15840,9 +14994,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SpringBootTestClassOrderer.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestSecurityConfiguration.kt": { "stateCleared": "modified", }, @@ -15885,9 +15036,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/oauth2/AudienceValidatorTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtilTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/service/UserServiceIT.kt": { "stateCleared": "modified", }, @@ -15909,9 +15057,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -15960,9 +15105,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -16103,18 +15245,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -16124,9 +15254,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -16157,6 +15284,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -16178,15 +15311,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -16277,9 +15401,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -16322,9 +15443,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -16361,9 +15479,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -16562,9 +15677,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -16666,30 +15778,15 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -16723,12 +15820,18 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/AuthorizationHeaderUtil.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/AuthorizedFeignClient.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/client/OAuth2InterceptedFeignConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/client/OAuthIdpTokenResponseDTO.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/client/TokenRelayRequestInterceptor.kt": { "stateCleared": "modified", }, @@ -16762,9 +15865,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -16774,9 +15874,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -16861,15 +15958,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtil.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/oauth2/OAuthIdpTokenResponseDTO.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -16927,9 +16015,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -16960,9 +16045,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -17056,33 +16138,15 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/TechnicalStructureTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/tech/jhipster/client/AuthorizationHeaderUtilTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/tech/jhipster/config/AsyncSyncConfiguration.kt": { "stateCleared": "modified", }, @@ -17101,9 +16165,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/config/SqlTestContainersSpringContextCustomizerFactory.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/config/StaticResourcesWebConfigurerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/config/TestSecurityConfiguration.kt": { "stateCleared": "modified", }, @@ -17155,9 +16216,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/security/oauth2/AudienceValidatorTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/oauth2/AuthorizationHeaderUtilTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/service/UserServiceIT.kt": { "stateCleared": "modified", }, @@ -17179,9 +16237,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -17236,9 +16291,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -17364,18 +16416,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -17385,9 +16425,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -17418,6 +16455,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -17439,18 +16482,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -17529,9 +16563,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/repository/AnotherSimpleSqlHelper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/repository/AuthorityRepository.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/repository/CriteriaAndDtoRepository.kt": { "stateCleared": "modified", }, @@ -17619,9 +16650,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -17664,9 +16692,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/filter/SpaWebFilter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, @@ -17703,9 +16728,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -17793,27 +16815,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -17961,9 +16962,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > micro "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -18083,24 +17081,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -18149,9 +17132,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -18161,6 +17141,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -18242,15 +17225,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -18308,13 +17282,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -18335,9 +17312,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -18524,13 +17498,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/MailServiceIT.kt": { @@ -18554,7 +17531,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -18578,9 +17555,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -18623,9 +17597,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -18781,27 +17752,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/cassandra/scripts/execute-cql.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -18820,31 +17776,31 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { + "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/Constants.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { + "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { + "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { @@ -18859,6 +17815,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -18919,12 +17878,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -18964,6 +17917,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -18982,9 +17938,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -19135,13 +18088,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -19150,12 +18106,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/dto/CriteriaAndDtoRestTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -19177,9 +18142,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -19207,9 +18169,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -19320,27 +18279,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -19392,9 +18336,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -19404,6 +18345,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -19494,15 +18438,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -19560,13 +18495,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -19587,9 +18528,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -19710,27 +18648,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -19797,13 +18714,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/MailServiceIT.kt": { @@ -19833,7 +18753,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -19857,9 +18780,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -19902,9 +18822,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -20066,27 +18983,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -20108,6 +19010,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -20129,15 +19037,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -20150,6 +19049,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -20216,12 +19118,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -20261,6 +19157,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -20279,9 +19178,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -20357,27 +19253,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -20441,13 +19316,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -20462,12 +19340,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -20489,9 +19376,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -20519,9 +19403,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -20611,18 +19492,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -20638,9 +19507,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -20686,9 +19552,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -20698,6 +19561,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -20788,15 +19654,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -20854,13 +19711,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -20881,9 +19744,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -21019,13 +19879,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/MailServiceIT.kt": { @@ -21055,7 +19918,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -21079,9 +19945,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -21121,9 +19984,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -21270,18 +20130,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -21303,9 +20151,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -21327,6 +20172,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -21351,15 +20202,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -21372,6 +20214,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -21435,12 +20280,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -21480,6 +20319,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -21498,9 +20340,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -21621,13 +20460,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -21642,12 +20484,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -21669,9 +20520,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -21702,9 +20550,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -21794,24 +20639,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -21860,9 +20690,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -21872,6 +20699,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -21965,15 +20795,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -22031,13 +20852,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -22058,9 +20885,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -22148,27 +20972,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -22235,13 +21038,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/MailServiceIT.kt": { @@ -22271,7 +21077,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -22295,9 +21104,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -22337,9 +21143,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -22486,18 +21289,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -22507,9 +21298,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -22534,6 +21322,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -22558,15 +21352,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -22579,6 +21364,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -22642,12 +21430,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -22687,6 +21469,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -22705,9 +21490,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -22762,27 +21544,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -22846,13 +21607,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -22867,12 +21631,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -22894,9 +21667,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -22924,9 +21694,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -23031,27 +21798,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -23109,9 +21861,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -23121,6 +21870,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -23220,15 +21972,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/tech/jhipster/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -23298,13 +22041,19 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -23325,9 +22074,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/UserResource.kt": { "stateCleared": "modified", }, @@ -23556,13 +22302,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/tech/jhipster/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/service/MailServiceIT.kt": { @@ -23592,7 +22341,10 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -23616,9 +22368,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/UserResourceIT.kt": { "stateCleared": "modified", }, @@ -23673,9 +22422,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -23819,27 +22565,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -23864,6 +22595,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -23885,18 +22622,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -23909,6 +22637,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -24044,12 +22775,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/SecurityUtils.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -24089,6 +22814,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthenticateController.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -24107,9 +22835,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/SimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/UserJWTController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -24272,13 +22997,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/service/dto/AnotherSimpleRestTest.kt": { @@ -24293,12 +23021,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthenticateControllerIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -24320,9 +23057,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/web/rest/TestUtil.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/web/rest/UserJWTControllerIT.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -24353,9 +23087,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -24478,18 +23209,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -24499,9 +23218,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -24559,9 +23275,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -24646,9 +23359,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/oauth2/CustomClaimConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -24694,6 +23404,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/filter/OAuth2RefreshTokensWebFilter.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, @@ -24703,9 +23416,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -24739,9 +23449,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -24820,27 +23527,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/CassandraKeyspaceIT.kt": { "stateCleared": "modified", }, @@ -24931,9 +23617,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -24985,9 +23668,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -25149,18 +23829,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -25170,9 +23838,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -25200,6 +23865,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -25221,15 +23892,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -25311,9 +23973,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -25407,9 +24066,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -25488,27 +24144,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/CassandraKeyspaceIT.kt": { "stateCleared": "modified", }, @@ -25593,6 +24228,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -25656,9 +24297,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -25766,27 +24404,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -25838,9 +24461,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -25946,9 +24566,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/oauth2/CustomClaimConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -25994,6 +24611,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/filter/OAuth2RefreshTokensWebFilter.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, @@ -26003,7 +24623,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -26039,9 +24659,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/websocket/ActivityService.kt": { "stateCleared": "modified", }, @@ -26120,27 +24737,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -26237,7 +24833,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -26288,9 +24884,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -26443,18 +25036,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -26467,9 +25048,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -26497,6 +25075,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -26521,15 +25105,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -26623,9 +25198,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -26683,6 +25255,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -26719,9 +25294,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -26800,27 +25372,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -26911,12 +25462,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -26974,9 +25534,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -27084,18 +25641,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -27114,9 +25659,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -27171,9 +25713,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -27279,9 +25818,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/oauth2/CustomClaimConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -27327,6 +25863,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/filter/OAuth2RefreshTokensWebFilter.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, @@ -27336,7 +25875,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -27372,9 +25911,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/web/websocket/ActivityService.kt": { "stateCleared": "modified", }, @@ -27510,7 +26046,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -27564,9 +26100,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -27698,18 +26231,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -27731,9 +26252,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -27758,6 +26276,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -27779,15 +26303,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -27881,9 +26396,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -27941,6 +26453,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -27977,9 +26492,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -28106,12 +26618,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -28169,9 +26690,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -28279,27 +26797,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -28357,9 +26860,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -28456,9 +26956,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/oauth2/CustomClaimConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -28504,6 +27001,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/filter/OAuth2RefreshTokensWebFilter.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, @@ -28513,7 +27013,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -28549,9 +27049,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -28696,7 +27193,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -28753,9 +27250,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/tech/jhipster/cucumber/gitkeep": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -28884,18 +27378,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -28905,9 +27387,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -28935,6 +27414,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -28956,15 +27441,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -29058,9 +27534,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -29118,6 +27591,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -29154,9 +27630,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -29280,12 +27753,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -29340,9 +27822,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -29438,27 +27917,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -29516,9 +27980,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -29621,9 +28082,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/security/oauth2/CustomClaimConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -29681,6 +28139,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/filter/OAuth2RefreshTokensWebFilter.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, @@ -29690,7 +28151,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -29726,9 +28187,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -29915,7 +28373,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -29972,9 +28430,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -30118,18 +28573,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/central-server-config/localhost-config/application.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jhipster-registry.yml": { "stateCleared": "modified", }, @@ -30142,9 +28585,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -30175,6 +28615,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -30199,18 +28645,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -30292,9 +28729,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/repository/AnotherSimpleSqlHelper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/repository/AuthorityRepository.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/repository/CriteriaAndDtoRepository.kt": { "stateCleared": "modified", }, @@ -30382,9 +28816,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/service/AnotherSimpleService.kt": { "stateCleared": "modified", }, @@ -30442,6 +28873,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/web/rest/CriteriaAndDtoResource.kt": { "stateCleared": "modified", }, @@ -30478,9 +28912,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/web/rest/errors/FieldErrorVM.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/web/rest/vm/ManagedUserVM.kt": { - "stateCleared": "modified", - }, "src/main/resources/banner.txt": { "stateCleared": "modified", }, @@ -30667,12 +29098,21 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -30736,9 +29176,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -30852,24 +29289,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/cassandra/scripts/execute-cql.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -30915,9 +29337,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -31065,13 +29484,13 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -31281,9 +29700,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { "stateCleared": "modified", }, @@ -31344,9 +29760,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -31508,27 +29921,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -31550,31 +29948,31 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { + "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/AsyncConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/CRLFLogConverter.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/Constants.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { + "src/main/kotlin/com/mycompany/config/DatabaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { + "src/main/kotlin/com/mycompany/config/DateTimeFormatConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { + "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { @@ -31859,6 +30257,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/dto/CriteriaAndDtoDTOTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -31916,9 +30320,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -32026,24 +30427,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -32089,9 +30475,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -32260,13 +30643,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -32488,7 +30874,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -32551,9 +30937,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -32709,27 +31092,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -32751,6 +31119,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -32772,15 +31146,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -33060,6 +31425,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -33117,9 +31488,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -33209,18 +31577,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -33236,9 +31592,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -33284,9 +31637,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -33455,13 +31805,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -33653,7 +32006,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -33719,9 +32072,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -33868,18 +32218,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -33898,9 +32236,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -33922,6 +32257,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -33943,15 +32284,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -34198,6 +32530,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -34252,9 +32590,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -34350,24 +32685,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -34416,9 +32736,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -34578,13 +32895,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -34683,27 +33003,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/tech/jhipster/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -34794,7 +33093,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -34857,9 +33156,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -35003,27 +33299,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/neo4j.yml": { "stateCleared": "modified", }, @@ -35048,6 +33329,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -35069,15 +33356,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -35258,27 +33536,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/gatling/conf/logback.xml": { "stateCleared": "modified", }, - "src/test/gatling/user-files/simulations/AnotherSimpleGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/CriteriaAndDtoGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithCustomIdGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/EntityWithEnumGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/MicroserviceGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/RelationshipWithBagRelationshipGatlingTest.scala": { - "stateCleared": "modified", - }, - "src/test/gatling/user-files/simulations/SimpleGatlingTest.scala": { - "stateCleared": "modified", - }, "src/test/kotlin/com/mycompany/IntegrationTest.kt": { "stateCleared": "modified", }, @@ -35351,6 +33608,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -35405,9 +33668,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -35497,24 +33757,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -35566,9 +33811,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/tech/jhipster/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -35746,13 +33988,16 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/tech/jhipster/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/tech/jhipster/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/tech/jhipster/web/rest/AccountResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/AnotherSimpleResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/tech/jhipster/web/rest/ClientForwardController.kt": { + "src/main/kotlin/tech/jhipster/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResource.kt": { @@ -36010,7 +34255,7 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/tech/jhipster/web/rest/AnotherSimpleResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/tech/jhipster/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/tech/jhipster/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/tech/jhipster/web/rest/CriteriaAndDtoResourceIT.kt": { @@ -36085,9 +34330,6 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -36237,27 +34479,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/kafka.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -36282,6 +34509,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/aop/logging/LoggingAspect.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/broker/KafkaConsumer.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/broker/KafkaProducer.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/config/ApplicationProperties.kt": { "stateCleared": "modified", }, @@ -36303,18 +34536,9 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/main/kotlin/com/mycompany/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/KafkaSseConsumer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/config/KafkaSseProducer.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -36684,6 +34908,12 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/kotlin/com/mycompany/service/mapper/CriteriaAndDtoMapperTest.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/mycompany/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, @@ -36741,8 +34971,5 @@ exports[`Matrix test of SubGenerator kotlin of kotlin JHipster blueprint > monol "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; diff --git a/generators/spring-boot/generator.js b/generators/spring-boot/generator.js index b29f84823..b6c17d97c 100644 --- a/generators/spring-boot/generator.js +++ b/generators/spring-boot/generator.js @@ -3,8 +3,10 @@ import { existsSync } from 'fs'; // Use spring-boot as parent due to this context in generators import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; import { createNeedleCallback } from 'generator-jhipster/generators/base/support'; +import { getEnumInfo } from 'generator-jhipster/generators/base-application/support'; import { convertToKotlinFile } from '../kotlin/support/files.js'; +import { SERVER_MAIN_SRC_KOTLIN_DIR } from '../kotlin/support/constants.js'; import { KOTLIN_TEST_SRC_DIR } from './kotlin-constants.js'; export default class extends BaseApplicationGenerator { @@ -20,7 +22,6 @@ export default class extends BaseApplicationGenerator { } async _postConstruct() { - await this.dependsOnJHipster('jhipster-kotlin:migration'); // Use _postConstruct so kotlin will be queued before jhipster:spring-boot dependencies await this.dependsOnJHipster('jhipster:java:bootstrap'); await this.dependsOnJHipster('jhipster-kotlin:kotlin'); @@ -35,9 +36,6 @@ export default class extends BaseApplicationGenerator { async composeDetekt() { await this.composeWithJHipster('jhipster-kotlin:detekt'); }, - async composeSpringBootV2() { - await this.composeWithJHipster('jhipster-kotlin:spring-boot-v2'); - }, }); } @@ -189,6 +187,42 @@ export default class extends BaseApplicationGenerator { }); } + get [BaseApplicationGenerator.WRITING_ENTITIES]() { + return this.asWritingEntitiesTaskGroup({ + // Can be dropped for jhipster 8.7.0 + async writeEnumFiles({ application, entities }) { + for (const entity of entities.filter(entity => !entity.skipServer)) { + for (const field of entity.fields.filter(field => field.fieldIsEnum)) { + const enumInfo = { + ...application, + ...getEnumInfo(field, entity.clientRootFolder), + frontendAppName: entity.frontendAppName, + packageName: application.packageName, + javaPackageSrcDir: application.javaPackageSrcDir, + entityJavaPackageFolder: entity.entityJavaPackageFolder, + entityAbsolutePackage: entity.entityAbsolutePackage || application.packageName, + }; + await this.writeFiles({ + blocks: [ + { + templates: [ + { + file: `${SERVER_MAIN_SRC_KOTLIN_DIR}_package_/_entityPackage_/domain/enumeration/_enumName_.kt`, + renameTo: () => + `${SERVER_MAIN_SRC_KOTLIN_DIR}${entity.entityAbsoluteFolder}/domain/enumeration/${field.fieldType}.kt`, + }, + ], + }, + ], + rootTemplatesPath: ['../../spring-boot/templates/domain/'], + context: enumInfo, + }); + } + } + }, + }); + } + get [BaseApplicationGenerator.POST_WRITING]() { return this.asPostWritingTaskGroup({ async customizeMaven({ application, source }) { diff --git a/generators/spring-boot/templates/feign-client/src/test/kotlin/_package_/client/AuthorizationHeaderUtilTest.kt.ejs b/generators/spring-boot/templates/feign-client/src/test/kotlin/_package_/client/AuthorizationHeaderUtilTest.kt.ejs index 27940e606..d0203f41b 100644 --- a/generators/spring-boot/templates/feign-client/src/test/kotlin/_package_/client/AuthorizationHeaderUtilTest.kt.ejs +++ b/generators/spring-boot/templates/feign-client/src/test/kotlin/_package_/client/AuthorizationHeaderUtilTest.kt.ejs @@ -18,12 +18,22 @@ This file is part of the JHipster project, see https://jhipster.github.io/ -%> package <%= packageName %>.security.oauth2 +import org.junit.jupiter.api.Assertions.fail +import org.mockito.ArgumentMatchers.* +import org.mockito.Mockito.* + +import java.time.Duration +import java.time.Instant +import java.util.List +import java.util.Map +import java.util.Optional import org.assertj.core.api.Assertions import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith import org.mockito.InjectMocks import org.mockito.Mock -import org.mockito.MockitoAnnotations +import org.mockito.junit.jupiter.MockitoExtension import org.springframework.boot.web.client.RestTemplateBuilder import org.springframework.http.RequestEntity import org.springframework.http.ResponseEntity @@ -44,17 +54,10 @@ import org.springframework.security.oauth2.server.resource.authentication.JwtAut import org.springframework.web.client.ResponseErrorHandler import org.springframework.web.client.RestTemplate -import java.time.Duration -import java.time.Instant -import java.util.Optional - -import org.junit.jupiter.api.Assertions.fail -import org.mockito.ArgumentMatchers.* -import org.mockito.Mockito.* - /** * Test class for the [AuthorizationHeaderUtil] utility class. */ +@ExtendWith(MockitoExtension::class) class AuthorizationHeaderUtilTest { companion object { @@ -69,12 +72,7 @@ class AuthorizationHeaderUtilTest { @BeforeEach fun setup() { - MockitoAnnotations.openMocks(this) SecurityContextHolder.setContext(securityContext) - - doReturn(restTemplateBuilder).`when`(restTemplateBuilder).additionalMessageConverters(any(HttpMessageConverter::class.java)) - doReturn(restTemplateBuilder).`when`(restTemplateBuilder).errorHandler(any(ResponseErrorHandler::class.java)) - doReturn(restTemplateBuilder).`when`(restTemplateBuilder).basicAuthentication(anyString(), anyString()) } @Test @@ -102,10 +100,8 @@ class AuthorizationHeaderUtilTest { @Test fun getAuthorizationHeader_OAuth2Authentication_InvalidClient() { val oauth2Token = getTestOAuth2AuthenticationToken("INVALID") - val authorizedClient = getTestOAuth2AuthorizedClient() doReturn(oauth2Token).`when`(securityContext).authentication - doReturn(authorizedClient).`when`(clientService).loadAuthorizedClient(eq(VALID_REGISTRATION_ID), eq(SUB_VALUE)) Assertions.assertThatThrownBy { authorizationHeaderUtil.getAuthorizationHeader() @@ -126,6 +122,11 @@ class AuthorizationHeaderUtilTest { @Test fun getAuthorizationHeader_OAuth2Authentication_RefreshToken() { + + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).additionalMessageConverters(any(HttpMessageConverter::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).errorHandler(any(ResponseErrorHandler::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).basicAuthentication(anyString(), anyString()) + val oauth2Token = getTestOAuth2AuthenticationToken(VALID_REGISTRATION_ID) val authorizedClient = getTestOAuth2AuthorizedClient(true) @@ -143,6 +144,11 @@ class AuthorizationHeaderUtilTest { @Test fun getAuthorizationHeader_OAuth2Authentication_RefreshToken_NoRefreshToken() { + + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).additionalMessageConverters(any(HttpMessageConverter::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).errorHandler(any(ResponseErrorHandler::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).basicAuthentication(anyString(), anyString()) + val oauth2Token = getTestOAuth2AuthenticationToken(VALID_REGISTRATION_ID) val authorizedClient = getTestOAuth2AuthorizedClient(true) @@ -160,6 +166,11 @@ class AuthorizationHeaderUtilTest { @Test fun getAuthorizationHeader_OAuth2Authentication_RefreshTokenFails() { + + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).additionalMessageConverters(any(HttpMessageConverter::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).errorHandler(any(ResponseErrorHandler::class.java)) + doReturn(restTemplateBuilder).`when`(restTemplateBuilder).basicAuthentication(anyString(), anyString()) + val oauth2Token = getTestOAuth2AuthenticationToken(VALID_REGISTRATION_ID) val authorizedClient = getTestOAuth2AuthorizedClient(true) @@ -196,7 +207,7 @@ class AuthorizationHeaderUtilTest { .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .clientId("web-app") .clientSecret("secret") - .redirectUriTemplate("/login/oauth2/code/oidc") + .redirectUri("/login/oauth2/code/oidc") .authorizationUri("http://localhost:8080/auth/realms/master/protocol/openid-connect/auth") .tokenUri("https://localhost:8080/auth/realms/master/protocol/openid-connect/token") .build(), diff --git a/generators/spring-boot/templates/gateway/src/main/kotlin/_package_/security/jwt/JWTRelayGatewayFilterFactory.kt.ejs b/generators/spring-boot/templates/gateway/src/main/kotlin/_package_/security/jwt/JWTRelayGatewayFilterFactory.kt.ejs index a937a3dc8..ec2378216 100644 --- a/generators/spring-boot/templates/gateway/src/main/kotlin/_package_/security/jwt/JWTRelayGatewayFilterFactory.kt.ejs +++ b/generators/spring-boot/templates/gateway/src/main/kotlin/_package_/security/jwt/JWTRelayGatewayFilterFactory.kt.ejs @@ -18,40 +18,41 @@ -%> package <%= packageName %>.security.jwt +import org.springframework.http.HttpHeaders.AUTHORIZATION + import org.springframework.cloud.gateway.filter.GatewayFilter import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory -import org.springframework.http.server.reactive.ServerHttpRequest +import org.springframework.security.oauth2.jwt.ReactiveJwtDecoder import org.springframework.stereotype.Component import org.springframework.util.StringUtils -import <%= packageName %>.security.jwt.JWTFilter.Companion.AUTHORIZATION_HEADER +import org.springframework.web.server.ServerWebExchange @Component -class JWTRelayGatewayFilterFactory(private val tokenProvider: TokenProvider) : AbstractGatewayFilterFactory() { +class JWTRelayGatewayFilterFactory(private val jwtDecoder: ReactiveJwtDecoder) : AbstractGatewayFilterFactory() { + companion object { + const val BEARER: String = "Bearer " + } override fun apply(config: Any) = GatewayFilter { exchange, chain -> - if(exchange != null) { - val token = extractJWTToken(exchange.request) - if(token != null && StringUtils.hasText(token) && tokenProvider.validateToken(token)) { - val request = exchange.request.mutate() - .header(AUTHORIZATION_HEADER, "Bearer $token") - .build() - return@GatewayFilter chain.filter(exchange.mutate().request(request).build()) - } - + val bearerToken = exchange.request.headers.getFirst(AUTHORIZATION) + if (bearerToken == null) { + // Allow anonymous requests. + chain.filter(exchange) } - chain.filter(exchange) + val token = this.extractToken(bearerToken) + jwtDecoder.decode(token).thenReturn(withBearerAuth(exchange, token)).flatMap(chain::filter) } - private fun extractJWTToken(request: ServerHttpRequest): String? { - val bearerToken = request.headers.getFirst(AUTHORIZATION_HEADER) - if (bearerToken == null) { - return null - } + private fun extractToken(bearerToken: String): String { if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) { return bearerToken.substring(7) } throw IllegalArgumentException("Invalid token in Authorization header") } + + private fun withBearerAuth(exchange: ServerWebExchange, authorizeToken: String): ServerWebExchange{ + return exchange.mutate().request(r -> r.headers(headers -> headers.setBearerAuth(authorizeToken))).build() + } } diff --git a/generators/spring-boot/templates/kafka/src/test/kotlin/_package_/config/KafkaTestContainer.kt.ejs b/generators/spring-boot/templates/kafka/src/test/kotlin/_package_/config/KafkaTestContainer.kt.ejs index db39544f6..e187b7cde 100644 --- a/generators/spring-boot/templates/kafka/src/test/kotlin/_package_/config/KafkaTestContainer.kt.ejs +++ b/generators/spring-boot/templates/kafka/src/test/kotlin/_package_/config/KafkaTestContainer.kt.ejs @@ -32,7 +32,7 @@ class KafkaTestContainer: InitializingBean, DisposableBean { private val log = LoggerFactory.getLogger(KafkaTestContainer::class.java) @JvmStatic - private var kafkaContainer: KafkaContainer = KafkaContainer(DockerImageName.parse("<%= DOCKER_KAFKA %>")) + private var kafkaContainer: KafkaContainer = KafkaContainer(DockerImageName.parse("<%= dockerContainers.kafka %>")) .withLogConsumer(Slf4jLogConsumer(log)) .withReuse(true) } diff --git a/generators/spring-boot/templates/pom.xml.ejs b/generators/spring-boot/templates/pom.xml.ejs deleted file mode 100644 index 07876c9ee..000000000 --- a/generators/spring-boot/templates/pom.xml.ejs +++ /dev/null @@ -1,771 +0,0 @@ -<%# - Copyright 2013-2025 the original author or authors from the JHipster project. - - This file is part of the JHipster project, see https://www.jhipster.tech/ - for more information. - - Licensed under the Apache License, Version 2.0 (the "License") - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --%> - - - 4.0.0 - - <%= packageName %> - <%= dasherizedBaseName %> - <%= projectVersion %> - jar - <%= humanizedBaseName %> - <%= projectDescription %> - - - - 3.2.5 - <%= JAVA_VERSION %> - UTF-8 - UTF-8 - yyyyMMddHHmmss - ${java.version} - ${java.version} - <%= packageName %>.<%= mainClass %> - -Djava.security.egd=file:/dev/./urandom -Xmx1G - jdt_apt - false - - - - - -<%_ if (reactive) { _%> - <%- javaDependencies['blockhound-junit-platform'] %> -<%_ } _%> - <%- javaDependencies['archunit-junit5'] %> - <%- javaDependencies.mapstruct %> - <%- javaDependencies['git-commit-id-maven-plugin'] %> - <%- javaDependencies['lifecycle-mapping'] %> - <%- javaDependencies['maven-clean-plugin'] %> - <%- javaDependencies['maven-compiler-plugin'] %> - <%- javaDependencies['maven-enforcer-plugin'] %> - <%- javaDependencies['maven-failsafe-plugin'] %> - <%- javaDependencies['maven-javadoc-plugin'] %> - <%- javaDependencies['maven-jar-plugin'] %> - <%- javaDependencies['maven-resources-plugin'] %> - <%- javaDependencies['maven-site-plugin'] %> - <%- javaDependencies['maven-surefire-plugin'] %> - <%- javaDependencies['maven-war-plugin'] %> - - - - - com.fasterxml.jackson.datatype - jackson-datatype-hppc - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - -<%_ if (authenticationTypeOauth2) { _%> - - com.github.ben-manes.caffeine - caffeine - -<%_ } _%> - - com.tngtech.archunit - archunit-junit5-api - ${archunit-junit5.version} - test - - - - - com.tngtech.archunit - archunit-junit5-engine - ${archunit-junit5.version} - test - - - io.micrometer - micrometer-registry-prometheus-simpleclient - -<%_ if (reactive) { _%> - - io.netty - netty-tcnative-boringssl-static - runtime - - - io.projectreactor.tools - blockhound-junit-platform - ${blockhound-junit-platform.version} - test - -<%_ } _%> - - jakarta.annotation - jakarta.annotation-api - - - org.apache.commons - commons-lang3 - - - org.mapstruct - mapstruct - ${mapstruct.version} - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - provided - - - org.springframework.boot - spring-boot-configuration-processor - provided - - - org.springframework.boot - spring-boot-loader-tools - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-logging - - - org.springframework.boot - spring-boot-starter-mail - -<%_ if (authenticationTypeOauth2) { _%> - - org.springframework.boot - spring-boot-starter-oauth2-client - -<%_ } _%> -<%_ if (authenticationTypeJwt || authenticationTypeSession) { _%> - - org.springframework.boot - spring-boot-starter-security - -<%_ } _%> - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-thymeleaf - -<%_ if (!reactive) { _%> - - org.springframework.boot - spring-boot-starter-undertow - -<%_ } _%> - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-web<% if (reactive) { %>flux<% } %> -<%_ if (!reactive) { _%> - - - org.springframework.boot - spring-boot-starter-tomcat - - -<%_ } _%> - - - org.springframework.boot - spring-boot-test - test - -<%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%> - - org.springframework.cloud - spring-cloud-starter - -<%_ } _%> -<%_ if (serviceDiscoveryAny) { _%> - - org.springframework.cloud - spring-cloud-starter-bootstrap - -<%_ } _%> -<%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%> - <%_ if (reactive) { _%> - - org.springframework.cloud - spring-cloud-starter-circuitbreaker-reactor-resilience4j - - <%_ } else { _%> - - org.springframework.cloud - spring-cloud-starter-circuitbreaker-resilience4j - - <%_ } _%> -<%_ } _%> -<%_ if (serviceDiscoveryAny && serviceDiscoveryEureka) { _%> - - org.springframework.cloud - spring-cloud-starter-config - -<%_ } _%> -<%_ if (applicationTypeGateway && !reactive) { _%> - - org.springframework.cloud - spring-cloud-starter-loadbalancer - -<%_ } _%> -<%_ if (serviceDiscoveryAny && serviceDiscoveryConsul) { _%> - - org.springframework.cloud - spring-cloud-starter-consul-config - - - org.springframework.cloud - spring-cloud-starter-consul-discovery - -<%_ } _%> -<%_ if (serviceDiscoveryAny && serviceDiscoveryEureka) { _%> - - org.springframework.cloud - spring-cloud-starter-netflix-eureka-client - -<%_ } _%> -<%_ if (reactive) { _%> - - org.springframework.data - spring-data-commons - -<%_ } _%> -<%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%> - - org.springframework.retry - spring-retry - -<%_ } _%> - - org.springframework.security - spring-security-test - test - - - - - spring-boot:run - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin - - - org.apache.maven.plugins - maven-enforcer-plugin - - - org.apache.maven.plugins - maven-failsafe-plugin - - - org.apache.maven.plugins - maven-resources-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.springframework.boot - spring-boot-maven-plugin - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${java.version} - ${java.version} - true - - - org.springframework.boot - spring-boot-configuration-processor - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - ${maven.compiler.source} - - - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - - default-war - - war - - package - - - - WEB-INF/**,META-INF/** - false -<%_ if (!skipClient) { _%> - <%= clientDistDir %> - - - <%= MAIN_DIR %>webapp - - WEB-INF/** - - - -<%_ } _%> - - - - io.github.git-commit-id - git-commit-id-maven-plugin - ${git-commit-id-maven-plugin.version} - - - - revision - - - - - false - false - true - - ^git.commit.id.abbrev$ - ^git.commit.id.describe$ - ^git.branch$ - - - - - org.apache.maven.plugins - maven-clean-plugin - ${maven-clean-plugin.version} - - - org.apache.maven.plugins - maven-site-plugin - ${maven-site-plugin.version} - - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - - - enforce-versions - - enforce - - - - enforce-dependencyConvergence - - - - - false - - - enforce - - - - - - - You are running an older version of Maven. JHipster requires at least Maven ${maven.version} - [${maven.version},) - - - You are running an incompatible version of Java. JHipster supports JDK <%= JAVA_COMPATIBLE_VERSIONS[0] %> to <%= JAVA_COMPATIBLE_VERSIONS[JAVA_COMPATIBLE_VERSIONS.length -1] %>. - <%= JAVA_COMPATIBLE_VERSIONS.map(version => parseInt(version)).map(version => `[${version},${version +1})`).join(',') %> - - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - alphabetical - - **/*IT* - **/*IntTest* - -<%_ if (reactive) { _%> - - @{argLine} -XX:+AllowRedefinitionToAddDeleteMethods -<%_ } _%> - - src/test/resources/logback.xml - - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - ${start-class} -<%_ if (embeddableLaunchScript) { _%> - true -<%_ } _%> - -<%_ if (cacheProviderInfinispan) { _%> - -Djgroups.tcp.address=NON_LOOPBACK -Djava.net.preferIPv4Stack=true -<%_ } _%> - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${maven-failsafe-plugin.version} - - - ${project.build.outputDirectory} - - alphabetical - - **/*IT* - **/*IntTest* - -<%_ if (reactive) { _%> - - @{argLine} -XX:+AllowRedefinitionToAddDeleteMethods -Dspring.profiles.active=${profile.test} -<%_ } else { _%> - @{argLine} -Dspring.profiles.active=${profile.test} -<%_ } _%> - - - - integration-test - - integration-test - - - - verify - - verify - - - - - - - - - - api-docs - - ,api-docs - - - - tls - - ,tls - - -<%_ if (!skipClient) { _%> - - webapp - - true - - - - dev<%_ if (databaseMigrationLiquibase) { _%>${profile.no-liquibase}<%_ } _%> - - -<%_ } _%> - - dev - - true - - - - dev${profile.tls}<%_ if (databaseMigrationLiquibase) { _%>${profile.no-liquibase}<%_ } _%> - testdev - - - - org.springframework.boot - spring-boot-devtools - true - - - - - prod - - - prod${profile.api-docs}${profile.tls}${profile.e2e}<%_ if (databaseMigrationLiquibase) { _%>${profile.no-liquibase}<%_ } _%> - testprod - - - - - org.apache.maven.plugins - maven-clean-plugin - - - - <%= clientDistDir %> - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - build-info - - - - - - io.github.git-commit-id - git-commit-id-maven-plugin - - - - - - war - - - - org.apache.maven.plugins - maven-war-plugin - - - - -<%_ if (serviceDiscoveryAny || applicationTypeGateway || applicationTypeMicroservice) { _%> - - - zipkin - - - io.micrometer - micrometer-tracing - - - io.micrometer - micrometer-tracing-bridge-brave - - - io.zipkin.reporter2 - zipkin-reporter-brave - - - -<%_ } _%> - - - IDE - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - - - - - - eclipse - - - m2e.version - - - - - - org.springframework.boot - spring-boot-starter-undertow - - - - - - - - org.eclipse.m2e - lifecycle-mapping - ${lifecycle-mapping.version} - - - - - - org.jacoco - - jacoco-maven-plugin - - - ${jacoco-maven-plugin.version} - - - prepare-agent - - - - - - -<%_ if (!skipClient) { _%> - - - com.github.eirslett - frontend-maven-plugin - ${frontend-maven-plugin.version} - - install-node-and-npm - npm - - - - - - -<%_ } _%> -<%_ if (enableSwaggerCodegen) { _%> - - - org.openapitools - openapi-generator-maven-plugin - ${openapi-generator-maven-plugin.version} - - generate - - - - - - -<%_ } _%> - - - - - - - - -<%_ if (cypressTests) { _%> - - e2e - - ,e2e - - - e2e - - - - org.springframework.boot - spring-boot-maven-plugin - - - repackage - - repackage - - - - - - - - -<%_ } _%> - - diff --git a/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testdev.yml.ejs b/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testdev.yml.ejs deleted file mode 100644 index 0a7fdc74f..000000000 --- a/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testdev.yml.ejs +++ /dev/null @@ -1,93 +0,0 @@ -<%# - Copyright 2013-2025 the original author or authors from the JHipster project. - - This file is part of the JHipster project, see https://www.jhipster.tech/ - for more information. - - Licensed under the Apache License, Version 2.0 (the "License") - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --%> -# =================================================================== -# Spring Boot configuration. -# -# This configuration is used for unit/integration tests with testcontainers database containers. -# -# To activate this configuration launch integration tests with the 'testcontainers' profile -# -# More information on database containers: https://www.testcontainers.org/modules/databases/ -<%_ if (devDatabaseTypeMssql) { _%> -# -# You are required to accept EULA license for SQL server containers. -# Follow the instructions at https://www.testcontainers.org/modules/databases/mssqlserver/ -<%_ } _%> -<%_ if (devDatabaseTypeOracle) { _%> -# -# You have to specify an Oracle image name in a classpath file named testcontainers.properties. -# Follow the instructions at https://www.testcontainers.org/modules/databases/oraclexe/ -<%_ } _%> -# =================================================================== - -spring: -<%_ if (reactive) { _%> - <%_ if (devDatabaseTypeH2Any) { _%> - r2dbc: - <%_ if (devDatabaseTypeH2Memory) { _%> - url: <%- this.getR2DBCUrl(devDatabaseType, { databaseName: lowercaseBaseName, itests: true }) %> - <%_ } else { _%> - url: <%- this.getR2DBCUrl(devDatabaseType, { databaseName: lowercaseBaseName, localDirectory: `././${temporaryDir}h2db/testdb` }) %> - <%_ } _%> - username: <%= lowercaseBaseName %> - password: - liquibase: - <%_ if (devDatabaseTypeH2Memory) { _%> - url: <%- this.getJDBCUrl(devDatabaseType, { databaseName: lowercaseBaseName, itests: true }) %> - <%_ } else { _%> - url: <%- this.getJDBCUrl(devDatabaseType, { databaseName: lowercaseBaseName, localDirectory: `./${temporaryDir}h2db/testdb` }) %> - <%_ } _%> - <%_ } _%> -<%_ } else { _%> - datasource: - type: com.zaxxer.hikari.HikariDataSource - hikari: - auto-commit: false - <%_ if (!devDatabaseTypeH2Any) { _%> - poolName: Hikari - maximum-pool-size: 1 - <%_ if (devDatabaseTypeMysql || devDatabaseTypeMariadb || devDatabaseTypeMssql) { _%> - data-source-properties: - cachePrepStmts: true - prepStmtCacheSize: 250 - prepStmtCacheSqlLimit: 2048 - useServerPrepStmts: true - <%_ } _%> - <%_ } _%> - jpa: - <%_ if (devDatabaseTypePostgresql) { _%> - database-platform: tech.jhipster.domain.util.FixedPostgreSQL10Dialect - <%_ } _%> - open-in-view: false - hibernate: - ddl-auto: none - naming: - physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy - implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy - properties: - hibernate.id.new_generator_mappings: true - hibernate.connection.provider_disables_autocommit: true - hibernate.cache.use_second_level_cache: false - hibernate.cache.use_query_cache: false - hibernate.generate_statistics: false - hibernate.hbm2ddl.auto: validate - hibernate.jdbc.time_zone: UTC - hibernate.query.fail_on_pagination_over_collection_fetch: true -<%_ } _%> - diff --git a/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testprod.yml.ejs b/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testprod.yml.ejs deleted file mode 100644 index 099849987..000000000 --- a/generators/spring-boot/templates/spring-data-relational/src/test/resources/config/application-testprod.yml.ejs +++ /dev/null @@ -1,71 +0,0 @@ -<%# - Copyright 2013-2025 the original author or authors from the JHipster project. - - This file is part of the JHipster project, see https://www.jhipster.tech/ - for more information. - - Licensed under the Apache License, Version 2.0 (the "License") - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --%> -# =================================================================== -# Spring Boot configuration. -# -# This configuration is used for unit/integration tests with testcontainers database containers. -# -# To activate this configuration launch integration tests with the 'testcontainers' profile -# -# More information on database containers: https://www.testcontainers.org/modules/databases/ -<%_ if (prodDatabaseTypeMssql) { _%> -# -# You are required to accept EULA license for SQL server containers. -# Follow the instructions at https://www.testcontainers.org/modules/databases/mssqlserver/ -<%_ } _%> -<%_ if (prodDatabaseTypeOracle) { _%> -# -# You have to specify an Oracle image name in a classpath file named testcontainers.properties. -# Follow the instructions at https://www.testcontainers.org/modules/databases/oraclexe/ -<%_ } _%> -# =================================================================== - -spring: - datasource: - type: com.zaxxer.hikari.HikariDataSource - hikari: - poolName: Hikari - auto-commit: false - maximum-pool-size: 1 -<%_ if (prodDatabaseTypeMysql || prodDatabaseTypeMariadb || prodDatabaseTypeMssql) { _%> - data-source-properties: - cachePrepStmts: true - prepStmtCacheSize: 250 - prepStmtCacheSqlLimit: 2048 - useServerPrepStmts: true -<%_ } _%> - jpa: -<%_ if (prodDatabaseTypePostgresql) { _%> - database-platform: tech.jhipster.domain.util.FixedPostgreSQL10Dialect -<%_ } _%> - open-in-view: false - hibernate: - ddl-auto: none - naming: - physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy - implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy - properties: - hibernate.id.new_generator_mappings: true - hibernate.connection.provider_disables_autocommit: true - hibernate.cache.use_second_level_cache: false - hibernate.cache.use_query_cache: false - hibernate.generate_statistics: false - hibernate.hbm2ddl.auto: validate - hibernate.jdbc.time_zone: UTC - hibernate.query.fail_on_pagination_over_collection_fetch: true diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/UserService.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/UserService.kt.ejs index ea59e94e2..8730b08ca 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/UserService.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/UserService.kt.ejs @@ -24,7 +24,6 @@ import <%= packageName %>.config.SYSTEM_ACCOUNT import <%= packageName %>.domain.Authority <%_ } _%> <%_ if (!databaseTypeNo) { _%> -import <%= packageName %>.service.dto.<%= user.adminUserDto %> import <%= user.entityAbsoluteClass %> <%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%> import <%= packageName %>.repository.AuthorityRepository @@ -41,7 +40,10 @@ import <%= packageName %>.security.USER <%_ } _%> import <%= packageName %>.security.getCurrentUserLogin <%_ } _%> -import <%= packageName %>.service.dto.<%= user.restClass %> +import <%= packageName %>.service.dto.<%= user.adminUserDto %> +<%_ if (!databaseTypeNo) { _%> +import <%= packageName %>.service.dto.<%= user.dtoClass %> +<%_ } _%> <%_ if (!authenticationTypeOauth2) { _%> import tech.jhipster.security.RandomUtil <%_ } _%> @@ -150,7 +152,7 @@ class UserService<% if (!databaseTypeNo) { %>( userRepository.save(user) <%_ } _%> <%_ if (searchEngineElasticsearch) { _%> - userSearchRepository.save(user) + userSearchRepository.index(user) <%_ } _%> <%_ if (cacheProviderAny) { _%> clearUserCaches(user) @@ -514,11 +516,9 @@ class UserService<% if (!databaseTypeNo) { %>( .mapTo(managedAuthorities) { it.get() } } <%_ } _%> - <%_ if (databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase || databaseTypeCassandra) { _%> userRepository.save(user) - <%_ } _%> <%_ if (searchEngineElasticsearch) { _%> - userSearchRepository.save(user) + userSearchRepository.index(user) <%_ } _%> <%_ if (cacheProviderAny) { _%> clearUserCaches(user) @@ -551,7 +551,7 @@ class UserService<% if (!databaseTypeNo) { %>( userRepository.findOneByLogin(login).ifPresent { user -> userRepository.delete(user) <%_ if (searchEngineElasticsearch) { _%> - userSearchRepository.delete(user) + userSearchRepository.deleteFromIndex(user) <%_ } _%> <%_ if (cacheProviderAny) { _%> clearUserCaches(user) @@ -603,11 +603,9 @@ class UserService<% if (!databaseTypeNo) { %>( .doOnNext { log.debug("Changed Information for User: $it") } .then() <%_ } else { _%> - <%_ if (databaseTypeMongodb || databaseTypeCouchbase || databaseTypeNeo4j || databaseTypeCassandra) { _%> userRepository.save(it) - <%_ } _%> <%_ if (searchEngineElasticsearch) { _%> - userSearchRepository.save(it) + userSearchRepository.index(it) <%_ } _%> <%_ if (cacheProviderAny) { _%> clearUserCaches(it) @@ -711,8 +709,8 @@ class UserService<% if (!databaseTypeNo) { %>( <%_ if (databaseTypeSql) { _%> @Transactional(readOnly = true) <%_ } _%> - fun getAllPublicUsers(pageable: Pageable): <% if (reactive) { %>Flux<% } else { %>Page<% } %><<%= user.restClass %>> { - return userRepository.findAllBy<% if (!databaseTypeCouchbase) { %>IdNotNullAnd<% } %>ActivatedIsTrue(pageable).map { <%= user.restClass %>(it) } + fun getAllPublicUsers(pageable: Pageable): <% if (reactive) { %>Flux<% } else { %>Page<% } %><<%= user.dtoClass %>> { + return userRepository.findAllBy<% if (!databaseTypeCouchbase) { %>IdNotNullAnd<% } %>ActivatedIsTrue(pageable).map { <%= user.dtoClass %>(it) } } <%_ if (reactive) { _%> @@ -727,7 +725,7 @@ class UserService<% if (!databaseTypeNo) { %>( fun getAllPublicUsers() = userRepository.findAll() .filter { it.activated == true } - .map { <%= user.restClass %>(it) } + .map { <%= user.dtoClass %>(it) } <%_ } _%> <%_ if (databaseTypeSql) { _%> @@ -782,7 +780,7 @@ class UserService<% if (!databaseTypeNo) { %>( log.debug("Deleting not activated user ${user.login}") userRepository.delete(user) <%_ if (searchEngineElasticsearch) { _%> - userSearchRepository.delete(user) + userSearchRepository.deleteFromIndex(user) <%_ } _%> <%_ if (cacheProviderAny) { _%> clearUserCaches(user) @@ -844,7 +842,7 @@ class UserService<% if (!databaseTypeNo) { %>( .flatMap { existingUser -> // if IdP sends last updated information, use it to determine if an update should happen if (details["updated_at"] != null) { - val dbModifiedDate = existingUser.lastModifiedDate + val dbModifiedDate = existingUser.orElseThrow().lastModifiedDate val idpModifiedDate: Instant = if (details["updated_at"] is Instant) details["updated_at"] as Instant else Instant.ofEpochSecond(details["updated_at"] as Long) if (idpModifiedDate.isAfter(dbModifiedDate)) { log.debug("Updating user '${user.login}' in local database") diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.kt.ejs index aa1178617..00d3cbc26 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/service/impl/_entityClass_ServiceImpl.kt.ejs @@ -86,7 +86,7 @@ import org.elasticsearch.index.query.QueryBuilders.queryStringQuery @Service<% if (databaseTypeSql) { %> @Transactional<% } %> class <%= serviceClassName %>( - <%- include('../../_partials_entity_/inject_template', {asEntity, asDto, viaService: false, constructorName: serviceClassName, queryService: false, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: false, noReturn: false}); -%> + <%- include('../../_partials_entity_/inject_template', {viaService: false, constructorName: serviceClassName, queryService: false, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: false, noReturn: false}); -%> )<% if (serviceImpl) { %> : <%= entityClass %>Service<% } %> { private val log = LoggerFactory.getLogger(javaClass) @@ -101,7 +101,7 @@ class <%= serviceClassName %>( <%_ } _%> <% if (serviceImpl) { _%>override <% } %>fun save(<%= instanceName %>: <%= instanceType %>): <% if (reactive) { %>Mono<<% } %><%= instanceType %><% if (reactive) { %>><% } %> { log.debug("Request to save <%= entityClass %> : $<%= instanceName %>") -<%- include('/_global_partials_entity_/save_template', {asEntity, asDto, viaService: false, returnDirectly: true, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: false, isPersisted: false, noReturn: false}); -%> +<%- include('/_global_partials_entity_/save_template', {viaService: false, returnDirectly: true, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: false, isPersisted: false, noReturn: false}); -%> } <%_ if (!serviceImpl) { _%> @@ -127,7 +127,7 @@ class <%= serviceClassName %>( <%_ } _%> <% if (serviceImpl) { %>override <% } %>fun partialUpdate(<%= instanceName %>: <%= instanceType %>): <% if (reactive) { %>Mono<<% } else { %>Optional<<% } %><%= instanceType %>> { log.debug("Request to partially update <%= entityClass %> : {}", <%= instanceName %>) -<%- include('../../_partials_entity_/patch_template', {asEntity, asDto, isService: true, viaService: false}); -%> +<%- include('../../_partials_entity_/patch_template', {isService: true, viaService: false}); -%> } <%_ if (!serviceImpl) { _%> @@ -165,7 +165,7 @@ class <%= serviceClassName %>( <%= entityInstance %>Repository.findAllWithEagerRelationships(pageable)<% if (!dtoMapstruct) { %><% } else { %>.map(<%= entityToDtoReference %>)<% } %> <%_ } _%> -<%- include('../../_partials_entity_/get_filtered_template', {asEntity, asDto}); -%> +<%- include('../../_partials_entity_/get_filtered_template'); -%> <%_ if (reactive) { _%> <%_ if (!serviceImpl) { _%> /** @@ -198,7 +198,7 @@ class <%= serviceClassName %>( @Transactional(readOnly = true) <%_ } _%> <% if (serviceImpl) { %>override <% } %>fun findOne(id: <%= primaryKey.type %>): <%= optionalOrMono %><<%= instanceType %>> { - log.debug("Request to get <%= entityClass %> : $id")<%- include('../../_partials_entity_/get_template', {asEntity, asDto, viaService: false, returnDirectly:true, implementsEagerLoadApis}); -%> + log.debug("Request to get <%= entityClass %> : $id")<%- include('../../_partials_entity_/get_template', {viaService: false, returnDirectly:true, implementsEagerLoadApis}); -%> } <%_ if (!serviceImpl) { _%> diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/PublicUserResource.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/PublicUserResource.kt.ejs index 20a6af2e5..d62135350 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/PublicUserResource.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/PublicUserResource.kt.ejs @@ -33,7 +33,7 @@ import org.springframework.data.domain.Sort import java.util.Collections <%_ } _%> import <%= packageName %>.service.UserService -import <%= packageName %>.service.dto.<%= user.restClass %> +import <%= packageName %>.service.dto.<%= user.dtoClass %> <%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%> import tech.jhipster.web.util.PaginationUtil @@ -75,10 +75,7 @@ import java.util.Arrays import java.util.* <%_ } _%> <%_ if (searchEngineElasticsearch && !reactive) { _%> -import java.util.stream.Collectors import java.util.stream.StreamSupport - -import org.elasticsearch.index.query.QueryBuilders.* <%_ } _%> @RestController @@ -101,18 +98,20 @@ class PublicUserResource( private val log = LoggerFactory.getLogger(javaClass) /** - * {@code GET /users} : get all users with only the public informations - calling this are allowed for anyone. - *<% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %> - <%_ if (reactive) { _%> + * {@code GET /users} : get all users with only public information - calling this method is allowed for anyone. +<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%> + * + <%_ if (reactive) { _%> * @param request a {@link ServerHttpRequest} request. - <%_ } _%> - * @param pageable the pagination information.<% } %> + <%_ } _%> + * @param pageable the pagination information. +<%_ } _%> * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body all users. */ @GetMapping("/users") <%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%> <%_ if (reactive) { _%> - fun getAllPublicUsers(request: ServerHttpRequest, @org.springdoc.api.annotations.ParameterObject pageable: Pageable): Mono>>> { + fun getAllPublicUsers(request: ServerHttpRequest, @org.springdoc.core.annotations.ParameterObject pageable: Pageable): Mono>>> { log.debug("REST request to get all public User names") <%_ if (!authenticationTypeOauth2) { _%> if (!onlyContainsAllowedProperties(pageable)) { @@ -121,12 +120,12 @@ class PublicUserResource( <%_ } _%> return userService.countManagedUsers() - .map { PageImpl<<%= user.restClass %>>(listOf(), pageable, it) } + .map { PageImpl<<%= user.dtoClass %>>(listOf(), pageable, it) } .map { PaginationUtil.generatePaginationHttpHeaders(UriComponentsBuilder.fromHttpRequest(request), it) } .map { ResponseEntity.ok().headers(it).body(userService.getAllPublicUsers(pageable)) } } <%_ } else { _%> - fun getAllPublicUsers(@org.springdoc.api.annotations.ParameterObject pageable: Pageable): ResponseEntity>> { + fun getAllPublicUsers(@org.springdoc.core.annotations.ParameterObject pageable: Pageable): ResponseEntity>> { log.debug("REST request to get all public User names") <%_ if (!authenticationTypeOauth2) { _%> if (!onlyContainsAllowedProperties(pageable)) { @@ -152,33 +151,37 @@ class PublicUserResource( fun getAuthorities() = userService.getAuthorities()<% if (reactive) { %>.collectList()<% } %> <%_ } else { /* Cassandra */ _%> - fun getAllPublicUsers(): <% if (reactive) { %>Flux<% } else { %>List<% } %><<%= user.restClass %>> = userService.getAllPublicUsers() + fun getAllPublicUsers(): <% if (reactive) { %>Flux<% } else { %>List<% } %><<%= user.dtoClass %>> = userService.getAllPublicUsers() <%_ } _%> - <%_ if (!!searchEngine) { _%> + <%_ if (searchEngineAny) { _%> /** - * {@code SEARCH /_search/users/:query} : search for the User corresponding to the query. - * - * @param query the query to search. - * @return the result of the search. - */ - @GetMapping("/_search/users/{query}") - fun search(@PathVariable query: String): <% if(reactive) { %>MonoList<<%= user.restClass %>><% if(reactive) { %>><% } %> { - <%/* TODO fix this */%> + * {@code SEARCH /users/_search/:query} : search for the User corresponding to the query. + * + * @param query the query to search. + * @return the result of the search. + */ + @GetMapping("/users/_search/{query}") + fun search(@PathVariable query: String): <% if(reactive) { %>MonoList<<%= user.dtoClass %>><% if(reactive) { %>><% } %> { <%_ if (searchEngineElasticsearch) { _%> <%_ if (reactive) { _%> - return userSearchRepository.search(query).map { <%= user.restClass %>(it) }.collectList() + return userSearchRepository.search(query).map { <%= user.dtoClass %>(it) }.collectList() <%_ } else { _%> - return userSearchRepository.search(query).map { <%= user.restClass %>(it) } + return StreamSupport + .stream(userSearchRepository.search(query).spliterator(), false) + .map { <%= user.dtoClass %>(it) } + .toList() <%_ } _%> <%_ } else { _%> <%_ if (reactive) { _%> - return userRepository.search(query).map { <%= user.restClass %>(it) }.collectList() + return userRepository.search(query).map { <%= user.dtoClass %>(it) }.collectList() <%_ } else { _%> - return userRepository.search(query) - .map { <%= user.restClass %>(it) } + return StreamSupport + .stream(userRepository.search(query).spliterator(), false) + .map { <%= user.dtoClass %>(it) } + .toList(); <%_ } _%> <%_ } _%> } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/UserResource.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/UserResource.kt.ejs index b586fbe5e..bbe2a047d 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/UserResource.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/UserResource.kt.ejs @@ -259,7 +259,7 @@ class UserResource( <%_ if (reactive) { _%> fun getAllUsers( request: ServerHttpRequest, - @org.springdoc.api.annotations.ParameterObject pageable: Pageable + @org.springdoc.core.annotations.ParameterObject pageable: Pageable ): Mono>>> { log.debug("REST request to get all User for an admin") if (!onlyContainsAllowedProperties(pageable)) { @@ -272,7 +272,7 @@ class UserResource( .map { headers -> ResponseEntity.ok().headers(headers).body(userService.getAllManagedUsers(pageable)) } } <%_ } else { _%> - fun getAllUsers(@org.springdoc.api.annotations.ParameterObject pageable: Pageable): ResponseEntity>> { + fun getAllUsers(@org.springdoc.core.annotations.ParameterObject pageable: Pageable): ResponseEntity>> { log.debug("REST request to get all User for an admin") if (!onlyContainsAllowedProperties(pageable)) { return ResponseEntity.badRequest().build() diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/_entityClass_Resource.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/_entityClass_Resource.kt.ejs index 0bc6e2a10..3d3ad8a12 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/_entityClass_Resource.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/_entityPackage_/web/rest/_entityClass_Resource.kt.ejs @@ -185,7 +185,7 @@ _%><%- include('../../_partials_entity_/inject_template', {viaService: viaServic <%= instanceName %>.<%= field.fieldName %> = UUID.randomUUID() <%_ } _%> <%_ } _%> -<%- include('/_global_partials_entity_/save_template', {asEntity, asDto, viaService: viaService, returnDirectly: false, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: true, noReturn: false}); -%> +<%- include('/_global_partials_entity_/save_template', {viaService: viaService, returnDirectly: false, isUsingMapsId: isUsingMapsId, mapsIdAssoc: mapsIdAssoc, isController: true, noReturn: false}); -%> <%_ if (reactive) { _%> .map { result -> try { @@ -325,7 +325,7 @@ _%><%- include('../../_partials_entity_/inject_template', {viaService: viaServic <%_ } _%> <% } %> <%_ } _%> -<%- include('../../_partials_entity_/patch_template', {asEntity, asDto, isService: false, viaService: viaService}); -%> +<%- include('../../_partials_entity_/patch_template', {isService: false, viaService: viaService}); -%> <%_ if (reactive) { _%> result .switchIfEmpty(Mono.error(ResponseStatusException(HttpStatus.NOT_FOUND))) @@ -360,7 +360,7 @@ _%><%- include('../../_partials_entity_/inject_template', {viaService: viaServic */ @GetMapping("/<%= entityApiUrl %>")<%_ if (databaseTypeSql && isUsingMapsId&& !viaService) { %> @Transactional(readOnly = true)<%_ } _%> - <%- include('../../_partials_entity_/get_all_template', {asEntity, asDto, viaService}); -%> + <%- include('../../_partials_entity_/get_all_template', {viaService}); -%> <%_ if (reactive && paginationNo) { _%> /** @@ -392,7 +392,7 @@ _%><%- include('../../_partials_entity_/inject_template', {viaService: viaServic @Transactional(readOnly = true) <%_ } _%> fun get<%= entityClass %>(@PathVariable id: <%= primaryKey.type %>): <% if (reactive) { %>Mono<<% } %>ResponseEntity<<%= instanceType %>><% if (reactive) { %>><% } %> { - log.debug("REST request to get <%= entityClass %> : $id")<%- include('../../_partials_entity_/get_template', {asEntity, asDto, viaService, returnDirectly:false, implementsEagerLoadApis}); -%> + log.debug("REST request to get <%= entityClass %> : $id")<%- include('../../_partials_entity_/get_template', {viaService, returnDirectly:false, implementsEagerLoadApis}); -%> return ResponseUtil.wrapOrNotFound(<%= instanceName %>) } <%_ if (!readOnly) { _%> @@ -437,6 +437,6 @@ _%><%- include('../../_partials_entity_/inject_template', {viaService: viaServic <%_ } _%> * @return the result of the search. */ - @GetMapping("/_search/<%= entityApiUrl %>")<%- include('../../_partials_entity_/search_template', {asEntity, asDto, viaService}); -%> + @GetMapping("/_search/<%= entityApiUrl %>")<%- include('../../_partials_entity_/search_template', {viaService}); -%> <%_ } _%> } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/CRLFLogConverter.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/CRLFLogConverter.kt.ejs index abb85335d..cc3e65209 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/CRLFLogConverter.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/CRLFLogConverter.kt.ejs @@ -39,7 +39,8 @@ class CRLFLogConverter : CompositeConverter() { override fun transform(event: ILoggingEvent, inStr: String): String { val element = ELEMENTS[firstOption] - if ((event.marker != null && event.marker.contains(CRLF_SAFE_MARKER)) || isLoggerSafe(event)) { + val markers = event.markerList + if ((markers != null && !markers.isEmpty() && markers[0].contains(CRLF_SAFE_MARKER)) || isLoggerSafe(event)) { return inStr } val replacement = if (element == null) "_" else toAnsiString("_", element) diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/JacksonConfiguration.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/JacksonConfiguration.kt.ejs index 089628ca4..be25fd8d9 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/JacksonConfiguration.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/JacksonConfiguration.kt.ejs @@ -19,15 +19,14 @@ package <%= packageName %>.config <%_ if (databaseTypeSql && !reactive) { _%> -import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module +import com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module +import com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module.Feature <%_ } _%> import com.fasterxml.jackson.datatype.jdk8.Jdk8Module import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration -import org.zalando.problem.jackson.ProblemModule -import org.zalando.problem.violations.ConstraintViolationProblemModule @Configuration class JacksonConfiguration { @@ -47,18 +46,6 @@ class JacksonConfiguration { * Support for Hibernate types in Jackson. */ @Bean - fun hibernate5Module() = Hibernate5Module() + fun hibernate6Module() = Hibernate6Module().configure(Feature.SERIALIZE_IDENTIFIER_FOR_LAZY_NOT_LOADED_OBJECTS, true) <%_ } _%> - - /* - * Module for serialization/deserialization of RFC7807 Problem. - */ - @Bean - fun problemModule() = ProblemModule() - - /* - * Module for serialization/deserialization of ConstraintViolationProblem. - */ - @Bean - fun constraintViolationProblemModule() = ConstraintViolationProblemModule() } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/OpenApiConfiguration.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/OpenApiConfiguration.kt.ejs index 14d6593fb..573c782b9 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/OpenApiConfiguration.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/OpenApiConfiguration.kt.ejs @@ -18,7 +18,7 @@ limitations under the License. -%> package <%= packageName %>.config -import org.springdoc.core.GroupedOpenApi +import org.springdoc.core.models.GroupedOpenApi import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.context.annotation.Bean @@ -44,7 +44,7 @@ class OpenApiConfiguration { val properties = jHipsterProperties.apiDocs return GroupedOpenApi.builder() .group("openapi") - .addOpenApiCustomiser(jhipsterOpenApiCustomizer) + .addOpenApiCustomizer(jhipsterOpenApiCustomizer) .packagesToScan(API_FIRST_PACKAGE) .pathsToMatch(properties.getDefaultIncludePattern()) .build() diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_imperative.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_imperative.kt.ejs index 0e751e441..07b70cda8 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_imperative.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_imperative.kt.ejs @@ -18,246 +18,263 @@ -%> package <%= packageName %>.config -import <%= packageName %>.security.ADMIN - <%_ if (authenticationTypeOauth2 && !applicationTypeMicroservice) { _%> -import <%= packageName %>.security.extractAuthorityFromClaims - <%_ } _%> - <%_ if (authenticationTypeJwt) { _%> -import <%= packageName %>.security.jwt.JWTConfigurer -import <%= packageName %>.security.jwt.TokenProvider - <%_ } _%> +import <%= packageName %>.security.* import tech.jhipster.config.JHipsterProperties - <%_ if (authenticationTypeSession) { _%> -import tech.jhipster.security.AjaxAuthenticationFailureHandler -import tech.jhipster.security.AjaxAuthenticationSuccessHandler -import tech.jhipster.security.AjaxLogoutSuccessHandler - <%_ } _%> +<%_ if (authenticationTypeSession || devDatabaseTypeH2Any) { _%> +import org.springframework.security.web.util.matcher.AntPathRequestMatcher.antMatcher + +<%_ } _%> import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import - <%_ if (authenticationTypeOauth2) { _%> +import org.springframework.context.annotation.Configuration +<%_ if (authenticationTypeOauth2) { _%> import org.springframework.core.convert.converter.Converter - <%_ } _%> - <%_ if (!applicationTypeMicroservice || !authenticationTypeOauth2) { _%> +<%_ } _%> +<%_ if (devDatabaseTypeH2Any) { _%> +import org.springframework.core.env.Environment +import org.springframework.core.env.Profiles +import tech.jhipster.config.JHipsterConstants +<%_ } _%> +<%_ if (authenticationTypeJwt) { _%> import org.springframework.http.HttpMethod - <%_ } _%> -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity +import org.springframework.security.config.Customizer +<%_ } _%> +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity import org.springframework.security.config.annotation.web.builders.HttpSecurity -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity +<%_ if (!skipClient) { _%> +import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer.FrameOptionsConfig +<%_ } _%> import org.springframework.security.web.SecurityFilterChain - <%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%> +<%_ if (!skipClient || authenticationUsesCsrf) { _%> +import org.springframework.security.web.authentication.www.BasicAuthenticationFilter +<%_ } _%> +<%_ if (authenticationUsesCsrf) { _%> +import tech.jhipster.web.filter.CookieCsrfFilter +<%_ } _%> +<%_ if (!skipClient) { _%> +import <%= packageName %>.web.filter.SpaWebFilter +<%_ } _%> +<%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%> import org.springframework.security.config.http.SessionCreationPolicy - <%_ } _%> - <%_ if (!authenticationTypeOauth2 && !skipUserManagement) { _%> +<%_ } _%> +<%_ if (generateUserManagement) { _%> import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder - <%_ } _%> - <%_ if (authenticationTypeOauth2) { _%> +import org.springframework.security.crypto.password.PasswordEncoder +<%_ } _%> +<%_ if (authenticationTypeOauth2) { _%> import <%= packageName %>.security.oauth2.AudienceValidator +import <%= packageName %>.security.SecurityUtils import org.springframework.security.authentication.AbstractAuthenticationToken import org.springframework.security.oauth2.core.DelegatingOAuth2TokenValidator -import org.springframework.security.oauth2.jwt.Jwt -import org.springframework.security.oauth2.jwt.JwtDecoder -import org.springframework.security.oauth2.jwt.JwtDecoders -import org.springframework.security.oauth2.jwt.JwtValidators -import org.springframework.security.oauth2.jwt.NimbusJwtDecoder +import org.springframework.security.oauth2.core.OAuth2TokenValidator +import org.springframework.security.oauth2.jwt.* import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter import org.springframework.beans.factory.annotation.Value import org.springframework.security.core.GrantedAuthority - <%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper import org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority - <%_ } _%> - <%_ } _%> - <%_ if (authenticationTypeSession) { _%> - <%_ if (!skipUserManagement) { _%> + <%_ } _%> +import java.util.* +<%_ } _%> +<%_ if (authenticationTypeSession) { _%> +import org.springframework.http.HttpStatus +import org.springframework.security.web.authentication.HttpStatusEntryPoint +import org.springframework.security.web.authentication.logout.HttpStatusReturningLogoutSuccessHandler +import org.springframework.security.web.util.matcher.OrRequestMatcher + <%_ if (generateUserManagement) { _%> import org.springframework.security.web.authentication.RememberMeServices - <%_ } _%> -import org.springframework.security.web.csrf.CookieCsrfTokenRepository -import org.springframework.security.web.csrf.CsrfFilter - <%_ } _%> - <%_ if (authenticationTypeOauth2 && !applicationTypeMicroservice) { _%> + <%_ } _%> +<%_ } _%> +<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%> import org.springframework.security.web.csrf.CookieCsrfTokenRepository -import org.springframework.security.web.csrf.CsrfFilter - <%_ } _%> - <%_ if (authenticationTypeOauth2) { _%> +import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler +<%_ } _%> +<%_ if (authenticationTypeOauth2) { _%> import <%= packageName %>.security.oauth2.JwtGrantedAuthorityConverter - <%_ } _%> - <%_ if (authenticationTypeJwt && !applicationTypeMicroservice) { _%> -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter - <%_ } _%> - <%_ if (authenticationTypeOauth2 && applicationTypeMonolith) { _%> +<%_ } _%> +<%_ if (authenticationTypeJwt) { _%> +import org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationEntryPoint +import org.springframework.security.oauth2.server.resource.web.access.BearerTokenAccessDeniedHandler +<%_ } _%> +<%_ if (authenticationTypeOauth2 && applicationTypeMonolith) { _%> import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository import org.springframework.boot.web.client.RestTemplateBuilder import <%= packageName %>.security.oauth2.CustomClaimConverter - <%_ } _%> +<%_ } _%> <%_ if(!skipClient) { _%> import org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter <%_ } _%> -<%_ if (!applicationTypeMicroservice) { _%> -import org.springframework.web.filter.CorsFilter +import org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher +import org.springframework.web.servlet.handler.HandlerMappingIntrospector + +<%_ if (authenticationTypeOauth2 || !applicationTypeMicroservice) { _%> +import org.springframework.security.config.Customizer.withDefaults <%_ } _%> -import org.zalando.problem.spring.web.advice.security.SecurityProblemSupport -@EnableWebSecurity -@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) +@Configuration +@EnableMethodSecurity(securedEnabled = true) @Import(SecurityProblemSupport::class) class SecurityConfiguration( - private val jHipsterProperties: JHipsterProperties, - <%_ if (authenticationTypeSession && !skipUserManagement) { _%> +<%_ if (devDatabaseTypeH2Any) { _%> + private val Environment env, +<%_ } _%> +<%_ if (authenticationTypeSession && generateUserManagement) { _%> private val rememberMeServices: RememberMeServices, - <%_ } _%> - <%_ if (authenticationTypeJwt) { _%> - private val tokenProvider: TokenProvider, - <%_ } _%> - <%_ if (!applicationTypeMicroservice) { _%> - private val corsFilter: CorsFilter, - <%_ } _%> - private val problemSupport: SecurityProblemSupport +<%_ } _%> + private val jHipsterProperties: JHipsterProperties, ) { - <%_ if (authenticationTypeOauth2) { _%> +<%_ if (authenticationTypeOauth2) { _%> @Value("\${spring.security.oauth2.client.provider.oidc.issuer-uri}") private lateinit var issuerUri: String - <%_ } _%> - <%_ if (authenticationTypeSession) { _%> - - @Bean - fun ajaxAuthenticationSuccessHandler() = AjaxAuthenticationSuccessHandler() - - @Bean - fun ajaxAuthenticationFailureHandler() = AjaxAuthenticationFailureHandler() +<%_ } _%> - @Bean - fun ajaxLogoutSuccessHandler() = AjaxLogoutSuccessHandler() - <%_ } _%> - <%_ if (!authenticationTypeOauth2 && !skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> @Bean fun passwordEncoder() = BCryptPasswordEncoder() - <%_ } _%> +<%_ } _%> @Bean @Throws(Exception::class) - fun filterChain(http: HttpSecurity): SecurityFilterChain { + fun filterChain(http: HttpSecurity, mvc: MvcRequestMatcher.Builder): SecurityFilterChain { http - .csrf() -<%_ if (devDatabaseTypeH2Any) { _%> - .ignoringAntMatchers("/h2-console/**") -<%_ } _%> - <%_ if (['session','oauth2'].includes(authenticationType) && !applicationTypeMicroservice) { _%> - .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) - .and() - <%_ } else { _%> - .disable() - <%_ } _%> - <%_ if (!applicationTypeMicroservice) { _%> - <%_ if (authenticationTypeJwt) { _%> - .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter::class.java) - <%_ } else if (authenticationTypeSession || authenticationTypeOauth2) { _%> - .addFilterBefore(corsFilter, CsrfFilter::class.java) - <%_ } _%> - <%_ } _%> - .exceptionHandling() - .authenticationEntryPoint(problemSupport) - .accessDeniedHandler(problemSupport) - <%_ if (authenticationTypeSession) { _%> - <%_ if (!skipUserManagement) { _%> - .and() - .rememberMe() - .rememberMeServices(rememberMeServices) - .rememberMeParameter("remember-me") - .key(jHipsterProperties.security.rememberMe.key) - <%_ } _%> - .and() - .formLogin() - .loginProcessingUrl("/api/authentication") - .successHandler(ajaxAuthenticationSuccessHandler()) - .failureHandler(ajaxAuthenticationFailureHandler()) - .permitAll() - .and() - .logout() - .logoutUrl("/api/logout") - .logoutSuccessHandler(ajaxLogoutSuccessHandler()) - .permitAll() - <%_ } _%> +<%_ if (!applicationTypeMicroservice) { _%> + .cors(withDefaults()) +<%_ } _%> + .csrf(csrf -> csrf +<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%> + .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) + // See https://stackoverflow.com/q/74447118/65681 + .csrfTokenRequestHandler(CsrfTokenRequestAttributeHandler())) +<%_ } else { _%> + .disable()) +<%_ } _%> <%_ if (!skipClient) { _%> - .and() - .headers() - .contentSecurityPolicy(jHipsterProperties.security.contentSecurityPolicy) - .and() - .referrerPolicy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN) - .and() - .permissionsPolicy().policy("camera=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), sync-xhr=()") - .and() - .frameOptions().sameOrigin() -<%_ } _%> - <%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%> - .and() - .sessionManagement() - .sessionCreationPolicy(SessionCreationPolicy.STATELESS) - <%_ } _%> - .and() - .authorizeRequests() + .addFilterAfter(SpaWebFilter(), BasicAuthenticationFilter::class.java) +<%_ } _%> <%_ if (!applicationTypeMicroservice) { _%> - .antMatchers(HttpMethod.OPTIONS, "/**").permitAll() - <%_ if (!skipClient) { _%> - .antMatchers("/app/**/*.{js,html}").permitAll() - .antMatchers("/i18n/**").permitAll() - .antMatchers("/content/**").permitAll() - <%_ } _%> - .antMatchers("/swagger-ui/**").permitAll() - .antMatchers("/test/**").permitAll() + <%_ if (authenticationUsesCsrf) { _%> + .addFilterAfter(CookieCsrfFilter(), BasicAuthenticationFilter::class.java) + <%_ } _%> <%_ } _%> - <%_ if (devDatabaseTypeH2Any) { _%> - .antMatchers("/h2-console/**").permitAll() +<%_ if (!skipClient) { _%> + .headers(headers -> headers + .contentSecurityPolicy(csp -> csp.policyDirectives(jHipsterProperties.security.contentSecurityPolicy)) + .frameOptions(FrameOptionsConfig::sameOrigin) + .referrerPolicy(referrer -> referrer.policy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)) + .permissionsPolicy(permissions -> + permissions.policy("camera=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), sync-xhr=()"))) +<%_ } _%> + .authorizeHttpRequests(authz -> + // prettier-ignore + authz +<%_ if (!skipClient) { _%> + .requestMatchers(mvc.pattern("/index.html"), mvc.pattern("/*.js"), mvc.pattern("/*.txt"), mvc.pattern("/*.json"), mvc.pattern("/*.map"), mvc.pattern("/*.css")).permitAll() + .requestMatchers(mvc.pattern("/*.ico"), mvc.pattern("/*.png"), mvc.pattern("/*.svg"), mvc.pattern("/*.webapp")).permitAll() + <%_ if (clientFrameworkVue) { _%> + .requestMatchers(mvc.pattern("/assets/**")).permitAll() + <%_ if (microfrontend) { _%> + .requestMatchers(mvc.pattern("/app/**")).permitAll() + .requestMatchers(mvc.pattern("/i18n/**")).permitAll() <%_ } _%> - .antMatchers("/api/authenticate").permitAll() - <%_ if (!authenticationTypeOauth2 && !skipUserManagement) { _%> - .antMatchers("/api/register").permitAll() - .antMatchers("/api/activate").permitAll() - .antMatchers("/api/account/reset-password/init").permitAll() - .antMatchers("/api/account/reset-password/finish").permitAll() - <%_ } _%> - <%_ if (authenticationTypeOauth2) { _%> - .antMatchers("/authorize").authenticated() - .antMatchers("/api/auth-info").permitAll() - <%_ } _%> - .antMatchers("/api/admin/**").hasAuthority(ADMIN) - .antMatchers("/api/**").authenticated() - <%_ if (communicationSpringWebsocket) { _%> - .antMatchers("/websocket/**").authenticated() - <%_ } _%> - .antMatchers("/management/health").permitAll() - .antMatchers("/management/health/**").permitAll() - .antMatchers("/management/info").permitAll() - .antMatchers("/management/prometheus").permitAll() - .antMatchers("/management/**").hasAuthority(ADMIN) - <%_ if (authenticationTypeJwt) { _%> - <%_ if (applicationTypeMonolith) { _%> - .and() - .httpBasic() - <%_ } _%> - .and() - .apply(securityConfigurerAdapter()) - <%_ } else if (authenticationTypeOauth2) { _%> - <%_ if (applicationTypeMonolith) { _%> - .and() - .oauth2Login() - <%_ } _%> - .and() - .oauth2ResourceServer() - .jwt() - .jwtAuthenticationConverter(authenticationConverter()) - .and() - .and() - .oauth2Client() - <%_ } _%> + <%_ } else { _%> + .requestMatchers(mvc.pattern("/app/**")).permitAll() + .requestMatchers(mvc.pattern("/i18n/**")).permitAll() + <%_ } _%> + .requestMatchers(mvc.pattern("/content/**")).permitAll() + .requestMatchers(mvc.pattern("/swagger-ui/**")).permitAll() +<%_ } _%> +<%_ if (authenticationTypeJwt) { _%> + .requestMatchers(mvc.pattern(HttpMethod.POST, "/api/authenticate")).permitAll() + .requestMatchers(mvc.pattern(HttpMethod.GET, "/api/authenticate")).permitAll() +<%_ } else { _%> + .requestMatchers(mvc.pattern("/api/authenticate")).permitAll() +<%_ } _%> +<%_ if (generateUserManagement) { _%> + .requestMatchers(mvc.pattern("/api/register")).permitAll() + .requestMatchers(mvc.pattern("/api/activate")).permitAll() + .requestMatchers(mvc.pattern("/api/account/reset-password/init")).permitAll() + .requestMatchers(mvc.pattern("/api/account/reset-password/finish")).permitAll() +<%_ } _%> +<%_ if (authenticationTypeOauth2) { _%> + .requestMatchers(mvc.pattern("/api/auth-info")).permitAll() +<%_ } _%> + .requestMatchers(mvc.pattern("/api/admin/**")).hasAuthority(ADMIN) + .requestMatchers(mvc.pattern("/api/**")).authenticated() +<%_ if (communicationSpringWebsocket) { _%> + .requestMatchers(mvc.pattern("/websocket/**")).authenticated() +<%_ } _%> + .requestMatchers(mvc.pattern("/v3/api-docs/**")).hasAuthority(ADMIN) + .requestMatchers(mvc.pattern("/management/health")).permitAll() + .requestMatchers(mvc.pattern("/management/health/**")).permitAll() + .requestMatchers(mvc.pattern("/management/info")).permitAll() + .requestMatchers(mvc.pattern("/management/prometheus")).permitAll() + .requestMatchers(mvc.pattern("/management/**")).hasAuthority(ADMIN)) +<%_ if (authenticationTypeSession) { _%> + <%_ if (generateUserManagement) { _%> + .rememberMe(rememberMe -> + rememberMe + .rememberMeServices(rememberMeServices) + .rememberMeParameter("remember-me") + .key(jHipsterProperties.security.rememberMe.key) + ) + <%_ } _%> + .exceptionHandling(exceptionHanding -> + exceptionHanding.defaultAuthenticationEntryPointFor( + HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED), + OrRequestMatcher( + <%_ if (communicationSpringWebsocket) { _%> + antMatcher("/websocket/**"), + <%_ } _%> + antMatcher("/api/**") + ) + ) + ) + .formLogin(formLogin -> + formLogin + .loginPage("/") + .loginProcessingUrl("/api/authentication") + .successHandler((request, response, authentication) -> response.setStatus(HttpStatus.OK.value())) + .failureHandler((request, response, exception) -> response.setStatus(HttpStatus.UNAUTHORIZED.value())) + .permitAll() + ) + .logout(logout -> + logout.logoutUrl("/api/logout").logoutSuccessHandler(HttpStatusReturningLogoutSuccessHandler()).permitAll()); +<%_ } else if (authenticationTypeJwt) { _%> + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .exceptionHandling((exceptions) -> exceptions + .authenticationEntryPoint(BearerTokenAuthenticationEntryPoint()) + .accessDeniedHandler(BearerTokenAccessDeniedHandler())) + .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())); +<%_ } else if (authenticationTypeOauth2) { _%> + <%_ if (applicationTypeMonolith) { _%> + .oauth2Login(withDefaults()) + <%_ } else if (applicationTypeMicroservice) { _%> + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + <%_ } _%> + .oauth2ResourceServer(oauth2 -> oauth2 + .jwt(jwt -> jwt + .jwtAuthenticationConverter(authenticationConverter()))) + .oauth2Client(); +<%_ } _%> +<%_ if (devDatabaseTypeH2Any) { _%> + if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT))) { + http + <%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%> + .csrf(csrf -> csrf.ignoringRequestMatchers(antMatcher("/h2-console/**"))) + <%_ } _%> + .authorizeHttpRequests(authz -> authz.requestMatchers(antMatcher("/h2-console/**")).permitAll()); + } +<%_ } _%> return http.build() } - <%_ if (authenticationTypeJwt) { _%> - private fun securityConfigurerAdapter() = JWTConfigurer(tokenProvider) - <%_ } _%> + @Bean + fun mvc(introspector: HandlerMappingIntrospector): MvcRequestMatcher.Builder = + MvcRequestMatcher.Builder(introspector) + <%_ if (authenticationTypeOauth2) { _%> fun authenticationConverter(): Converter { diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_reactive.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_reactive.kt.ejs index ace2c9d47..5da2d857c 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_reactive.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityConfiguration_reactive.kt.ejs @@ -17,53 +17,42 @@ This file is part of the JHipster project, see https://jhipster.github.io/ limitations under the License. -%> package <%= packageName %>.config - -import <%= packageName %>.security.ADMIN -<%_ if (authenticationTypeJwt) { _%> -import <%= packageName %>.security.jwt.JWTFilter -import <%= packageName %>.security.jwt.TokenProvider -<%_ } _%> -<%_ if (authenticationTypeSession || authenticationTypeOauth2) { _%> - <%_ if (authenticationTypeOauth2) { _%> -import <%= packageName %>.security.extractAuthorityFromClaims +import <%= packageName %>.security.AuthoritiesConstants +<%_ if (authenticationTypeOauth2) { _%> +import <%= packageName %>.security.SecurityUtils import <%= packageName %>.security.oauth2.AudienceValidator import <%= packageName %>.security.oauth2.JwtGrantedAuthorityConverter import org.springframework.security.authentication.AbstractAuthenticationToken import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter - <%_ } _%> -import tech.jhipster.web.filter.reactive.CookieCsrfFilter -<%_ } _%> -<%_ if (authenticationTypeOauth2) { _%> import org.springframework.beans.factory.annotation.Value <%_ } _%> +<%_ if (authenticationUsesCsrf) { _%> +import tech.jhipster.web.filter.reactive.CookieCsrfFilter +<%_ } _%> import tech.jhipster.config.JHipsterProperties -<%_ if (skipUserManagement && !authenticationTypeOauth2) { _%> +<%_ if (generateInMemoryUserCredentials) { _%> import org.springframework.boot.autoconfigure.security.SecurityProperties <%_ } _%> <%_ if (!skipClient) { _%> import <%= packageName %>.web.filter.SpaWebFilter <%_ } _%> import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Import +import org.springframework.context.annotation.Configuration <%_ if (authenticationTypeOauth2) { _%> import org.springframework.core.convert.converter.Converter - <%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import org.springframework.core.ParameterizedTypeReference - <%_ } _%> + <%_ } _%> <%_ } _%> -import org.springframework.http.HttpMethod -<%_ if (authenticationTypeSession) { _%> -import org.springframework.http.HttpStatus -<%_ } _%> -<%_ if (!authenticationTypeOauth2) { _%> -import org.springframework.security.authentication.ReactiveAuthenticationManager -import org.springframework.security.authentication.UserDetailsRepositoryReactiveAuthenticationManager +<%_ if (authenticationTypeJwt) { _%> +import org.springframework.security.config.Customizer <%_ } _%> import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity -import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity import org.springframework.security.config.web.server.SecurityWebFiltersOrder import org.springframework.security.config.web.server.ServerHttpSecurity <%_ if (authenticationTypeSession) { _%> +import org.springframework.http.HttpMethod +import org.springframework.http.HttpStatus import org.springframework.security.core.Authentication import org.springframework.security.core.AuthenticationException <%_ } _%> @@ -71,40 +60,38 @@ import org.springframework.security.core.AuthenticationException import org.springframework.security.core.GrantedAuthority import org.springframework.security.oauth2.client.oidc.userinfo.OidcReactiveOAuth2UserService import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest -<%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import org.springframework.security.oauth2.client.registration.ClientRegistration import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository -<%_ } _%> + <%_ } _%> import org.springframework.security.oauth2.client.userinfo.ReactiveOAuth2UserService -<%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import org.springframework.security.oauth2.client.web.server.DefaultServerOAuth2AuthorizationRequestResolver import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizationRequestResolver -<%_ } _%> + <%_ } _%> import org.springframework.security.oauth2.core.DelegatingOAuth2TokenValidator -<%_ if (!applicationTypeMicroservice) { _%> -import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest -<%_ } _%> import org.springframework.security.oauth2.core.OAuth2TokenValidator + <%_ if (!applicationTypeMicroservice) { _%> +import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest + <%_ } _%> import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser import org.springframework.security.oauth2.core.oidc.user.OidcUser import org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority import org.springframework.security.oauth2.jwt.* import org.springframework.security.oauth2.server.resource.authentication.ReactiveJwtAuthenticationConverterAdapter -import org.springframework.security.web.server.csrf.CookieServerCsrfTokenRepository <%_ } _%> <%_ if (!authenticationTypeOauth2) { _%> - <%_ if (skipUserManagement) { _%> -import org.springframework.security.core.userdetails.MapReactiveUserDetailsService - <%_ } _%> +import org.springframework.security.authentication.ReactiveAuthenticationManager +import org.springframework.security.authentication.UserDetailsRepositoryReactiveAuthenticationManager import org.springframework.security.core.userdetails.ReactiveUserDetailsService - <%_ if (authenticationTypeSession || skipUserManagement) { _%> + <%_ if (generateInMemoryUserCredentials) { _%> import org.springframework.security.core.userdetails.User - <%_ } _%> - <%_ if (skipUserManagement) { _%> +import org.springframework.security.core.userdetails.MapReactiveUserDetailsService import org.springframework.security.core.userdetails.UserDetails - <%_ } _%> +import org.springframework.util.StringUtils + <%_ } _%> <%_ } _%> -<%_ if (!skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder import org.springframework.security.crypto.password.PasswordEncoder <%_ } _%> @@ -113,7 +100,10 @@ import org.springframework.security.web.server.SecurityWebFilterChain import org.springframework.security.web.server.WebFilterExchange import org.springframework.security.web.server.authentication.HttpStatusServerEntryPoint import org.springframework.security.web.server.authentication.logout.HttpStatusReturningServerLogoutSuccessHandler +<%_ } _%> +<%_ if (authenticationUsesCsrf) { _%> import org.springframework.security.web.server.csrf.CookieServerCsrfTokenRepository +import org.springframework.security.web.server.csrf.ServerCsrfTokenRequestAttributeHandler <%_ } _%> import org.springframework.security.web.server.header.XFrameOptionsServerHttpHeadersWriter.Mode import org.springframework.security.web.server.header.ReferrerPolicyServerHttpHeadersWriter @@ -122,16 +112,11 @@ import org.springframework.security.web.server.savedrequest.NoOpServerRequestCac <%_ } _%> import org.springframework.security.web.server.util.matcher.NegatedServerWebExchangeMatcher import org.springframework.security.web.server.util.matcher.OrServerWebExchangeMatcher -<%_ if (skipUserManagement && !authenticationTypeOauth2) { _%> -import org.springframework.util.StringUtils -<%_ } _%> -import org.springframework.web.cors.reactive.CorsWebFilter -import org.zalando.problem.spring.webflux.advice.security.SecurityProblemSupport -<%_ if (authenticationTypeSession || authenticationTypeOauth2) { _%> +<%_ if (authenticationUsesCsrf) { _%> import reactor.core.publisher.Mono <%_ } _%> <%_ if (authenticationTypeOauth2) { _%> - <%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import org.springframework.web.reactive.function.client.WebClient import com.github.benmanes.caffeine.cache.Cache @@ -140,32 +125,28 @@ import com.github.benmanes.caffeine.cache.Caffeine import java.time.Duration import java.util.Arrays import java.util.Map - <%_ } _%> +import java.util.Optional + <%_ } _%> + import java.util.HashSet import java.util.Set -<%_ if (!applicationTypeMicroservice) { _%> + <%_ if (!applicationTypeMicroservice) { _%> import java.util.function.Consumer -<%_ } _%> + <%_ } _%> <%_ } _%> +<%_ if (authenticationTypeOauth2 || !applicationTypeMicroservice) { _%> +import org.springframework.security.config.Customizer.withDefaults +<%_ } _%> import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers.pathMatchers -@EnableWebFluxSecurity +@Configuration @EnableReactiveMethodSecurity -@Import(SecurityProblemSupport::class) class SecurityConfiguration( -<%_ if (!skipUserManagement && !authenticationTypeOauth2) { _%> - private val userDetailsService: ReactiveUserDetailsService, -<%_ } _%> -<%_ if (authenticationTypeJwt) { _%> - private val tokenProvider: TokenProvider, -<%_ } _%> <%_ if (authenticationTypeOauth2 && !applicationTypeMicroservice) { _%> private val clientRegistrationRepository: ReactiveClientRegistrationRepository, <%_ } _%> private val jHipsterProperties: JHipsterProperties, - private val problemSupport: SecurityProblemSupport, - private val corsWebFilter: CorsWebFilter ) { <%_ if (authenticationTypeOauth2) { _%> @Value("\${spring.security.oauth2.client.provider.oidc.issuer-uri}") @@ -182,17 +163,17 @@ class SecurityConfiguration( <%_ } _%> <%_ } _%> - <%_ if (!skipUserManagement && !authenticationTypeOauth2) { _%> + <%_ if (generateUserManagement) { _%> @Bean fun passwordEncoder() = BCryptPasswordEncoder() @Bean - fun reactiveAuthenticationManager() = + fun reactiveAuthenticationManager(userDetailsService: ReactiveUserDetailsService) = UserDetailsRepositoryReactiveAuthenticationManager(userDetailsService).apply { setPasswordEncoder(passwordEncoder()) } - <%_ } else if (!authenticationTypeOauth2) { _%> + <%_ } else if (!generateInMemoryUserCredentials) { _%> @Bean fun userDetailsService(properties: SecurityProperties): MapReactiveUserDetailsService { val user = properties.user @@ -212,114 +193,107 @@ class SecurityConfiguration( <%_ } _%> @Bean fun springSecurityFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain { - // @formatter:off http - .securityMatcher( - NegatedServerWebExchangeMatcher( - OrServerWebExchangeMatcher( - pathMatchers("/app/**", "/_app/**", "/i18n/**", "/img/**", "/content/**", "/swagger-ui/**", "/v3/api-docs/**", "/test/**"), - pathMatchers(HttpMethod.OPTIONS, "/**") - ) + .securityMatcher(NegatedServerWebExchangeMatcher(OrServerWebExchangeMatcher( + <%_ if (clientFrameworkVue) { _%> + pathMatchers( + "/assets/**", + <%_ if (microfrontend) { _%> + "/app/**", + "/i18n/**", + "/content/**", + <%_ } _%> + "/swagger-ui/**" ) - ) - .csrf() - <%_ if (['session','oauth2'].includes(authenticationType) && !applicationTypeMicroservice) { _%> - .csrfTokenRepository(CookieServerCsrfTokenRepository.withHttpOnlyFalse()) - .and() + <%_ } else { _%> + pathMatchers("/app/**", "/i18n/**", "/content/**", "/swagger-ui/**") + <%_ } _%> + ))) +<%_ if (!applicationTypeMicroservice) { _%> + .cors(withDefaults()) +<%_ } _%> + .csrf(csrf -> csrf +<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%> + .csrfTokenRepository(CookieServerCsrfTokenRepository.withHttpOnlyFalse()) + // See https://stackoverflow.com/q/74447118/65681 + .csrfTokenRequestHandler(ServerCsrfTokenRequestAttributeHandler())) // See https://github.com/spring-projects/spring-security/issues/5766 .addFilterAt(CookieCsrfFilter(), SecurityWebFiltersOrder.REACTOR_CONTEXT) - <%_ } else { _%> - .disable() - <%_ } _%> - .addFilterBefore(corsWebFilter, SecurityWebFiltersOrder.REACTOR_CONTEXT) - <%_ if (!skipClient) { _%> - .addFilterAt(SpaWebFilter(), SecurityWebFiltersOrder.AUTHENTICATION) - <%_ } _%> - <%_ if (authenticationTypeJwt) { _%> - .addFilterAt(JWTFilter(tokenProvider), SecurityWebFiltersOrder.HTTP_BASIC) - <%_ } _%> - <%_ if (!skipUserManagement && !authenticationTypeOauth2) { _%> - .authenticationManager(reactiveAuthenticationManager()) - <%_ } _%> - .exceptionHandling() - .accessDeniedHandler(problemSupport) - .authenticationEntryPoint(problemSupport) - <%_ if (authenticationTypeSession) { _%> - .and() - .formLogin() - .requiresAuthenticationMatcher(pathMatchers(HttpMethod.POST, "/api/authentication")) - .authenticationEntryPoint(HttpStatusServerEntryPoint(HttpStatus.OK)) - .authenticationSuccessHandler { exchange, authentication -> onAuthenticationSuccess(exchange, authentication) } - .authenticationFailureHandler { exchange, exception -> onAuthenticationError(exchange, exception) } - .and() - .logout() - .logoutUrl("/api/logout") - .logoutSuccessHandler(HttpStatusReturningServerLogoutSuccessHandler()) - <%_ } _%> - .and() - .headers() - .contentSecurityPolicy(jHipsterProperties.security.contentSecurityPolicy) - .and() - .referrerPolicy(ReferrerPolicyServerHttpHeadersWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN) - .and() - .permissionsPolicy().policy("camera=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), sync-xhr=()") - .and() - .frameOptions().mode(Mode.DENY) - <%_ if (applicationTypeMicroservice) { _%> - .and() - .requestCache() - .requestCache(NoOpServerRequestCache.getInstance()) - <%_ } _%> - .and() - .authorizeExchange() - <%_ if (!skipClient) { _%> - .pathMatchers("/").permitAll() - .pathMatchers("/*.*").permitAll() - <%_ } _%> - .pathMatchers("/api/authenticate").permitAll() - <%_ if (!skipUserManagement) { _%> - .pathMatchers("/api/register").permitAll() - .pathMatchers("/api/activate").permitAll() - .pathMatchers("/api/account/reset-password/init").permitAll() - .pathMatchers("/api/account/reset-password/finish").permitAll() - <%_ } _%> +<%_ } else { _%> + .disable()) +<%_ } _%> +<%_ if (!skipClient) { _%> + .addFilterAfter(SpaWebFilter(), SecurityWebFiltersOrder.HTTPS_REDIRECT) +<%_ } _%> +<%_ if (authenticationTypeSession) { _%> + .formLogin(formLogin -> formLogin + .loginPage("/") + .requiresAuthenticationMatcher(pathMatchers(HttpMethod.POST, "/api/authentication")) + .authenticationEntryPoint(HttpStatusServerEntryPoint(HttpStatus.OK)) + .authenticationSuccessHandler(this::onAuthenticationSuccess) + .authenticationFailureHandler(this::onAuthenticationError)) + .logout(logout -> logout + .logoutUrl("/api/logout") + .logoutSuccessHandler(HttpStatusReturningServerLogoutSuccessHandler())) +<%_ } _%> + .headers(headers -> headers + .contentSecurityPolicy(csp -> csp.policyDirectives(jHipsterProperties.getSecurity().getContentSecurityPolicy())) + .frameOptions(frameOptions -> frameOptions.mode(Mode.DENY)) + .referrerPolicy(referrer -> referrer.policy(ReferrerPolicyServerHttpHeadersWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)) + .permissionsPolicy(permissions -> + permissions.policy("camera=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), sync-xhr=()"))) +<%_ if (applicationTypeMicroservice) { _%> + .requestCache(cache -> cache.requestCache(NoOpServerRequestCache.getInstance())) +<%_ } _%> + .authorizeExchange(authz -> + // prettier-ignore + authz +<%_ if (!skipClient) { _%> + .pathMatchers("/").permitAll() + .pathMatchers("/*.*").permitAll() +<%_ } _%> + .pathMatchers("/api/authenticate").permitAll() +<%_ if (generateUserManagement) { _%> + .pathMatchers("/api/register").permitAll() + .pathMatchers("/api/activate").permitAll() + .pathMatchers("/api/account/reset-password/init").permitAll() + .pathMatchers("/api/account/reset-password/finish").permitAll() +<%_ } _%> <%_ if (authenticationTypeOauth2) { _%> - .pathMatchers("/api/auth-info").permitAll() + .pathMatchers("/api/auth-info").permitAll() <%_ } _%> - .pathMatchers("/api/admin/**").hasAuthority(ADMIN) - .pathMatchers("/api/**").authenticated() + .pathMatchers("/api/admin/**").hasAuthority(ADMIN) + .pathMatchers("/api/**").authenticated() <%_ if (applicationTypeGateway) { _%> <%_ if (microfrontend) { _%> - // microfrontend resources are loaded by webpack without authentication, they need to be public - .pathMatchers("/services/*/*.js").permitAll() - .pathMatchers("/services/*/*.js.map").permitAll() + // microfrontend resources are loaded by webpack without authentication, they need to be public + .pathMatchers("/services/*/*.js").permitAll() + .pathMatchers("/services/*/*.js.map").permitAll() <%_ } _%> - .pathMatchers("/services/*/v3/api-docs").hasAuthority(ADMIN) - .pathMatchers("/services/*/management/health/**").permitAll() + .pathMatchers("/services/*/v3/api-docs").hasAuthority(ADMIN) + .pathMatchers("/services/*/management/health/**").permitAll() <%_ } _%> - <%_ if (!applicationTypeMicroservice) { _%> - .pathMatchers("/services/**").authenticated() - <%_ } _%> - .pathMatchers("/management/health").permitAll() - .pathMatchers("/management/health/**").permitAll() - .pathMatchers("/management/info").permitAll() - .pathMatchers("/management/prometheus").permitAll() - .pathMatchers("/management/**").hasAuthority(ADMIN) - <%_ if (authenticationTypeOauth2) { _%> - - - http<%_ if (!applicationTypeMicroservice) { _%>.oauth2Login { - it.authorizationRequestResolver( - authorizationRequestResolver(this.clientRegistrationRepository) - ) - }<% } %> - .oauth2ResourceServer() - .jwt() - .jwtAuthenticationConverter(jwtAuthenticationConverter()) - - http.oauth2Client() - <%_ } _%> - // @formatter:on +<%_ if (!applicationTypeMicroservice) { _%> + .pathMatchers("/services/**").authenticated() +<%_ } _%> + .pathMatchers("/v3/api-docs/**").hasAuthority(ADMIN) + .pathMatchers("/management/health").permitAll() + .pathMatchers("/management/health/**").permitAll() + .pathMatchers("/management/info").permitAll() + .pathMatchers("/management/prometheus").permitAll() + .pathMatchers("/management/**").hasAuthority(ADMIN)) +<%_ if (authenticationTypeOauth2) { _%> + <%_ if (!applicationTypeMicroservice) { _%> + .oauth2Login(oauth2 -> oauth2.authorizationRequestResolver(authorizationRequestResolver(this.clientRegistrationRepository))) + <%_ } _%> + .oauth2Client(withDefaults()) + .oauth2ResourceServer(oauth2 -> oauth2 + .jwt(jwt -> jwt + .jwtAuthenticationConverter(jwtAuthenticationConverter()))) +<%_ } else if (authenticationTypeJwt) { _%> + .httpBasic(basic -> basic.disable()) + .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())) +<%_ } else { _%>;<%_ } _%> return http.build() } <%_ if (authenticationTypeOauth2) { _%> @@ -415,13 +389,15 @@ class SecurityConfiguration( } private fun enrich(token: String, jwt: Jwt): Mono { + // Only look up user information if identity claims are missing if (jwt.hasClaim("given_name") && jwt.hasClaim("family_name")) { return Mono.just(jwt) } else { - // TODO retreive and get from users cache - // users.get(jwt.subject) { _ -> - return WebClient - .create() + // Get user info from `users` cache if present + // Retrieve user info from OAuth provider if not already loaded + return users.get(jwt.subject) { _ -> + val webClient = WebClient.create() + webClient .get() .uri(userInfoUri) .headers { it.setBearerAuth(token) } @@ -453,6 +429,8 @@ class SecurityConfiguration( it.putAll(jwt.claims) } .build() + // Put user info into the `users` cache + .doOnNext(newJwt -> users.put(jwt.getSubject(), Mono.just(newJwt))) } } } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityInMemoryConfiguration.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityInMemoryConfiguration.kt.ejs new file mode 100644 index 000000000..d473d4171 --- /dev/null +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityInMemoryConfiguration.kt.ejs @@ -0,0 +1,49 @@ +<%# + Copyright 2013-2024 the original author or authors from the JHipster project. + + This file is part of the JHipster project, see https://www.jhipster.tech/ + for more information. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-%> +package <%= packageName %>.config + +import java.util.List +import org.springframework.boot.autoconfigure.security.SecurityProperties +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.security.core.userdetails.User +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder +import org.springframework.security.crypto.password.PasswordEncoder +import org.springframework.security.provisioning.InMemoryUserDetailsManager +import org.springframework.util.StringUtils + +@Configuration +class SecurityInMemoryConfiguration { + + @Bean + fun passwordEncoder() = BCryptPasswordEncoder() + + @Bean + fun inMemoryUserDetailsManager(properties: SecurityProperties, passwordEncoder: PasswordEncoder): InMemoryUserDetailsManager { + val user = properties.user + val roles = user.roles + return InMemoryUserDetailsManager( + User + .withUsername(user.name) + .password(passwordEncoder.encode(user.password)) + .roles(*StringUtils.toStringArray(user.roles)) + .build() + ) + } +} diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityJwtConfiguration.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityJwtConfiguration.kt.ejs new file mode 100644 index 000000000..a7a71f582 --- /dev/null +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/SecurityJwtConfiguration.kt.ejs @@ -0,0 +1,126 @@ +<%# + Copyright 2013-2024 the original author or authors from the JHipster project. + + This file is part of the JHipster project, see https://www.jhipster.tech/ + for more information. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-%> +package <%= packageName %>.config + +import static <%= packageName %>.security.SecurityUtils.AUTHORITIES_KEY +import static <%= packageName %>.security.SecurityUtils.JWT_ALGORITHM + +import <%= packageName %>.management.SecurityMetersService +import com.nimbusds.jose.jwk.source.ImmutableSecret +import com.nimbusds.jose.util.Base64 +import javax.crypto.SecretKey +import javax.crypto.spec.SecretKeySpec +import org.springframework.beans.factory.annotation.Value +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration +import org.springframework.security.oauth2.jwt.<%= reactive ? 'Reactive' : '' %>JwtDecoder +import org.springframework.security.oauth2.jwt.JwtEncoder +import org.springframework.security.oauth2.jwt.Nimbus<%= reactive ? 'Reactive' : '' %>JwtDecoder +import org.springframework.security.oauth2.jwt.NimbusJwtEncoder +import org.springframework.security.oauth2.server.resource.authentication.<%= reactive ? 'Reactive' : '' %>JwtAuthenticationConverter +import org.springframework.security.oauth2.server.resource.authentication.JwtGrantedAuthoritiesConverter +<%_ if (reactive) { _%> +import org.springframework.security.oauth2.server.resource.authentication.ReactiveJwtGrantedAuthoritiesConverterAdapter +<%_ } _%> +<%_ if (communicationSpringWebsocket) { %> +import org.springframework.security.oauth2.server.resource.web.BearerTokenResolver +import org.springframework.security.oauth2.server.resource.web.DefaultBearerTokenResolver +<%_ } _%> + +@Configuration +class SecurityJwtConfiguration { + + @Value("\${jhipster.security.authentication.jwt.base64-secret}") + private lateinit var jwtKey: String + + @Bean + fun jwtDecoder(metersService: SecurityMetersService): <%= reactive ? 'Reactive' : '' %>JwtDecoder { + val jwtDecoder = Nimbus<%= reactive ? 'Reactive' : '' %>JwtDecoder.withSecretKey(getSecretKey()).macAlgorithm(JWT_ALGORITHM).build() + return <%= reactive ? 'Reactive' : '' %>JwtDecoder { token -> { +<%_ if (reactive) { %> + try { + jwtDecoder + .decode(token) + .doOnError { e -> + if (e.message!!.contains("Jwt Expired at")) { + metersService.trackTokenExpired() + } else if (e.message!!.contains("Failed to validate the token")) { + metersService.trackTokenInvalidSignature() + } + } + } catch (e: Exception) { + if (e.message!!.contains("An error occurred while attempting to decode the Jwt")) { + metersService.trackTokenMalformed() + } else if (e.message!!.contains("Failed to validate the token")) { + metersService.trackTokenInvalidSignature() + } + throw e + } +<%_ } else { _%> + try { + jwtDecoder.decode(token) + } catch (e: Exception) { + if (e.message!!.contains("Invalid signature")) { + metersService.trackTokenInvalidSignature() + } else if (e.message!!.contains("Jwt expired at")) { + metersService.trackTokenExpired() + } else if (e.message!!.contains("Invalid JWT serialization")) { + metersService.trackTokenMalformed() + } else if (e.message!!.contains("Invalid unsecured/JWS/JWE")) { + metersService.trackTokenMalformed() + } + throw e + } +<%_ } _%> + } + } +} + + @Bean + fun jwtEncoder() = NimbusJwtEncoder(ImmutableSecret<>(getSecretKey())) + + @Bean + fun jwtAuthenticationConverter(): <%= reactive ? 'Reactive' : '' %>JwtAuthenticationConverter { + val grantedAuthoritiesConverter = JwtGrantedAuthoritiesConverter() + grantedAuthoritiesConverter.setAuthorityPrefix("") + grantedAuthoritiesConverter.setAuthoritiesClaimName(AUTHORITIES_KEY) + + val jwtAuthenticationConverter = <%= reactive ? 'Reactive' : '' %>JwtAuthenticationConverter() +<%_ if (reactive) { %> + jwtAuthenticationConverter.setJwtGrantedAuthoritiesConverter(ReactiveJwtGrantedAuthoritiesConverterAdapter(grantedAuthoritiesConverter)) +<%_ } else { _%> + jwtAuthenticationConverter.setJwtGrantedAuthoritiesConverter(grantedAuthoritiesConverter) +<%_ } _%> + return jwtAuthenticationConverter + } + +<%_ if (communicationSpringWebsocket) { %> + @Bean + fun bearerTokenResolver(): BearerTokenResolver{ + val bearerTokenResolver = new DefaultBearerTokenResolver() + bearerTokenResolver.setAllowUriQueryParameter(true) + return bearerTokenResolver + } + +<%_ } _%> + private fun getSecretKey(): SecretKey { + val keyBytes = Base64.from(jwtKey).decode() + return SecretKeySpec(keyBytes, 0, keyBytes.length, JWT_ALGORITHM.name) + } +} diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/config/WebConfigurer.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/config/WebConfigurer.kt.ejs index 16b68d376..2d1a7026a 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/config/WebConfigurer.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/config/WebConfigurer.kt.ejs @@ -42,9 +42,6 @@ import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerF <%_ if (reactive && !skipClient) { _%> import org.springframework.boot.autoconfigure.web.reactive.ResourceHandlerRegistrationCustomizer <%_ } _%> -<%_ if (messageBrokerKafka) { _%> -import org.springframework.cloud.stream.annotation.EnableBinding -<%_ } _%> import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration <%_ if (reactive) { _%> @@ -71,7 +68,7 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource import org.springframework.web.filter.CorsFilter <%_ } _%> <%_ if (reactive) { _%> -import org.springframework.web.cors.reactive.CorsWebFilter +import org.springframework.web.cors.reactive.CorsConfigurationSource import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource import org.springframework.web.reactive.config.WebFluxConfigurer <%_ if (!skipClient) { _%> @@ -86,8 +83,8 @@ import org.springframework.web.server.WebExceptionHandler import org.springframework.web.server.WebFilter import org.springframework.web.server.WebFilterChain <%_ } _%> -import org.zalando.problem.spring.webflux.advice.ProblemExceptionHandler -import org.zalando.problem.spring.webflux.advice.ProblemHandling +import <%= packageName %>.web.rest.errors.ExceptionTranslator +import tech.jhipster.web.rest.errors.ReactiveWebExceptionHandler <%_ if (!skipClient) { _%> import reactor.core.publisher.Mono <%_ } _%> @@ -114,9 +111,6 @@ import java.util.concurrent.TimeUnit /** * Configuration of web application with Servlet 3.0 APIs. */ -<%_ if (messageBrokerKafka) { _%> -@EnableBinding(KafkaSseConsumer::class, KafkaSseProducer::class) -<%_ } _%> @Configuration class WebConfigurer( <% if (!reactive || (devDatabaseTypeH2Any && reactive)) { %> @@ -192,7 +186,7 @@ class WebConfigurer( <%_ } _%> @Bean - fun corsFilter(): Cors<% if (reactive) { %>Web<% } %>Filter { + fun <% if (reactive) { %>corsConfigurationSource(): CorsConfigurationSource<% } else { %>corsFilter(): CorsFilter<% } %>{ val source = UrlBasedCorsConfigurationSource() val config = jHipsterProperties.cors if (!CollectionUtils.isEmpty(config.allowedOrigins) || ! CollectionUtils.isEmpty(config.allowedOriginPatterns)) { @@ -209,7 +203,7 @@ class WebConfigurer( <%_ } _%> } } - return Cors<% if (reactive) { %>Web<% } %>Filter(source) + return <% if (reactive) { %>source<% } else { %>CorsFilter(source)<% } %> } <%_ if (reactive) { _%> @@ -225,9 +219,10 @@ class WebConfigurer( @Bean @Order(-2) // The handler must have precedence over WebFluxResponseStatusExceptionHandler and Spring Boot's ErrorWebExceptionHandler - fun problemExceptionHandler(mapper: ObjectMapper, problemHandling: ProblemHandling): WebExceptionHandler { - return ProblemExceptionHandler(mapper, problemHandling) + fun problemExceptionHandler(mapper: ObjectMapper, problemHandling: ExceptionTranslator): WebExceptionHandler { + return ReactiveWebExceptionHandler(problemHandling, mapper) } + <%_ if (!skipClient) { _%> @Bean diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/domain/User.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/domain/User.kt.ejs index ee61092bc..f43b9d3b0 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/domain/User.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/domain/User.kt.ejs @@ -44,6 +44,9 @@ import org.springframework.data.annotation.Id import org.springframework.data.annotation.Transient import org.springframework.data.relational.core.mapping.Column import org.springframework.data.relational.core.mapping.Table + <%_ if (requiresPersistableImplementation) { _%> +import org.springframework.data.domain.Persistable; + <%_ } _%> <%_ } _%> <%_ if (databaseTypeMongodb) { _%> import org.springframework.data.annotation.Id @@ -140,7 +143,7 @@ import org.springframework.data.couchbase.core.mapping.id.GenerationStrategy.USE <%_ if (searchEngineElasticsearch) { _%> @org.springframework.data.elasticsearch.annotations.Document(indexName = "user") <%_ } _%> -class <%= user.persistClass %> ( +class <%= user.persistClass %> ( <%_ if (databaseTypeSql) { _%> @Id @@ -149,7 +152,7 @@ class <%= user.persistClass %> ( @GeneratedValue(strategy = GenerationType.IDENTITY) <%_ } else if (user.primaryKey.fields[0].jpaGeneratedValue === 'sequence') { _%> @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator") - @SequenceGenerator(name = "sequenceGenerator") + @SequenceGenerator(name = "sequenceGenerator"<% if (user.primaryKey.fields[0].liquibaseCustomSequenceGenerator) { %>, sequenceName = "<%- user.primaryKey.fields[0].jpaSequenceGeneratorName %>"<% } %>) <%_ } else if (user.primaryKey.fields[0].jpaGeneratedValue) { _%> @GeneratedValue <%_ } _%> @@ -162,7 +165,11 @@ class <%= user.persistClass %> ( <%_ if (!authenticationTypeOauth2) { _%> @GeneratedValue(UUIDStringGenerator::class) <%_ } _%> + <%_ if (databaseMigrationLiquibase) { _%> + @Property("id") + <%_ } else { _%> @Property("user_id") + <%_ } _%> <%_ } else { _%> <%_ if (databaseTypeMongodb || databaseTypeCouchbase) { _%> @@ -208,6 +215,9 @@ class <%= user.persistClass %> ( <%_ if (databaseTypeSql && reactive) { _%> @Column("password_hash") <%_ } _%> + <%_ if (databaseTypeNeo4j && databaseMigrationLiquibase) { _%> + @Property("password_hash") + <%_ } _%> var password: String? = null, <%_ } _%> @@ -386,9 +396,9 @@ class <%= user.persistClass %> ( <% if (databaseTypeSql && reactive) { %> @Transient <% } %> - <% if (['sql', 'mongodb', 'neo4j'].includes(databaseType)) { %> + <% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { %> var authorities: MutableSet = mutableSetOf() - <% } else if (['cassandra', 'couchbase'].includes(databaseType)) { %> + <% } else { %> var authorities: MutableSet = mutableSetOf() <% } %><% if (authenticationTypeSession && databaseTypeSql && !reactive) { %>, @@ -398,12 +408,17 @@ class <%= user.persistClass %> ( @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) <%_ } _%> var persistentTokens: MutableSet = mutableSetOf()<% } %><% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %>, + <%_ if (databaseTypeSql && reactive && requiresPersistableImplementation) { _%> + + @Transient + var isPersisted: Boolean = true, + <%_ } _%> createdBy: String? = null, createdDate: Instant? = Instant.now(), lastModifiedBy: String? = null, lastModifiedDate: Instant? = Instant.now() <%_ } _%> -) : <% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %>AbstractAuditingEntity<<%= user.primaryKey.type %>>(createdBy, createdDate, lastModifiedBy, lastModifiedDate), <% } %>Serializable { +) : <% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %>AbstractAuditingEntity<<%= user.primaryKey.type %>>(createdBy, createdDate, lastModifiedBy, lastModifiedDate), <% } %>Serializable<% if (databaseTypeSql && reactive && requiresPersistableImplementation) { %>, Persistable<<% if (user.primaryKey.hasUUID) { %>UUID<% } else { %>String<% } %>><% } %> { <%_ if (databaseTypeSql && reactive) { _%> @PersistenceConstructor @@ -465,7 +480,7 @@ class <%= user.persistClass %> ( override fun equals(other: Any?): Boolean { if (this === other) return true - if (other !is <%= user.persistClass %>) return false + if (other !is <%= user.persistClass %> ) return false if (other.id == null || id == null) return false return id == other.id @@ -474,7 +489,7 @@ class <%= user.persistClass %> ( override fun hashCode() = 31 override fun toString() = - "<%= user.persistClass %>{" + + "<%= user.persistClass %> {" + "login='" + login + '\'' + ", firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/security/SecurityUtils.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/security/SecurityUtils.kt.ejs index 15d2ef6be..7c884c2b4 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/security/SecurityUtils.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/security/SecurityUtils.kt.ejs @@ -22,22 +22,21 @@ package <%= packageName %>.security import org.springframework.security.core.Authentication import org.springframework.security.core.GrantedAuthority -<%_ if (authenticationTypeOauth2) { _%> -import org.springframework.security.core.authority.SimpleGrantedAuthority -<%_ } _%> +import org.springframework.security.core.context.SecurityContext <%_ if (reactive) { _%> import org.springframework.security.core.context.ReactiveSecurityContextHolder -import org.springframework.security.core.context.SecurityContext -<%_ } _%> -<%_ if (!reactive) { _%> +<%_ } else { _%> import org.springframework.security.core.context.SecurityContextHolder <%_ } _%> import org.springframework.security.core.userdetails.UserDetails +<%_ if (authenticationTypeJwt) { _%> +import org.springframework.security.oauth2.jose.jws.MacAlgorithm +import org.springframework.security.oauth2.jwt.Jwt +<%_ } _%> <%_ if (authenticationTypeOauth2) { _%> +import org.springframework.security.core.authority.SimpleGrantedAuthority import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken -<%_ } _%> -<%_ if (authenticationTypeOauth2) { _%> import java.util.* import java.util.stream.Collectors <%_ if (reactive) { _%> @@ -58,6 +57,10 @@ import java.util.stream.Stream <%_ if (authenticationTypeOauth2) { _%> const val CLAIMS_NAMESPACE = "https://www.jhipster.tech/" +<%_ } else if (authenticationTypeJwt) { _%> +const val JWT_ALGORITHM: MacAlgorithm = MacAlgorithm.HS512 + +const val AUTHORITIES_KEY: String = "auth"; <%_ } _%> /** @@ -76,29 +79,27 @@ fun getCurrentUserLogin(): <% if (reactive) { %>Mono<% } else { %>Optional<% } % fun extractPrincipal(authentication: Authentication?): String? { - - if(authentication == null) { + if (authentication == null) { return null - <%_ if (authenticationTypeOauth2) { _%> + } else if (authentication.principal is UserDetails) { + return (authentication.principal as UserDetails).username +<%_ if (authenticationTypeJwt) { _%> + } else if (authentication.principal is Jwt) { + return (authentication.principal as Jwt).subject +<%_ } _%> +<%_ if (authenticationTypeOauth2) { _%> } else if (authentication is JwtAuthenticationToken) { - return authentication.token.claims["preferred_username"].toString() - <%_ } _%> - } - - return when (val principal = authentication.principal) { - is UserDetails -> principal.username - <%_ if (authenticationTypeOauth2) { _%> - is DefaultOidcUser -> { - if(principal.attributes.containsKey("preferred_username")) { - principal.attributes["preferred_username"].toString() - } else { - null - } + return authentication.token.claims["preferred_username"] as String + } else if (authentication.principal is DefaultOidcUser) { + val attributes = (authentication.principal as DefaultOidcUser).attributes + if (attributes.containsKey("preferred_username")) { + return attributes["preferred_username"] as String } - <%_ } _%> - is String -> principal - else -> null +<%_ } _%> + } else if (authentication.principal is String) { + return authentication.principal as String } + return null } <%_ if (authenticationTypeJwt) { _%> diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/service/MailService.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/service/MailService.kt.ejs index cf380b0b4..dbfe4fddf 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/service/MailService.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/service/MailService.kt.ejs @@ -36,7 +36,7 @@ import org.springframework.mail.javamail.MimeMessageHelper import org.springframework.scheduling.annotation.Async import org.springframework.stereotype.Service import org.thymeleaf.context.Context -import org.thymeleaf.spring5.SpringTemplateEngine +import org.thymeleaf.spring6.SpringTemplateEngine private const val USER = "user" private const val BASE_URL = "baseUrl" diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_imperative.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_imperative.kt.ejs new file mode 100644 index 000000000..4f49da5a7 --- /dev/null +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_imperative.kt.ejs @@ -0,0 +1,60 @@ +<%# + Copyright 2013-2024 the original author or authors from the JHipster project. + + This file is part of the JHipster project, see https://www.jhipster.tech/ + for more information. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-%> +package <%= packageName %>.web.filter + +import jakarta.servlet.FilterChain +import jakarta.servlet.ServletException +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse +import java.io.IOException +import org.springframework.web.filter.OncePerRequestFilter + +class SpaWebFilter: OncePerRequestFilter() { + + /** + * Forwards any unmapped paths (except those containing a period) to the client {@code index.html}. + */ + @Throws(ServletException::class, IOException::class) + override protected fun doFilterInternal(request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain){ + // Request URI includes the contextPath if any, removed it. + val path = request.requestURI.substring(request.contextPath.length()) + if ( + !path.startsWith("/api") && + !path.startsWith("/management") && + !path.startsWith("/v3/api-docs") && +<%_ if (devDatabaseTypeH2Any) { _%> + !path.startsWith("/h2-console") && +<%_ } _%> +<%_ if (authenticationTypeOauth2 && applicationTypeMonolith) { _%> + !path.startsWith("/login") && + !path.startsWith("/oauth2") && +<%_ } _%> +<%_ if (communicationSpringWebsocket) { _%> + !path.startsWith("/websocket") && +<%_ } _%> + !path.contains(".") && + path.matches("/(.*)") + ) { + request.getRequestDispatcher("/index.html").forward(request, response) + return + } + + filterChain.doFilter(request, response) + } +} diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_reactive.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_reactive.kt.ejs index e2cb6be7b..2945a3176 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_reactive.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/filter/SpaWebFilter_reactive.kt.ejs @@ -26,12 +26,21 @@ import reactor.core.publisher.Mono class SpaWebFilter : WebFilter { override fun filter(exchange: ServerWebExchange, chain: WebFilterChain): Mono { val path = exchange.request.uri.path - if(!path.startsWith("/api") && !path.startsWith("/management")<% if (authenticationTypeOauth2) { %> && !path.startsWith("/login")<% } %> - <%_ if (applicationTypeGateway || applicationTypeMonolith) { _%> - && !path.startsWith("/services") && !path.startsWith("/v3/api-docs") - <%_ } _%> - && path.matches(Regex("[^\\\\.]*"))) { - return chain.filter(exchange.mutate().request(exchange.request.mutate().path("/index.html").build()).build()) + if ( + !path.startsWith("/api") && + !path.startsWith("/management") && + !path.startsWith("/v3/api-docs") && +<%_ if (authenticationTypeOauth2 && (applicationTypeGateway || applicationTypeMonolith)) { _%> + !path.startsWith("/login") && + !path.startsWith("/oauth2") && +<%_ } _%> +<%_ if (applicationTypeGateway) { _%> + !path.startsWith("/services") && +<%_ } _%> + !path.contains(".") && + path.matches("/(.*)") + ) { + return chain.filter(exchange.mutate().request(exchange.getRequest().mutate().path("/index.html").build() ).build()) } return chain.filter(exchange) } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource.kt.ejs index 994a27cf2..1e63da1d9 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource.kt.ejs @@ -18,168 +18,6 @@ limitations under the License. -%> package <%= packageName %>.web.rest -<%_ if (authenticationTypeOauth2) { _%> - <%_ if (reactive) { _%> -import <%= packageName %>.security.getCurrentUserLogin - <%_ } _%> -import <%= packageName %>.service.UserService -import <%= packageName %>.service.dto.<%= user.adminUserDto %> - -import org.slf4j.LoggerFactory -import org.springframework.security.authentication.AbstractAuthenticationToken -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping -import org.springframework.web.bind.annotation.RestController -<%_ if (reactive) { _%> -import org.springframework.web.server.ServerWebExchange -import reactor.core.publisher.Mono -<%_ } else { _%> -import jakarta.servlet.http.HttpServletRequest -<%_ } _%> - -import java.security.Principal - -/** - * REST controller for managing the current user's account. - */ -@RestController -@RequestMapping("/api") -class AccountResource(private val userService: UserService) { - - internal class AccountResourceException(message: String) : RuntimeException(message) - - private val log = LoggerFactory.getLogger(javaClass) - - /** - * `GET /account` : get the current user. - * - * @param principal the current user; resolves to `null` if not authenticated. - * @return the current user. - * @throws AccountResourceException `500 (Internal Server Error)` if the user couldn't be returned. - */ - @GetMapping("/account") - fun getAccount(principal: Principal?): <% if (reactive) { %>Mono<<%= user.adminUserDto %>><% } else { %><%= user.adminUserDto %><% } %> = - if (principal is AbstractAuthenticationToken) { - userService.getUserFromAuthentication(principal) - } else { - throw AccountResourceException("User could not be found") - } - - /** - * {@code GET /authenticate} : check if the user is authenticated, and return its login. - * - * @param request the HTTP request. - * @return the login if the user is authenticated. - */ - @GetMapping("/authenticate") - <%_ if (reactive) { _%> - fun isAuthenticated(request: ServerWebExchange): Mono { - log.debug("REST request to check if the current user is authenticated") - return request.getPrincipal().map(Principal::getName) - <%_ } else { _%> - fun isAuthenticated(request: HttpServletRequest): String? { - log.debug("REST request to check if the current user is authenticated") - return request.remoteUser - <%_ } _%> - } - - companion object { - private const val serialVersionUID = 1L - } -} -<%_ } else if (skipUserManagement) { _%> -<%_ if (!reactive) { _%> -import <%= packageName %>.security.getCurrentUserLogin -<%_ } _%> -import com.fasterxml.jackson.annotation.JsonCreator -import org.slf4j.Logger -import org.slf4j.LoggerFactory -import org.springframework.security.core.GrantedAuthority -<%_ if (reactive) { _%> -import org.springframework.security.core.context.ReactiveSecurityContextHolder -import org.springframework.security.core.context.SecurityContext -import org.springframework.security.core.userdetails.UserDetails -<%_ } else { _%> -import org.springframework.security.core.context.SecurityContextHolder -<%_ } _%> -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping -import org.springframework.web.bind.annotation.RestController -<%_ if (reactive) { _%> -import org.springframework.web.server.ServerWebExchange -import reactor.core.publisher.Mono -<%_ } else { _%> -import jakarta.servlet.http.HttpServletRequest -<%_ } _%> - -@RestController -@RequestMapping("/api") -class AccountResource { - - private val log = LoggerFactory.getLogger(javaClass) - - internal class AccountResourceException : RuntimeException() - - /** - * {@code GET /account} : get the current user. - * - * @return the current user. - * @throws AccountResourceException {@code 500 (Internal Server Error)} if the user couldn't be returned. - */ - @GetMapping("/account") - <%_ if (reactive) { _%> - fun getAccount(): Mono { - return ReactiveSecurityContextHolder.getContext() - .map { SecurityContext.getAuthentication(it) } - .map { authentication -> { - var login = "" - if (authentication.principal is UserDetails) { - login = authentication.principal.username - } else if (authentication.principal is String) { - login = authentication.principal - } else { - throw AccountResourceException() - } - val authorities = authentication.authorities() - .map { GrantedAuthority.getAuthority(it) } - .toSet() - return UserVM(login, authorities) - }} - .switchIfEmpty(Mono.error(AccountResourceException())) - <%_ } else { _%> - fun getAccount(): UserVM { - val login = getCurrentUserLogin() - .orElseThrow { AccountResourceException() } - val authorities = SecurityContextHolder.getContext().authentication.authorities - .mapNotNullTo(mutableSetOf()) { it.authority } - return UserVM(login, authorities) - <%_ } _%> - } - - /** - * {@code GET /authenticate} : check if the user is authenticated, and return its login. - * - * @param request the HTTP request. - * @return the login if the user is authenticated. - */ - @GetMapping("/authenticate") - <%_ if (reactive) { _%> - fun isAuthenticated(request: ServerWebExchange): Mono { - log.debug("REST request to check if the current user is authenticated") - return request.getPrincipal().map(Principal::getName) - <%_ } else { _%> - fun isAuthenticated(request: HttpServletRequest): String? { - log.debug("REST request to check if the current user is authenticated") - return request.remoteUser - <%_ } _%> - } - - data class UserVM @JsonCreator constructor(val login: String, val authorities: Set) { - - fun isActivated() = true - } -} -<%_ } else { _%> <%_ if (authenticationTypeSession && !reactive) { _%> import <%= packageName %>.domain.PersistentToken import <%= packageName %>.repository.PersistentTokenRepository @@ -217,7 +55,7 @@ import org.springframework.web.server.ServerWebExchange import reactor.core.publisher.Mono <%_ } _%> -<%_ if (!reactive) { _%> +<%_ if (!reactive && !authenticationTypeJwt) { _%> import jakarta.servlet.http.HttpServletRequest <%_ } _%> import jakarta.validation.Valid @@ -289,6 +127,7 @@ class AccountResource( <%_ } _%> } + <%_ if (!authenticationTypeJwt) { _%> /** * `GET /authenticate` : check if the user is authenticated, and return its login. * @@ -307,6 +146,8 @@ class AccountResource( <%_ } _%> } + <%_ } _%> + /** * `GET /account` : get the current user. * @@ -491,4 +332,3 @@ class AccountResource( } private fun isPasswordLengthInvalid(password: String?) = password.isNullOrEmpty() || password.length < ManagedUserVM.PASSWORD_MIN_LENGTH || password.length > ManagedUserVM.PASSWORD_MAX_LENGTH -<%_ } _%> diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_oauth2.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_oauth2.kt.ejs new file mode 100644 index 000000000..2e04ecf96 --- /dev/null +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_oauth2.kt.ejs @@ -0,0 +1,89 @@ +<%# +Copyright 2013-2024 the original author or authors from the JHipster project. + +This file is part of the JHipster project, see https://www.jhipster.tech/ +for more information. + +Licensed under the Apache License, Version 2.0 (the " +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-%> +package <%= packageName %>.web.rest + +<%_ if (reactive) { _%> +import <%= packageName %>.security.getCurrentUserLogin +<%_ } _%> +import <%= packageName %>.service.UserService +import <%= packageName %>.service.dto.<%= user.adminUserDto %> + +import org.slf4j.LoggerFactory +import org.springframework.security.authentication.AbstractAuthenticationToken +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController +<%_ if (reactive) { _%> +import org.springframework.web.server.ServerWebExchange +import reactor.core.publisher.Mono +<%_ } else { _%> +import jakarta.servlet.http.HttpServletRequest +<%_ } _%> + +import java.security.Principal + +/** + * REST controller for managing the current user's account. + */ +@RestController +@RequestMapping("/api") +class AccountResource(private val userService: UserService) { + + internal class AccountResourceException(message: String) : RuntimeException(message) + + private val log = LoggerFactory.getLogger(javaClass) + + /** + * `GET /account` : get the current user. + * + * @param principal the current user; resolves to `null` if not authenticated. + * @return the current user. + * @throws AccountResourceException `500 (Internal Server Error)` if the user couldn't be returned. + */ + @GetMapping("/account") + fun getAccount(principal: Principal?): <% if (reactive) { %>Mono<<%= user.adminUserDto %>><% } else { %><%= user.adminUserDto %><% } %> = + if (principal is AbstractAuthenticationToken) { + userService.getUserFromAuthentication(principal) + } else { + throw AccountResourceException("User could not be found") + } + + /** + * {@code GET /authenticate} : check if the user is authenticated, and return its login. + * + * @param request the HTTP request. + * @return the login if the user is authenticated. + */ + @GetMapping("/authenticate") + <%_ if (reactive) { _%> + fun isAuthenticated(request: ServerWebExchange): Mono { + log.debug("REST request to check if the current user is authenticated") + return request.getPrincipal().map(Principal::getName) + } + <%_ } else { _%> + fun isAuthenticated(request: HttpServletRequest): String? { + log.debug("REST request to check if the current user is authenticated") + return request.remoteUser + } + <%_ } _%> + + companion object { + private const val serialVersionUID = 1L + } +} diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_skipUserManagement.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_skipUserManagement.kt.ejs new file mode 100644 index 000000000..c641e2564 --- /dev/null +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AccountResource_skipUserManagement.kt.ejs @@ -0,0 +1,174 @@ +<%# +Copyright 2013-2024 the original author or authors from the JHipster project. + +This file is part of the JHipster project, see https://www.jhipster.tech/ +for more information. + +Licensed under the Apache License, Version 2.0 (the " +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-%> +package <%= packageName %>.web.rest + +<%_ if (reactive) { _%> +import reactor.core.publisher.Mono +<%_ } else { _%> +import jakarta.servlet.http.HttpServletRequest +<%_ } _%> + +<%_ if (authenticationTypeOauth2) { _%> +import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken + <%_ if (reactive) { _%> +import org.springframework.web.server.ServerWebExchange + <%_ } _%> +<%_ } _%> +<%_ if (authenticationTypeOauth2 || authenticationTypeJwt) { _%> +import java.security.Principal +import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken +import org.springframework.security.authentication.AbstractAuthenticationToken +<%_ } else { _%> + <%_ if (reactive) { _%> +import java.security.Principal +import org.springframework.web.server.ServerWebExchange +import org.springframework.security.core.context.ReactiveSecurityContextHolder +import org.springframework.security.core.context.SecurityContext +import org.springframework.security.core.userdetails.UserDetails + <%_ } else { _%> +import <%= packageName %>.security.SecurityUtils +import org.springframework.security.core.context.SecurityContextHolder + <%_ } _%> +<%_ } _%> + +import com.fasterxml.jackson.annotation.JsonCreator +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.security.core.GrantedAuthority +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +import java.util.Set +import java.util.stream.Collectors + +@RestController +@RequestMapping("/api") +class AccountResource { + + private val log = LoggerFactory.getLogger(javaClass) + + internal class AccountResourceException <% if (authenticationTypeOauth2 || authenticationTypeJwt) { %>(message: String) <% } %> : RuntimeException(<% if (authenticationTypeOauth2 || authenticationTypeJwt) { %>(message) <% } %>) + + /** + * {@code GET /account} : get the current user. + * +<%_ if (authenticationTypeOauth2 || authenticationTypeJwt) { _%> + * @param principal the current user; resolves to {@code null} if not authenticated. +<%_ } _%> + * @return the current user. + * @throws AccountResourceException {@code 500 (Internal Server Error)} if the user couldn't be returned. + */ + @GetMapping("/account") +<%_ if (reactive) { _%> + <%_ if (authenticationTypeOauth2 || authenticationTypeJwt) { _%> + fun getAccount(principal: Principal): Mono{ + if (principal is AbstractAuthenticationToken) { + return Mono.just(getUserFromAuthentication(principal as AbstractAuthenticationToken)) + } else { + throw AccountResourceException("User could not be found") + } + } + <%_ } else { _%> + fun getAccount(): Mono { + return ReactiveSecurityContextHolder.getContext() + .map { SecurityContext.getAuthentication(it) } + .map { authentication -> { + var login = "" + if (authentication.principal is UserDetails) { + login = authentication.principal.username + } else if (authentication.principal is String) { + login = authentication.principal + } else { + throw AccountResourceException() + } + val authorities = authentication.authorities() + .map { GrantedAuthority.getAuthority(it) } + .toSet() + return UserVM(login, authorities) + } + } + .switchIfEmpty(Mono.error(AccountResourceException())) + } + <%_ } _%> +<%_ } else { _%> + <%_ if (authenticationTypeOauth2 || authenticationTypeJwt) { _%> + fun getAccount(principal: Principal): UserVM { + if (principal is AbstractAuthenticationToken) { + return getUserFromAuthentication(principal as AbstractAuthenticationToken) + } else { + throw AccountResourceException("User could not be found") + } + } + <%_ } else { _%> + fun getAccount(): UserVM { + val login = getCurrentUserLogin() + .orElseThrow { AccountResourceException() } + val authorities = SecurityContextHolder.getContext().authentication.authorities + .mapNotNullTo(mutableSetOf()) { it.authority } + return UserVM(login, authorities) + } + <%_ } _%> +<%_ } _%> + +<%_ if (!authenticationTypeJwt) { _%> + /** + * {@code GET /authenticate} : check if the user is authenticated, and return its login. + * + * @param request the HTTP request. + * @return the login if the user is authenticated. + */ + @GetMapping("/authenticate") + <%_ if (reactive) { _%> + fun isAuthenticated(request: ServerWebExchange): Mono { + log.debug("REST request to check if the current user is authenticated") + return request.getPrincipal().map(Principal::getName) + } + <%_ } else { _%> + fun isAuthenticated(request: HttpServletRequest): String? { + log.debug("REST request to check if the current user is authenticated") + return request.remoteUser + } + <%_ } _%> +<%_ } _%> + + data class UserVM @JsonCreator constructor(val login: String, val authorities: Set) { + + fun isActivated() = true + } + + <%_ if (authenticationTypeOauth2 || authenticationTypeJwt) { _%> + + private fun getUserFromAuthentication(authToken: AbstractAuthenticationToken): UserVM{ + if ( + <%_ if (authenticationTypeOauth2) { _%> + !(authToken is OAuth2AuthenticationToken) && + <%_ } _%> + !(authToken is JwtAuthenticationToken) + ) { + throw IllegalArgumentException("AuthenticationToken is not OAuth2 or JWT!") + } + + return UserVM( + authToken.name, + authToken.authorities.stream().map(GrantedAuthority::getAuthority).collect(Collectors.toSet()) + ); + } + <%_ } _%> +} diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AuthenticateController.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AuthenticateController.kt.ejs index 7c52207e5..83f503be6 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AuthenticateController.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/AuthenticateController.kt.ejs @@ -18,57 +18,70 @@ -%> package <%= packageName %>.web.rest -import <%= packageName %>.security.jwt.JWTFilter -import <%= packageName %>.security.jwt.TokenProvider +import <%= packageName %>.security.SecurityUtils.AUTHORITIES_KEY +import <%= packageName %>.security.SecurityUtils.JWT_ALGORITHM import <%= packageName %>.web.rest.vm.LoginVM import com.fasterxml.jackson.annotation.JsonProperty +import jakarta.validation.Valid +import java.time.Instant +import java.time.temporal.ChronoUnit +import java.util.stream.Collectors +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Value import org.springframework.http.HttpHeaders import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken +import org.springframework.security.core.GrantedAuthority +import org.springframework.security.oauth2.jwt.JwsHeader +import org.springframework.security.oauth2.jwt.JwtClaimsSet +import org.springframework.security.oauth2.jwt.JwtEncoder +import org.springframework.security.oauth2.jwt.JwtEncoderParameters +import org.springframework.web.bind.annotation.* <%_ if (reactive) { _%> +import java.security.Principal +import reactor.core.publisher.Mono +import org.springframework.web.server.ServerWebExchange import org.springframework.security.authentication.ReactiveAuthenticationManager -<%_ } _%> -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken -<%_ if (!reactive) { _%> +<%_ } else { _%> +import jakarta.servlet.http.HttpServletRequest import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder import org.springframework.security.core.context.SecurityContextHolder <%_ } _%> -import org.springframework.web.bind.annotation.PostMapping -import org.springframework.web.bind.annotation.RequestBody -import org.springframework.web.bind.annotation.RequestMapping -import org.springframework.web.bind.annotation.RestController -<%_ if (reactive) { _%> -import reactor.core.publisher.Mono -import reactor.core.scheduler.Schedulers -<%_ } _%> - -import jakarta.validation.Valid /** * Controller to authenticate users. */ @RestController @RequestMapping("/api") -class UserJWTController( - private val tokenProvider: TokenProvider, +class AuthenticateController( + private val jwtEncoder: JwtEncoder, <%_ if (reactive) { _%> private val authenticationManager: ReactiveAuthenticationManager <%_ } else { _%> private val authenticationManagerBuilder: AuthenticationManagerBuilder <%_ } _%> ) { + + @Value("\${jhipster.security.authentication.jwt.token-validity-in-seconds:0}") + private var tokenValidityInSeconds: Long = 0 + + @Value("\${jhipster.security.authentication.jwt.token-validity-in-seconds-for-remember-me:0}") + private var tokenValidityInSecondsForRememberMe: Long = 0 + <%_ if (reactive) { _%> @PostMapping("/authenticate") fun authorize(@Valid @RequestBody loginVM: Mono): Mono> = loginVM.flatMap { login -> authenticationManager.authenticate(UsernamePasswordAuthenticationToken(login.username, login.password)) - .map { tokenProvider.createToken(it, true == login.isRememberMe) } + .map { this.createToken(it, true == login.isRememberMe) } }.map{ jwt -> val httpHeaders = HttpHeaders() - httpHeaders.add(JWTFilter.AUTHORIZATION_HEADER, "Bearer $jwt") + httpHeaders.setBearerAuth(jwt) ResponseEntity(JWTToken(jwt), httpHeaders, HttpStatus.OK) } <%_ } else { _%> @@ -79,13 +92,55 @@ class UserJWTController( val authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken) SecurityContextHolder.getContext().authentication = authentication - val jwt = tokenProvider.createToken(authentication, loginVM.isRememberMe ?: false) + val jwt = this.createToken(authentication, loginVM.isRememberMe ?: false) val httpHeaders = HttpHeaders() - httpHeaders.add(JWTFilter.AUTHORIZATION_HEADER, "Bearer $jwt") + httpHeaders.setBearerAuth(jwt) return ResponseEntity(JWTToken(jwt), httpHeaders, HttpStatus.OK) } <%_ } _%> + + + /** + * {@code GET /authenticate} : check if the user is authenticated, and return its login. + * + * @param request the HTTP request. + * @return the login if the user is authenticated. + */ + @GetMapping("/authenticate") +<%_ if (reactive) { _%> + fun isAuthenticated(request: ServerWebExchange): Mono { + log.debug("REST request to check if the current user is authenticated") + return request.getPrincipal().map(Principal::getName) +<%_ } else { _%> + fun isAuthenticated(request: HttpServletRequest): String { + log.debug("REST request to check if the current user is authenticated") + return request.getRemoteUser() +<%_ } _%> + } + + fun createToken(authentication: Authentication, rememberMe: boolean): String { + val authorities = authentication.authorities.stream().map { it.authority }.collect(Collectors.joining(" ")) + + val now = Instant.now() + var validity = if (rememberMe) { + now.plus(this.tokenValidityInSecondsForRememberMe, ChronoUnit.SECONDS); + } else { + now.plus(this.tokenValidityInSeconds, ChronoUnit.SECONDS); + } + + // @formatter:off + val claims = JwtClaimsSet.builder() + .issuedAt(now) + .expiresAt(validity) + .subject(authentication.name) + .claim(AUTHORITIES_KEY, authorities) + .build() + + val jwsHeader = JwsHeader.with(JWT_ALGORITHM).build() + return this.jwtEncoder.encode(JwtEncoderParameters.from(jwsHeader, claims)).tokenValue + } + /** * Object to return as body in JWT Authentication. */ diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/BadRequestAlertException.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/BadRequestAlertException.kt.ejs index d7259a5a9..546938029 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/BadRequestAlertException.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/BadRequestAlertException.kt.ejs @@ -18,32 +18,32 @@ -%> package <%= packageName %>.web.rest.errors -import org.zalando.problem.AbstractThrowableProblem -import org.zalando.problem.Exceptional -import org.zalando.problem.Status - +import org.springframework.http.HttpStatus +import org.springframework.web.ErrorResponseException +import tech.jhipster.web.rest.errors.ProblemDetailWithCause +import tech.jhipster.web.rest.errors.ProblemDetailWithCause.ProblemDetailWithCauseBuilder import java.net.URI -@SuppressWarnings("java:S110") // Inheritance tree of classes should not be too deep -open class BadRequestAlertException(type: URI, defaultMessage: String, val entityName: String, val errorKey: String) : - AbstractThrowableProblem( - type, defaultMessage, Status.BAD_REQUEST, null, null, null, - getAlertParameters(entityName, errorKey) - ) { - - constructor(defaultMessage: String, entityName: String, errorKey: String) : - this(DEFAULT_TYPE, defaultMessage, entityName, errorKey) - - override fun getCause(): Exceptional? = super.cause +// Inheritance tree of classes should not be too deep +open class BadRequestAlertException(type: URI?, defaultMessage: String?, val entityName: String?, val errorKey: String) : ErrorResponseException( + HttpStatus.BAD_REQUEST, + ProblemDetailWithCauseBuilder + .instance() + .withStatus(HttpStatus.BAD_REQUEST.value()) + .withType(type) + .withTitle(defaultMessage) + .withProperty("message", "error.$errorKey") + .withProperty("params", entityName) + .build(), + null +) { + + constructor(defaultMessage: String?, entityName: String?, errorKey: String) : this(ErrorConstants.DEFAULT_TYPE, defaultMessage, entityName, errorKey) + + val problemDetailWithCause: ProblemDetailWithCause + get() = body as ProblemDetailWithCause companion object { - private const val serialVersionUID = 1L - - private fun getAlertParameters(entityName: String, errorKey: String) = - mutableMapOf( - "message" to "error.$errorKey", - "params" to entityName - ) } } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/ExceptionTranslator.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/ExceptionTranslator.kt.ejs index 91f051d6b..ff8e17a75 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/ExceptionTranslator.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/ExceptionTranslator.kt.ejs @@ -18,6 +18,8 @@ -%> package <%= packageName %>.web.rest.errors +import org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation + import tech.jhipster.config.JHipsterConstants import tech.jhipster.web.util.HeaderUtil @@ -34,27 +36,38 @@ import org.springframework.http.converter.HttpMessageConversionException <%_ if (reactive && databaseTypeSql) { _%> import org.springframework.stereotype.Component <%_ } _%> -<%_ if (!reactive) { _%> -import org.springframework.web.bind.MethodArgumentNotValidException -<%_ } _%> +import org.springframework.web.ErrorResponseException import org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler <%_ if (reactive) { _%> +<%_ if (!skipUserManagement) { _%> +import org.springframework.security.core.AuthenticationException +<%_ } _%> import org.springframework.web.bind.support.WebExchangeBindException import org.springframework.web.server.ServerWebExchange +import org.springframework.http.MediaType +import tech.jhipster.web.rest.errors.ExceptionTranslation +import org.springframework.web.reactive.result.method.annotation.ResponseEntityExceptionHandler +import org.springframework.security.core.userdetails.UsernameNotFoundException <%_ } _%> <%_ if (!reactive) { _%> import org.springframework.web.context.request.NativeWebRequest +import org.springframework.web.context.request.WebRequest +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler <%_ } _%> import org.springframework.core.env.Environment -import org.zalando.problem.DefaultProblem -import org.zalando.problem.Problem -import org.zalando.problem.ProblemBuilder -import org.zalando.problem.Status -import org.zalando.problem.StatusType -import org.zalando.problem.spring.web<% if (reactive) { %>flux<% } %>.advice.ProblemHandling -import org.zalando.problem.spring.web<% if (reactive) { %>flux<% } %>.advice.security.SecurityAdviceTrait -import org.zalando.problem.violations.ConstraintViolationProblem +import org.springframework.http.HttpHeaders +import org.springframework.http.HttpStatus +import org.springframework.http.HttpStatusCode +import tech.jhipster.web.rest.errors.ProblemDetailWithCause +import tech.jhipster.web.rest.errors.ProblemDetailWithCause.ProblemDetailWithCauseBuilder +import org.springframework.security.access.AccessDeniedException +import org.springframework.web.ErrorResponse +import org.springframework.web.bind.annotation.ResponseStatus +import org.springframework.security.authentication.BadCredentialsException +import org.springframework.lang.Nullable +import org.springframework.web.bind.MethodArgumentNotValidException + <%_ if (reactive) { _%> import reactor.core.publisher.Mono <%_ } _%> @@ -63,11 +76,16 @@ import reactor.core.publisher.Mono import jakarta.servlet.http.HttpServletRequest <%_ } _%> import java.net.URI +import java.util.List +import java.util.Arrays +import java.util.Collection +import java.util.Map +import java.util.Optional private const val FIELD_ERRORS_KEY = "fieldErrors" private const val MESSAGE_KEY = "message" private const val PATH_KEY = "path" -private const val VIOLATIONS_KEY = "violations" +private const val CASUAL_CHAIN_ENABLED = false /** * Controller advice to translate the server side exceptions to client-friendly json structures. @@ -77,166 +95,241 @@ private const val VIOLATIONS_KEY = "violations" <%_ if (databaseTypeSql && reactive) { _%> @Component("jhiExceptionTranslator") <%_ } _%> -class ExceptionTranslator(private val env: Environment) : ProblemHandling, SecurityAdviceTrait { +class ExceptionTranslator(private val env: Environment) : ResponseEntityExceptionHandler()<% if (reactive) { %>, ExceptionTranslation <% } %> { <%_ -let returnType; -let requestClass; +let returnType +let requestClass +let requestEntityRequestClass if (reactive) { - returnType = 'Mono>'; - requestClass = 'ServerWebExchange'; + returnType = 'Mono>' + requestClass = 'ServerWebExchange' + requestEntityRequestClass = 'ServerWebExchange' } else { - returnType = 'ResponseEntity?'; - requestClass = 'NativeWebRequest'; + returnType = 'ResponseEntity' + requestClass = 'NativeWebRequest' + requestEntityRequestClass = 'WebRequest' } _%> @Value("\${jhipster.clientApp.name}") private val applicationName: String? = null - /** - * Post-process the Problem payload to add the message key for the front-end if needed. - */ - override fun process(entity: ResponseEntity?, request: <%= requestClass %>?): <%- returnType %> { - if (entity == null) { - <%_ if (reactive) { _%> - return Mono.empty() - <%_ } else { _%> - return null - <%_ } _%> - } - val problem = entity.body - if (!(problem is ConstraintViolationProblem || problem is DefaultProblem)) { - <%_ if (reactive) { _%> - return Mono.just(entity) - <%_ } else { _%> - return entity - <%_ } _%> + @ExceptionHandler + <% if (reactive) { %>override<% } %> fun handleAnyException(ex: Throwable, request: <%= requestClass %>): <%- returnType %> { + val pdCause = wrapAndCustomizeProblem(ex, request) + return handleExceptionInternal(ex as Exception, pdCause, buildHeaders(ex)!!, HttpStatusCode.valueOf(pdCause.status), request) + } + + @Nullable + override fun handleExceptionInternal( + ex: Exception, + @Nullable body: Any, + headers: HttpHeaders, + statusCode: HttpStatusCode, + request: <%= requestEntityRequestClass %> + ): <%- returnType %> { + var body = body + body = body ?: wrapAndCustomizeProblem(ex as Throwable, request) + <%_ if (reactive) { _%> + return if (request.response.isCommitted) { + Mono.error(ex) + } else Mono.just( + ResponseEntity(body, updateContentType(headers), HttpStatusCode.valueOf((body as ProblemDetailWithCause).status)) + ) + <%_ } else { _%> + return super.handleExceptionInternal(ex, body, headers, statusCode, request) + <%_ } _%> + } + + protected fun wrapAndCustomizeProblem(ex: Throwable, request: <%= requestClass %>): ProblemDetailWithCause { + return customizeProblem(getProblemDetailWithCause(ex), ex, request) + } + + private fun getProblemDetailWithCause(ex: Throwable): ProblemDetailWithCause { +<%_ if (!skipUserManagement) { _%> + if (ex is <%= packageName %>.service.UsernameAlreadyUsedException) return LoginAlreadyUsedException().body as ProblemDetailWithCause + if (ex is <%= packageName %>.service.EmailAlreadyUsedException) return EmailAlreadyUsedException().body as ProblemDetailWithCause + if (ex is <%= packageName %>.service.InvalidPasswordException) return InvalidPasswordException().body as ProblemDetailWithCause + <%_ if (reactive) { _%> + if (ex is AuthenticationException) { + // Ensure no information about existing users is revealed via failed authentication attempts + return ProblemDetailWithCauseBuilder + .instance() + .withStatus(toStatus(ex).value()) + .withTitle("Unauthorized") + .withDetail("Invalid credentials") + .build() } - <%_ if (!reactive) { _%> - val nativeRequest = request?.getNativeRequest(HttpServletRequest::class.java) - val requestUri = if (nativeRequest != null) nativeRequest.requestURI else StringUtils.EMPTY <%_ } _%> +<%_ } _%> + return if (ex is ErrorResponseException && ex.body is ProblemDetailWithCause) ex.body as ProblemDetailWithCause else ProblemDetailWithCauseBuilder.instance().withStatus(toStatus(ex).value()).build() + } - val builder = Problem.builder() - .withType(if (Problem.DEFAULT_TYPE == problem.type) DEFAULT_TYPE else problem.type) - .withStatus(problem.status) - .withTitle(problem.title) - <%_ if (reactive) { _%> - .with(PATH_KEY, request!!.request.path.value()) - <%_ } else { _%> - .with(PATH_KEY, requestUri) - <%_ } _%> - - if (problem is ConstraintViolationProblem) { - builder - .with(VIOLATIONS_KEY, problem.violations) - .with(MESSAGE_KEY, ERR_VALIDATION) - } else { - builder - .withCause((problem as DefaultProblem).cause) - .withDetail(problem.detail) - .withInstance(problem.instance) - problem.parameters.forEach { (key, value) -> builder.with(key, value) } - if (!problem.parameters.containsKey(MESSAGE_KEY) && problem.status != null) { - builder.with(MESSAGE_KEY, "error.http." + problem.status!!.statusCode) - } + protected fun customizeProblem(problem: ProblemDetailWithCause, err: Throwable, request: <%= requestClass %>): ProblemDetailWithCause { + if (problem.status <= 0) problem.setStatus(toStatus(err)) + if (problem.type == URI.create("about:blank")) problem.type = getMappedType(err) + + // higher precedence to Custom/ResponseStatus types + val title = extractTitle(err, problem.status) + val problemTitle = problem.title + if (problemTitle == null || problemTitle != title) { + problem.title = title + } + if (problem.detail == null) { + // higher precedence to cause + problem.detail = getCustomizedErrorDetails(err) } - return <% if (reactive) { %>Mono.just(<% } %>ResponseEntity<% if (reactive) { %><% } %>(builder.build(), entity.headers, entity.statusCode)<% if (reactive) { %>)<% } %> + val problemProperties = problem.properties + if (problemProperties == null || !problemProperties.containsKey(MESSAGE_KEY)) problem.setProperty( + MESSAGE_KEY, + if (getMappedMessageKey(err) != null) getMappedMessageKey(err) else "error.http." + problem.status + ) + if (problemProperties == null || !problemProperties.containsKey(PATH_KEY)) problem.setProperty(PATH_KEY, getPathValue(request)) + if (err is <% if (reactive) { %> WebExchangeBindException <% } else { %> MethodArgumentNotValidException <% } %> && + (problemProperties == null || !problemProperties.containsKey(FIELD_ERRORS_KEY))) problem.setProperty(FIELD_ERRORS_KEY, getFieldErrors(err)) + problem.cause = err.cause?.let { buildCause(it, request).orElse(null) } + return problem } - <%_ if (reactive) { _%> - override fun handleBindingResult( - ex: WebExchangeBindException, request: <%= requestClass %>) - : <%- returnType %> { - <%_ } else { _%> - override fun handleMethodArgumentNotValid( - ex: MethodArgumentNotValidException, request: <%= requestClass %> - ): <%- returnType %> { + private fun extractTitle(err: Throwable, statusCode: Int): String? { + return if (getCustomizedTitle(err) != null) getCustomizedTitle(err) else extractTitleForResponseStatus(err, statusCode) + } + + private fun getFieldErrors(ex: <% if (reactive) { %>WebExchangeBindException<% } else { %>MethodArgumentNotValidException<% } %>): List { + return ex + .bindingResult + .fieldErrors + .stream() + .map { f: FieldError -> + FieldErrorVM( + f.objectName.replaceFirst("<%= dtoSuffix %>$".toRegex(), ""), + f.field, + if (StringUtils.isNotBlank(f.defaultMessage)) f.defaultMessage else f.code + ) + } + .toList() + } + + private fun extractTitleForResponseStatus(err: Throwable, statusCode: Int): String { + val specialStatus = extractResponseStatus(err) + return specialStatus?.reason ?: HttpStatus.valueOf(statusCode).reasonPhrase + } + + <%_ if (!reactive) { _%> + private fun extractURI(request: <%= requestClass %>): String { + val nativeRequest = request.getNativeRequest(HttpServletRequest::class) + return nativeRequest != null ? nativeRequest.requestURI : StringUtils.EMPTY + } <%_ } _%> - val result = ex.bindingResult - val fieldErrors = result.fieldErrors.map { - FieldErrorVM( - it.objectName.replaceFirst(Regex("<%= dtoSuffix %>$"), ""), - it.field, - if (StringUtils.isNotBlank(it.defaultMessage)) it.defaultMessage else it.code + + private fun toStatus(throwable: Throwable): HttpStatus { + // Let the ErrorResponse take this responsibility + return if (throwable is ErrorResponse) HttpStatus.valueOf(throwable.body.status) else Optional + .ofNullable(getMappedStatus(throwable)) + .orElse( + Optional.ofNullable(resolveResponseStatus(throwable)).map { obj: ResponseStatus -> obj.value }.orElse(HttpStatus.INTERNAL_SERVER_ERROR) ) + } + + private fun extractResponseStatus(throwable: Throwable): ResponseStatus? { + return Optional.ofNullable(resolveResponseStatus(throwable)).orElse(null) + } + + private fun resolveResponseStatus(type: Throwable?): ResponseStatus { + val candidate = AnnotatedElementUtils.findMergedAnnotation(type!!.javaClass, ResponseStatus::class.java) + return if (candidate == null && type.cause != null) resolveResponseStatus(type.cause) else candidate!! + } + + private fun getMappedType(err: Throwable): URI { + return if (err is MethodArgumentNotValidException) ErrorConstants.CONSTRAINT_VIOLATION_TYPE else ErrorConstants.DEFAULT_TYPE + } + + private fun getMappedMessageKey(err: Throwable): String? { + if (err is MethodArgumentNotValidException) { + return ErrorConstants.ERR_VALIDATION + <%_ if (!databaseTypeNo && !databaseTypeCassandra) { _%> + } else if (err is ConcurrencyFailureException || err.cause is ConcurrencyFailureException) { + return ErrorConstants.ERR_CONCURRENCY_FAILURE + <%_ } _%> + <%_ if (reactive) { _%> + } else if (err is WebExchangeBindException) { + return ErrorConstants.ERR_VALIDATION + <%_ } _%> } + return null + } - val problem = Problem.builder() - .withType(CONSTRAINT_VIOLATION_TYPE) - .withTitle("<%_ if (reactive) { _%>Data binding and validation failure<% } else { %>Method argument not valid<% } %>") - .withStatus(<% if (reactive) { %>Status.BAD_REQUEST<% } else { %>defaultConstraintViolationStatus()<% } %>) - .with(MESSAGE_KEY, ERR_VALIDATION) - .with(FIELD_ERRORS_KEY, fieldErrors) - .build() - return create(ex, problem, request) + private fun getCustomizedTitle(err: Throwable): String? { + return if (err is MethodArgumentNotValidException) "Method argument not valid" else null } - <%_ if (!skipUserManagement) { _%> - @ExceptionHandler - fun handleEmailAlreadyUsedException(ex: <%= packageName %>.service.EmailAlreadyUsedException, request: <%= requestClass %>): <%- returnType %> { - val problem = EmailAlreadyUsedException() - return create(problem, request, HeaderUtil.createFailureAlert(applicationName, <%= enableTranslation %>, problem.entityName, problem.errorKey, problem.message)) + private fun getCustomizedErrorDetails(err: Throwable): String? { + val activeProfiles: Collection = Arrays.asList(*env.activeProfiles) + if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) { + if (err is HttpMessageConversionException) return "Unable to convert http message" + <%_ if (!databaseTypeNo) { _%> + if (err is DataAccessException) return "Failure during data access" + <%_ } _%> + if (containsPackageName(err.message)) return "Unexpected runtime exception" + } + return if (err.cause != null) err.cause!!.message else err.message } - @ExceptionHandler - fun handleUsernameAlreadyUsedException(ex: <%= packageName %>.service.UsernameAlreadyUsedException, request: <%= requestClass %>): <%- returnType %> { - val problem = LoginAlreadyUsedException() - return create(problem, request, HeaderUtil.createFailureAlert(applicationName, <%= enableTranslation %>, problem.entityName, problem.errorKey, problem.message)) + private fun getMappedStatus(err: Throwable): HttpStatus? { + // Where we disagree with Spring defaults + if (err is AccessDeniedException) return HttpStatus.FORBIDDEN + <%_ if (!databaseTypeNo && !databaseTypeCassandra) { _%> + if (err is ConcurrencyFailureException) return HttpStatus.CONFLICT + <%_ } _%> + if (err is BadCredentialsException) return HttpStatus.UNAUTHORIZED + <%_ if (reactive) { _%> + if (err is UsernameNotFoundException) HttpStatus.UNAUTHORIZED + <%_ } _%> + return null } - @ExceptionHandler - fun handleInvalidPasswordException(ex: <%= packageName %>.service.InvalidPasswordException, request: <%= requestClass %>): <%- returnType %> { - return create(InvalidPasswordException(), request) + private fun getPathValue(request: <%= requestClass %>): URI { + return if (request == null) URI.create("about:blank") else <% if (reactive) { %> request.request.uri <% } else { %> URI.create(extractURI(request))<% } %> } - <%_ } _%> - @ExceptionHandler - fun handleBadRequestAlertException( - ex: BadRequestAlertException, - request: <%= requestClass %> - ): <%- returnType %> = - create( - ex, request, - HeaderUtil.createFailureAlert(applicationName, <%= enableTranslation %>, ex.entityName, ex.errorKey, ex.message) - ) - <%_ if (!databaseTypeNo && !databaseTypeCassandra) { _%> + private fun buildHeaders(err: Throwable): HttpHeaders? { + return if (err is BadRequestAlertException) HeaderUtil.createFailureAlert( + applicationName, + true, + err.entityName, + err.errorKey, + err.message + ) else null + } - @ExceptionHandler - fun handleConcurrencyFailure(ex: ConcurrencyFailureException, request: <%= requestClass %>): <%- returnType %> { - val problem = Problem.builder() - .withStatus(Status.CONFLICT) - .with(MESSAGE_KEY, ERR_CONCURRENCY_FAILURE) - .build() - return create(ex, problem, request) + <%_ if (reactive) { _%> + private fun updateContentType(headers: HttpHeaders): HttpHeaders { + var headers: HttpHeaders? = headers + if (headers == null) { + headers = HttpHeaders() + headers.contentType = MediaType.APPLICATION_PROBLEM_JSON + } + return headers } <%_ } _%> - override fun prepare(throwable: Throwable, status: StatusType, type: URI): ProblemBuilder { - val activeProfiles = env.activeProfiles - var detail = throwable.message - if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) { - detail = when (throwable) { - is HttpMessageConversionException -> "Unable to convert http message" - <%_ if (!databaseTypeNo) { _%> - is DataAccessException -> "Failure during data access" - <%_ } _%> - else -> { - if (containsPackageName(throwable.message)) { - "Unexpected runtime exception" - } else { - throwable.message - } - } - } - } - return Problem.builder() - .withType(type) - .withTitle(status.reasonPhrase) - .withStatus(status) - .withDetail(detail) - .withCause(throwable.cause.takeIf { isCausalChainsEnabled }?.let { toProblem(it) }) + fun buildCause(throwable: Throwable, request: <%= requestClass %>): Optional { + return if (throwable != null && isCasualChainEnabled) { + Optional.of(customizeProblem(getProblemDetailWithCause(throwable), throwable, request)) + } else Optional.ofNullable(null) + } + + private fun containsPackageName(message: String?): Boolean { + // This list is for sure not complete + return StringUtils.containsAny(message, "org.", "java.", "net.", "jakarta.", "javax.", "com.", "io.", "de.", "<%= packageName %>") + } + + companion object { + private const val FIELD_ERRORS_KEY = "fieldErrors" + private const val MESSAGE_KEY = "message" + private const val PATH_KEY = "path" + private const val isCasualChainEnabled = false } - private fun containsPackageName(message: String?) = listOf("org.", "java.", "net.", "javax.", "com.", "io.", "de.", "<%= packageName %>").any { it == message } } + diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/InvalidPasswordException.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/InvalidPasswordException.kt.ejs index 565e908b0..794122e6f 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/InvalidPasswordException.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/InvalidPasswordException.kt.ejs @@ -18,17 +18,19 @@ -%> package <%= packageName %>.web.rest.errors -import org.zalando.problem.AbstractThrowableProblem -import org.zalando.problem.Exceptional -import org.zalando.problem.Status +import org.springframework.http.HttpStatus +import org.springframework.web.ErrorResponseException +import tech.jhipster.web.rest.errors.ProblemDetailWithCause.ProblemDetailWithCauseBuilder @SuppressWarnings("java:S110") // Inheritance tree of classes should not be too deep -class InvalidPasswordException : - AbstractThrowableProblem(INVALID_PASSWORD_TYPE, "Incorrect password", Status.BAD_REQUEST) { - - override fun getCause(): Exceptional? = super.cause - - companion object { - private const val serialVersionUID = 1L - } +class InvalidPasswordException(type: URI?, defaultMessage: String?, val entityName: String?, val errorKey: String) : ErrorResponseException( + HttpStatus.BAD_REQUEST, + ProblemDetailWithCauseBuilder + .instance() + .withStatus(HttpStatus.BAD_REQUEST.value()) + .withType(ErrorConstants.INVALID_PASSWORD_TYPE) + .withTitle("Incorrect password") + .build(), + null +) { } diff --git a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/LoginAlreadyUsedException.kt.ejs b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/LoginAlreadyUsedException.kt.ejs index d0b025867..f11fbc6d2 100644 --- a/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/LoginAlreadyUsedException.kt.ejs +++ b/generators/spring-boot/templates/src/main/kotlin/_package_/web/rest/errors/LoginAlreadyUsedException.kt.ejs @@ -18,14 +18,10 @@ -%> package <%= packageName %>.web.rest.errors -import org.zalando.problem.Exceptional - @SuppressWarnings("java:S110") // Inheritance tree of classes should not be too deep class LoginAlreadyUsedException : BadRequestAlertException(LOGIN_ALREADY_USED_TYPE, "Login name already used!", "userManagement", "userexists") { - override fun getCause(): Exceptional? = super.cause - companion object { private const val serialVersionUID = 1L } diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/IntegrationTest.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/IntegrationTest.kt.ejs index b7a6c5a78..71de8392c 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/IntegrationTest.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/IntegrationTest.kt.ejs @@ -36,9 +36,6 @@ import <%= packageName %>.config.EmbeddedCouchbase <%_ if (searchEngineElasticsearch) { _%> import <%= packageName %>.config.EmbeddedElasticsearch <%_ } _%> -<%_ if (messageBrokerKafka) { _%> -import <%= packageName %>.config.EmbeddedKafka -<%_ } _%> <%_ if (databaseTypeNeo4j) { _%> import <%= packageName %>.config.EmbeddedNeo4j <%_ } _%> @@ -80,9 +77,6 @@ import org.springframework.boot.test.context.SpringBootTest <%_ if (searchEngineElasticsearch) { _%> @EmbeddedElasticsearch <%_ } _%> -<%_ if (messageBrokerKafka) { _%> -@EmbeddedKafka -<%_ } _%> <%_ if (databaseTypeNeo4j) { _%> @EmbeddedNeo4j <%_ } _%> @@ -93,7 +87,7 @@ import org.springframework.boot.test.context.SpringBootTest annotation class IntegrationTest { <%_ if (reactive) { _%> companion object { - // 5s is the spring default https://github.com/spring-projects/spring-framework/blob/29185a3d28fa5e9c1b4821ffe519ef6f56b51962/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClient.java#L106 + // 5s is Spring's default https://github.com/spring-projects/spring-framework/blob/main/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClient.java#L106 const val DEFAULT_TIMEOUT: String = "PT5S" const val DEFAULT_ENTITY_TIMEOUT: String = "PT5S" } diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/TechnicalStructureTest.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/TechnicalStructureTest.kt.ejs index 3288ada59..732143a86 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/TechnicalStructureTest.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/TechnicalStructureTest.kt.ejs @@ -37,6 +37,7 @@ _%> class TechnicalStructureTest { @ArchTest val respectsTechnicalArchitectureLayers = layeredArchitecture() + .consideringAllDependencies() .layer("Config").definedBy("..config..") <%_ if (hasClientLayer) { _%> .layer("Client").definedBy("..client..") diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/service/UserServiceIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/service/UserServiceIT.kt.ejs index 3ce221478..7b4f839b1 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/service/UserServiceIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/service/UserServiceIT.kt.ejs @@ -365,7 +365,7 @@ class UserServiceIT { <%_ if (searchEngineElasticsearch) { _%> // Verify Elasticsearch mock - verify(spiedUserSearchRepository, times(1)).delete(user) + verify(spiedUserSearchRepository, times(1)).delete<% if (!reactive) { %>FromIndex<% } %>(user) <%_ } _%> } @@ -398,7 +398,7 @@ class UserServiceIT { <%_ if (searchEngineElasticsearch) { _%> // Verify Elasticsearch mock - verify(spiedUserSearchRepository, never()).delete(user) + verify(spiedUserSearchRepository, never()).delete<% if (!reactive) { %>FromIndex<% } %>(user) <%_ } _%> } <%_ } _%> diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/UserResourceIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/UserResourceIT.kt.ejs index 261c022bb..920fac952 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/UserResourceIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/UserResourceIT.kt.ejs @@ -49,9 +49,6 @@ import <%= packageName %>.service.dto.<%= user.adminUserDto %> import <%= packageName %>.repository.EntityManager <%_ } _%> import <%= packageName %>.service.mapper.UserMapper -<%_ if (!authenticationTypeOauth2) { _%> -import <%= packageName %>.web.rest.vm.ManagedUserVM -<%_ } _%> import org.apache.commons.lang3.RandomStringUtils import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -200,9 +197,8 @@ class UserResourceIT { val databaseSizeBeforeCreate = userRepository.findAll()<% if (reactive) { %> .collectList().block()!!<% } %>.size // Create the User - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { login = DEFAULT_LOGIN - password = DEFAULT_PASSWORD firstName = DEFAULT_FIRSTNAME lastName = DEFAULT_LASTNAME email = DEFAULT_EMAIL @@ -217,14 +213,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.post().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isCreated <%_ } else { _%> restUserMockMvc.perform( post("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isCreated) @@ -260,7 +256,7 @@ class UserResourceIT { val databaseSizeBeforeCreate = userRepository.findAll()<% if (reactive) { %> .collectList().block()!!<% } %>.size - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { <%_ if (databaseTypeCassandra) { _%> id = UUID.randomUUID().toString() <%_ } else if (databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%> @@ -269,7 +265,6 @@ class UserResourceIT { id = DEFAULT_ID <%_ } _%> login = DEFAULT_LOGIN - password = DEFAULT_PASSWORD firstName = DEFAULT_FIRSTNAME lastName = DEFAULT_LASTNAME email = DEFAULT_EMAIL @@ -285,14 +280,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.post().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> restUserMockMvc.perform( post("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isBadRequest) @@ -324,9 +319,8 @@ class UserResourceIT { val databaseSizeBeforeCreate = userRepository.findAll()<% if (reactive) { %> .collectList().block()!!<% } %>.size - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { login = DEFAULT_LOGIN // this login should already be used - password = DEFAULT_PASSWORD firstName = DEFAULT_FIRSTNAME lastName = DEFAULT_LASTNAME email = "anothermail@localhost" @@ -342,14 +336,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.post().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> restUserMockMvc.perform( post("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isBadRequest) @@ -378,9 +372,8 @@ class UserResourceIT { val databaseSizeBeforeCreate = userRepository.findAll()<% if (reactive) { %> .collectList().block()!!<% } %>.size - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { login = "anotherlogin" - password = DEFAULT_PASSWORD firstName = DEFAULT_FIRSTNAME lastName = DEFAULT_LASTNAME email = DEFAULT_EMAIL // this email should already be used @@ -396,14 +389,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.post().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> restUserMockMvc.perform( post("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isBadRequest) @@ -582,10 +575,9 @@ class UserResourceIT { val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>get<% } %>() assertNotNull(updatedUser) - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { id = updatedUser.id login = updatedUser.login - password = UPDATED_PASSWORD firstName = UPDATED_FIRSTNAME lastName = UPDATED_LASTNAME email = UPDATED_EMAIL @@ -606,14 +598,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.put().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isOk <%_ } else { _%> restUserMockMvc.perform( put("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isOk) @@ -649,13 +641,12 @@ class UserResourceIT { .collectList().block()!!<% } %>.size // Update the user - val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>get<% } %>() + val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>orElseThrow<% } %>() assertNotNull(updatedUser) - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { id = updatedUser.id login = UPDATED_LOGIN - password = UPDATED_PASSWORD firstName = UPDATED_FIRSTNAME lastName = UPDATED_LASTNAME email = UPDATED_EMAIL @@ -676,14 +667,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.put().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isOk <%_ } else { _%> restUserMockMvc.perform( put("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isOk) @@ -747,10 +738,9 @@ class UserResourceIT { val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>get<% } %>() assertNotNull(updatedUser) - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { id = updatedUser.id login = updatedUser.login - password = updatedUser.password firstName = updatedUser.firstName lastName = updatedUser.lastName email = "jhipster@localhost" // this email should already be used by anotherUser @@ -771,14 +761,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.put().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> restUserMockMvc.perform( put("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isBadRequest) @@ -826,13 +816,12 @@ class UserResourceIT { <%_ } _%> // Update the user - val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>get<% } %>() + val updatedUser = userRepository.findById(user.id!!).<% if (reactive) { %>block<% } else { %>orElseThrow<% } %>() assertNotNull(updatedUser) - val managedUserVM = ManagedUserVM().apply { + val user = <%= user.adminUserDto %>().apply { id = updatedUser.id login = "jhipster" // this login should already be used by anotherUser - password = updatedUser.password firstName = updatedUser.firstName lastName = updatedUser.lastName email = updatedUser.email @@ -853,14 +842,14 @@ class UserResourceIT { <%_ if (reactive) { _%> webTestClient.put().uri("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .bodyValue(convertObjectToJsonBytes(managedUserVM)) + .bodyValue(convertObjectToJsonBytes(user)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> restUserMockMvc.perform( put("/api/admin/users") .contentType(MediaType.APPLICATION_JSON) - .content(convertObjectToJsonBytes(managedUserVM))<% if (authenticationUsesCsrf) { %> + .content(convertObjectToJsonBytes(user))<% if (authenticationUsesCsrf) { %> .with(csrf())<% } %> ) .andExpect(status().isBadRequest) diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.kt.ejs index a7b8c891c..80b55849e 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.kt.ejs @@ -19,6 +19,7 @@ package <%= entityAbsolutePackage %>.web.rest <%_ +var filterTestableRelationships = reactive ? reactiveEagerRelations : relationships; const fieldsToTest = fields.filter(field => !field.id && !field.autoGenerate && !field.transient); let mapsIdEntity; let mapsIdEntityInstance; @@ -48,7 +49,7 @@ if (databaseTypeSql && reactive) { } let idValue = `${persistInstance}.${primaryKey.name}`; -if (primaryKey.typeLong) { +if (primaryKey.typeLong || primaryKey.typeInteger) { idValue = idValue + '?.toInt()'; } else if (primaryKey.typeUUID) { idValue = idValue + '.toString()'; @@ -62,9 +63,6 @@ _%> import <%= packageName %>.web.rest.* <% } %> import <%= packageName %>.IntegrationTest -<%_ if (reactive) { _%> -import <%= packageName %>.IntegrationTest.Companion.DEFAULT_TIMEOUT -<%_ } _%> import <%= entityAbsolutePackage %>.domain.<%= persistClass %> <%_ var imported = []; @@ -72,12 +70,18 @@ import <%= entityAbsolutePackage %>.domain.<%= persistClass %> const relationshipValidate = relationship.relationshipValidate; const otherEntityNameCapitalized = relationship.otherEntityNameCapitalized; const isUsingMapsIdL1 = relationship.id; - if(imported.indexOf(otherEntityNameCapitalized) === -1 && persistClass !== asEntity(otherEntityNameCapitalized)) { + if(imported.indexOf(otherEntityNameCapitalized) === -1 && persistClass !== relationship.otherEntity.persistClass) { if ((relationshipValidate !== null && relationshipValidate) || jpaMetamodelFiltering || (isUsingMapsIdL1)) { _%> -import <%= entityAbsolutePackage %>.domain.<%= asEntity(otherEntityNameCapitalized) %> +import <%= entityAbsolutePackage %>.domain.<%= relationship.otherEntity.persistClass %> <%_ imported.push(otherEntityNameCapitalized); } } } _%> +<%_ + if(jpaMetamodelFiltering && reactive) { + filterTestableRelationships.forEach(relationship => { _%> +import <%= entityAbsolutePackage %>.repository.<%= relationship.otherEntityNameCapitalized %>Repository +<%_ }); + } _%> <%_ if (saveUserSnapshot) { _%> import <%= entityAbsolutePackage %>.repository.UserRepository <%_ } _%> @@ -98,7 +102,7 @@ import <%= entityAbsolutePackage %>.service.<%= entityClass %>Service import <%= entityAbsolutePackage %>.service.dto.<%= dtoClass %> import <%= entityAbsolutePackage %>.service.mapper.<%= entityClass %>Mapper <%_ } _%> -<%_ if (jpaMetamodelFiltering) { _%> +<%_ if (jpaMetamodelFiltering & !reactive) { _%> import <%= entityAbsolutePackage %>.service.criteria.<%= entityClass %>Criteria <%_ } _%> import kotlin.test.assertNotNull @@ -169,7 +173,7 @@ import jakarta.persistence.EntityManager <%_ if (anyFieldIsBigDecimal) { _%> import java.math.BigDecimal <%_ } _%> -<%_ if (anyFieldIsBlobDerived&& databaseTypeCassandra) { _%> +<%_ if (anyFieldIsBlobDerived && databaseTypeCassandra) { _%> import java.nio.ByteBuffer <%_ } _%> <%_ if (reactive || anyFieldIsDuration) { _%> @@ -185,7 +189,7 @@ import java.time.Instant import java.time.ZonedDateTime import java.time.ZoneOffset <%_ } _%> -<%_ if (anyFieldIsLocalDate|| anyFieldIsZonedDateTime) { _%> +<%_ if (anyFieldIsLocalDate || anyFieldIsZonedDateTime) { _%> import java.time.ZoneId <%_ } _%> <%_ if (anyFieldIsInstant) { _%> @@ -194,10 +198,22 @@ import java.time.temporal.ChronoUnit <%_ if (anyFieldIsUUID || primaryKey.typeString || otherEntityPrimaryKeyTypesIncludesUUID) { _%> import java.util.UUID <%_ } _%> -<%_ if (!embedded && primaryKey.hasLong) { _%> +<%_ if (!embedded && (primaryKey.hasLong || primaryKey.hasInteger)) { _%> import java.util.Random + <%_ if (primaryKey.hasLong) { _%> import java.util.concurrent.atomic.AtomicLong + <%_ } else if (primaryKey.hasInteger) { _%> +import java.util.concurrent.atomic.AtomicInteger + <%_ } _%> +<%_ } _%> + +<%_ if (anyFieldIsBigDecimal) { _%> +import <%= packageName %>.web.rest.TestUtil.sameNumber +<%_ } _%> +<%_ if (anyFieldIsZonedDateTime) { _%> +import <%= packageName %>.web.rest.TestUtil.sameInstant <%_ } _%> + import java.util.stream.Stream import org.assertj.core.api.Assertions.assertThat @@ -239,7 +255,7 @@ import <%= packageName %>.domain.enumeration.<%= field.fieldType %> ) <%_ } _%> <%_ if (reactive) { _%> -@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT) +@AutoConfigureWebTestClient <%_ } else { _%> @AutoConfigureMockMvc <%_ } _%> @@ -305,6 +321,13 @@ class <%= entityClass %>ResourceIT { private lateinit var <%= persistInstance %>: <%= persistClass %> + <%_ if(jpaMetamodelFiltering && reactive) { + filterTestableRelationships.forEach((relationship) => { _%> + @Autowired + private lateinit var <%= relationship.otherEntity.persistInstance %>Repository: <%= relationship.otherEntity.persistClass %>Repository + <%_ }); + } _%> + <%_ if (databaseTypeSql && reactive) { _%> @AfterEach fun cleanup() { @@ -412,7 +435,7 @@ class <%= entityClass %>ResourceIT { <%_ if (primaryKey.typeUUID && databaseTypeSql) { _%> <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %> <%_ } else { _%> - <%= persistInstance %>.<%= primaryKey.name %> = <% if (primaryKey.typeUUID) { %>UUID.randomUUID()<% } else if (primaryKey.typeLong) { %>1L<% } else { %>"existing_id"<% } %> + <%= persistInstance %>.<%= primaryKey.name %> = <% if (primaryKey.typeUUID) { %>UUID.randomUUID()<% } else if (primaryKey.typeLong) { %>1L<% } else if (primaryKey.typeInteger) { %>1<% } else { %>"existing_id"<% } %> <%_ } _%> <%_ if (dtoMapstruct) { _%> val <%= dtoInstance %> = <%= entityInstance %>Mapper.toDto(<%= persistInstance %>) @@ -478,7 +501,7 @@ class <%= entityClass %>ResourceIT { <%_ } break; } _%> // Load the <%= entityInstance %> - val updated<%= persistClass %> = <%= entityInstance %>Repository.findById(<%= persistInstance %>.<%= primaryKey.name %>)<%= reactive ? '.block()' : '.get()' %> + val updated<%= persistClass %> = <%= entityInstance %>Repository.findById(<%= persistInstance %>.<%= primaryKey.name %>)<%= reactive ? '.block()' : '.orElseThrow()' %> assertThat(updated<%= persistClass %>).isNotNull<% if (databaseTypeSql && !reactive) { %> // Disconnect from session so that the updates on updated<%= persistClass %> are not directly saved in db em.detach(updated<%= persistClass %>)<% } %> @@ -924,12 +947,12 @@ class <%= entityClass %>ResourceIT { val <%= relationship.relationshipFieldName %> = <%= persistInstance %>.<%= relationship.relationshipName %> <%_ } else { _%> <%_ if (databaseTypeSql && !reactive) { _%> - var <%= relationship.relationshipFieldName %>: <%= asEntity(relationship.otherEntityNameCapitalized) %> - if (findAll(em, <%= asEntity(relationship.otherEntityNameCapitalized) %>::class).isEmpty()) { + var <%= relationship.relationshipFieldName %>: <%= relationship.otherEntity.persistClass %> + if (findAll(em, <%= relationship.otherEntity.persistClass %>::class).isEmpty()) { <%= entityInstance %>Repository.saveAndFlush(<%= persistInstance %>) <%= relationship.relationshipFieldName %> = <%= createEntityPrefix %><%= relationship.otherEntityNameCapitalized %>ResourceIT.createEntity(em) } else { - <%= relationship.relationshipFieldName %> = findAll(em, <%= asEntity(relationship.otherEntityNameCapitalized) %>::class)[0] + <%= relationship.relationshipFieldName %> = findAll(em, <%= relationship.otherEntity.persistClass %>::class)[0] } <%_ } else { _%> var <%= relationship.relationshipFieldName %> = <%= relationship.otherEntityNameCapitalized %>ResourceIT.createEntity(em) @@ -1112,7 +1135,7 @@ class <%= entityClass %>ResourceIT { val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>) <%_ } _%> // Update the <%= entityInstance %> - val updated<%= persistClass %> = <%= entityInstance %>Repository.findById(<%= persistInstance %>.<%= primaryKey.name %>)<%= reactive ? '.block()' : '.get()' %> + val updated<%= persistClass %> = <%= entityInstance %>Repository.findById(<%= persistInstance %>.<%= primaryKey.name %>)<%= reactive ? '.block()' : '.orElseThrow()' %> <%_ if (databaseTypeSql && !reactive) { _%> // Disconnect from session so that the updates on updated<%= persistClass %> are not directly saved in db em.detach(updated<%= persistClass %>) @@ -1128,14 +1151,14 @@ class <%= entityClass %>ResourceIT { <%_ } _%> <%_ if (reactive) { _%> - webTestClient.put().uri(ENTITY_API_URL_ID, <%= (dtoMapstruct ? asDto(entityInstance) : 'updated' + persistClass) %>.<%= primaryKey.name %>) + webTestClient.put().uri(ENTITY_API_URL_ID, <%= (dtoMapstruct ? dtoInstance : 'updated' + persistClass) %>.<%= primaryKey.name %>) .contentType(MediaType.APPLICATION_JSON) .bodyValue(convertObjectToJsonBytes(<%= (dtoMapstruct ? dtoInstance : 'updated' + persistClass) %>)) .exchange() .expectStatus().isOk <%_ } else { _%> rest<%= entityClass %>MockMvc.perform( - put(ENTITY_API_URL_ID, <%= (dtoMapstruct ? asDto(entityInstance) : 'updated' + persistClass) %>.<%= primaryKey.name %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> + put(ENTITY_API_URL_ID, <%= (dtoMapstruct ? dtoInstance : 'updated' + persistClass) %>.<%= primaryKey.name %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> .contentType(MediaType.APPLICATION_JSON) .content(convertObjectToJsonBytes(<% if (dtoMapstruct) { %><%= dtoInstance %><% } else { %>updated<%= persistClass %><% } %>)) ).andExpect(status().isOk) @@ -1188,7 +1211,7 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>) <%_ } _%> - <%= persistInstance %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> @@ -1228,7 +1251,7 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>) <%_ } _%> - <%= persistInstance %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> @@ -1238,12 +1261,12 @@ class <%= entityClass %>ResourceIT { // If url ID doesn't match entity ID, it will throw BadRequestAlertException <%_ if (!reactive) { _%> rest<%= entityClass %>MockMvc.perform( - put(ENTITY_API_URL_ID, <%= getJavaValueGeneratorForType(primaryKey.type) %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> + put(ENTITY_API_URL_ID, <%= primaryKey.javaValueGenerator %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> .contentType(MediaType.APPLICATION_JSON) .content(convertObjectToJsonBytes(<%= restInstance %>)) ).andExpect(status().isBadRequest) <%_ } else { _%> - webTestClient.put().uri(ENTITY_API_URL_ID, <%= getJavaValueGeneratorForType(primaryKey.type) %>) + webTestClient.put().uri(ENTITY_API_URL_ID, <%= primaryKey.javaValueGenerator %>) .contentType(MediaType.APPLICATION_JSON) .bodyValue(convertObjectToJsonBytes(<%= restInstance %>)) .exchange() @@ -1269,7 +1292,7 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>); <%_ } _%> - <%= persistInstance %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> @@ -1321,7 +1344,7 @@ class <%= entityClass %>ResourceIT { <%_ } _%> <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %> <% const fieldsToIncludeInPartialPatchTest = fieldsToTest.map(field => prepareFieldForPatchTest(field, () => faker.datatype.boolean())); %> - <%- include('/_global_partials_entity_/it_patch_update.partial.kt.ejs', {fields: fieldsToIncludeInPartialPatchTest, saveMethod, asEntity, callBlock, callListBlock, authenticationUsesCsrf}); -%> + <%- include('/_global_partials_entity_/it_patch_update.partial.kt.ejs', {fields: fieldsToIncludeInPartialPatchTest, saveMethod, callBlock, callListBlock, authenticationUsesCsrf}); -%> } @Test<%= transactionalAnnotation %> @@ -1334,7 +1357,7 @@ class <%= entityClass %>ResourceIT { <%_ } _%> <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %> <% const fieldsToIncludeInFullPatchTest = fieldsToTest.map(field => prepareFieldForPatchTest(field, () => true)); %> - <%- include('/_global_partials_entity_/it_patch_update.partial.kt.ejs', {fields: fieldsToIncludeInFullPatchTest, saveMethod, asEntity, callBlock, callListBlock, authenticationUsesCsrf}); -%> + <%- include('/_global_partials_entity_/it_patch_update.partial.kt.ejs', {fields: fieldsToIncludeInFullPatchTest, saveMethod, callBlock, callListBlock, authenticationUsesCsrf}); -%> } @Test<%= transactionalAnnotation %> @@ -1344,24 +1367,24 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>) <%_ } _%> - <%= asEntity(entityInstance) %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> - val <%= asDto(entityInstance) %> = <%= entityInstance %>Mapper.toDto(<%= asEntity(entityInstance) %>) + val <%= dtoInstance %> = <%= entityInstance %>Mapper.toDto(<%= persistInstance %>) <%_ } _%> // If the entity doesn't have an ID, it will throw BadRequestAlertException <%_ if (reactive) { _%> - webTestClient.patch().uri(ENTITY_API_URL_ID, <%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>.<%= primaryKey.name %>) + webTestClient.patch().uri(ENTITY_API_URL_ID, <%= restInstance %>.<%= primaryKey.name %>) .contentType(MediaType.valueOf("application/merge-patch+json")) - .bodyValue(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>)) + .bodyValue(convertObjectToJsonBytes(<%= restInstance %>)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> - rest<%= entityClass %>MockMvc.perform(patch(ENTITY_API_URL_ID, <%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>.<%= primaryKey.name %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> + rest<%= entityClass %>MockMvc.perform(patch(ENTITY_API_URL_ID, <%= restInstance %>.<%= primaryKey.name %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% }%> .contentType("application/merge-patch+json") - .content(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>))) + .content(convertObjectToJsonBytes(<%= restInstance %>))) .andExpect(status().isBadRequest) <%_ } _%> @@ -1384,24 +1407,24 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>) <%_ } _%> - <%= asEntity(entityInstance) %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> - val <%= asDto(entityInstance) %> = <%= entityInstance %>Mapper.toDto(<%= asEntity(entityInstance) %>) + val <%= dtoInstance %> = <%= entityInstance %>Mapper.toDto(<%= persistInstance %>) <%_ } _%> // If url ID doesn't match entity ID, it will throw BadRequestAlertException <%_ if (reactive) { _%> - webTestClient.patch().uri(ENTITY_API_URL_ID, <%= getJavaValueGeneratorForType(primaryKey.type) %>) + webTestClient.patch().uri(ENTITY_API_URL_ID, <%= primaryKey.javaValueGenerator %>) .contentType(MediaType.valueOf("application/merge-patch+json")) - .bodyValue(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>)) + .bodyValue(convertObjectToJsonBytes(<%= restInstance %>)) .exchange() .expectStatus().isBadRequest <%_ } else { _%> - rest<%= entityClass %>MockMvc.perform(patch(ENTITY_API_URL_ID, <%= getJavaValueGeneratorForType(primaryKey.type) %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% } %> + rest<%= entityClass %>MockMvc.perform(patch(ENTITY_API_URL_ID, <%= primaryKey.javaValueGenerator %>)<% if (authenticationUsesCsrf) { %>.with(csrf())<% } %> .contentType("application/merge-patch+json") - .content(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>))) + .content(convertObjectToJsonBytes(<%= restInstance %>))) .andExpect(status().isBadRequest) <%_ } _%> @@ -1424,24 +1447,24 @@ class <%= entityClass %>ResourceIT { <%_ if (searchEngineElasticsearch) { _%> val searchDatabaseSizeBefore = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>); <%_ } _%> - <%= asEntity(entityInstance) %>.<%= primaryKey.name %> = <%= getJavaValueGeneratorForType(primaryKey.type) %> + <%= persistInstance %>.<%= primaryKey.name %> = <%= primaryKey.javaValueGenerator %> <%_ if (dtoMapstruct) { _%> // Create the <%= entityClass %> - val <%= asDto(entityInstance) %> = <%= entityInstance %>Mapper.toDto(<%= asEntity(entityInstance) %>) + val <%= dtoInstance %> = <%= entityInstance %>Mapper.toDto(<%= persistInstance %>) <%_ } _%> // If url ID doesn't match entity ID, it will throw BadRequestAlertException <%_ if (reactive) { _%> webTestClient.patch().uri(ENTITY_API_URL) .contentType(MediaType.valueOf("application/merge-patch+json")) - .bodyValue(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>)) + .bodyValue(convertObjectToJsonBytes(<%= restInstance %>)) .exchange() .expectStatus().isEqualTo(405) <%_ } else { _%> rest<%= entityClass %>MockMvc.perform(patch(ENTITY_API_URL)<% if (authenticationUsesCsrf) { %>.with(csrf())<% } %> .contentType("application/merge-patch+json") - .content(convertObjectToJsonBytes(<%= (dtoMapstruct ? asDto(entityInstance) : asEntity(entityInstance)) %>))) + .content(convertObjectToJsonBytes(<%= restInstance %>))) .andExpect(status().isMethodNotAllowed) <%_ } _%> @@ -1503,7 +1526,7 @@ class <%= entityClass %>ResourceIT { } <%_ } _%> -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> <%_ if (searchEngineCouchbase) { _%> @Timeout(value = 15, unit = TimeUnit.MINUTES) <%_ } _%> @@ -1732,13 +1755,16 @@ class <%= entityClass %>ResourceIT { private val ENTITY_API_URL: String = "/api/<%= entityApiUrl %>" private val ENTITY_API_URL_ID: String = ENTITY_API_URL + "/{<%= primaryKey.name %>}" - <%_ if (searchEngine !== false) { _%> - private val ENTITY_SEARCH_API_URL: String = "/api/_search/<%= entityApiUrl %>" + <%_ if (searchEngineAny) { _%> + private val ENTITY_SEARCH_API_URL: String = "/api/<%= entityApiUrl %>/_search/" <%_ } _%> - <%_ if (!embedded && primaryKey.hasLong) { _%> - + <%_ if (!embedded && (primaryKey.hasLong || primaryKey.hasInteger)) { _%> private val random: Random = Random() - private val count: AtomicLong = AtomicLong(random.nextInt().toLong() + ( 2 * Integer.MAX_VALUE )) + <%_ if (primaryKey.hasLong) { _%> + private val longCount: AtomicLong = AtomicLong(random.nextInt() + ( 2 * Integer.MAX_VALUE )) + <%_ } else if (primaryKey.hasInteger) { _%> + private val intCount: AtomicInteger = AtomicInteger(random.nextInt() + ( 2 * Short.MAX_VALUE )) + <%_ } _%> <%_ } _%> @@ -1800,17 +1826,17 @@ class <%= entityClass %>ResourceIT { <%= otherEntityName %>.<%= primaryKey.name %> = "fixed-id-for-tests" <%_ } _%> <%_ } else { _%> - val <%= otherEntityName %>: <%= asEntity(otherEntityNameCapitalized) %> + val <%= otherEntityName %>: <%= relationship.otherEntity.persistClass %> <%_ if (databaseTypeSql && !reactive) { _%> <%_ if (!isUsingMapsId || fieldStatus !== "UPDATED_") { _%> - if (findAll(em, <%= asEntity(otherEntityNameCapitalized) %>::class).isEmpty()) { + if (findAll(em, <%= relationship.otherEntity.persistClass %>::class).isEmpty()) { <%_ } _%> <%= otherEntityName %> = <%= createEntityPrefix %><%= otherEntityNameCapitalized %>ResourceIT.create<% if (fieldStatus === 'UPDATED_') { %>Updated<% } %>Entity(<% if (databaseTypeSql) { %>em<% } %>)<%= createEntityPostfix %> em.persist(<%= otherEntityName %>) em.flush() <%_ if (!isUsingMapsId || fieldStatus !== "UPDATED_") { _%> } else { - <%= otherEntityName %> = findAll(em, <%= asEntity(otherEntityNameCapitalized) %>::class)[0] + <%= otherEntityName %> = findAll(em, <%= relationship.otherEntity.persistClass %>::class)[0] } <%_ } _%> <%_ } else { _%> diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/config/JHipsterBlockHoundIntegration.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/config/JHipsterBlockHoundIntegration.kt.ejs index 26ba43291..0f544513c 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/config/JHipsterBlockHoundIntegration.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/config/JHipsterBlockHoundIntegration.kt.ejs @@ -23,36 +23,40 @@ import reactor.blockhound.integration.BlockHoundIntegration class JHipsterBlockHoundIntegration: BlockHoundIntegration { override fun applyTo(builder: BlockHound.Builder) { - builder.allowBlockingCallsInside("org.springframework.test.web.reactive.server.DefaultWebTestClient\$DefaultRequestBodyUriSpec", "exchange") - - // Workaround until https://github.com/reactor/reactor-core/issues/2137 is fixed - builder.allowBlockingCallsInside("reactor.core.scheduler.BoundedElasticScheduler\$BoundedState", "dispose") - builder.allowBlockingCallsInside("reactor.core.scheduler.BoundedElasticScheduler", "schedule") builder.allowBlockingCallsInside("org.springframework.validation.beanvalidation.SpringValidatorAdapter", "validate") builder.allowBlockingCallsInside("<%= packageName %>.service.MailService", "sendEmailFromTemplate") builder.allowBlockingCallsInside("<%= packageName %>.security.DomainUserDetailsService", "createSpringSecurityUser") <%_ if (databaseTypeCouchbase) { _%> builder.allowBlockingCallsInside("org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter", "read") - builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda\$query\$2") - builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda\$importFtsIndex\$1") -<%_} _%> -<%_ if (prodDatabaseTypeMysql || prodDatabaseTypeMariadb) { _%> + builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda$query$2") + builder.allowBlockingCallsInside("com.github.couchmove.repository.CouchbaseRepositoryImpl", "lambda$importFtsIndex$1") +<%_ } _%> +<%_ if (prodDatabaseTypeMariadb) { _%> builder.allowBlockingCallsInside("org.mariadb.r2dbc.message.client.HandshakeResponse", "writeConnectAttributes") builder.allowBlockingCallsInside("org.mariadb.r2dbc.client.MariadbPacketDecoder", "decode") -<%_} _%> -<%_ if (devDatabaseTypeMssql || prodDatabaseTypeMssql) { _%> + builder.allowBlockingCallsInside("org.mariadb.r2dbc.client.SimpleClient", "lambda$receive$18") +<%_ } _%> +<%_ if (prodDatabaseTypeMssql) { _%> builder.allowBlockingCallsInside("io.r2dbc.mssql.client.ssl.TdsSslHandler", "createSslHandler") -<%_} _%> +<%_ } _%> <%_ if (searchEngineElasticsearch) { _%> builder.allowBlockingCallsInside("org.elasticsearch.client.indices.CreateIndexRequest", "settings") -<%_} _%> - - // v8 entries +<%_ } _%> +<%_ if (databaseTypeCassandra) { _%> + builder.allowBlockingCallsInside("io.netty.util.NetUtil", "") +<%_ } _%> +<%_ if (databaseTypeNeo4j) { _%> + <%_ if (databaseMigrationLiquibase) { _%> + builder.allowBlockingCallsInside("io.netty.util.concurrent.DefaultPromise", "awaitUninterruptibly") + <%_ } _%> + builder.allowBlockingCallsInside("org.springframework.data.neo4j.core.PropertyFilterSupport", "getInputProperties") +<%_ } _%> +<%_ if (messageBrokerPulsar) { _%> + builder.allowBlockingCallsInside("com.scurrilous.circe.utils.NativeUtils", "loadLibraryFromJar") +<%_ } _%> builder.allowBlockingCallsInside("org.springframework.web.reactive.result.method.InvocableHandlerMethod", "invoke") builder.allowBlockingCallsInside("org.springdoc.core.service.OpenAPIService", "build") builder.allowBlockingCallsInside("org.springdoc.core.service.AbstractRequestService", "build") - // jhipster-needle-blockhound-integration - JHipster will add additional gradle plugins here } - } diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/AuthenticationIntegrationTest.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/AuthenticationIntegrationTest.kt.ejs new file mode 100644 index 000000000..ffc4f9b18 --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/AuthenticationIntegrationTest.kt.ejs @@ -0,0 +1,76 @@ +package <%= packageName %>.security.jwt + +import java.lang.annotation.ElementType +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy +import java.lang.annotation.Target + +import org.springframework.test.annotation.DirtiesContext + +import <%= packageName %>.config.SecurityConfiguration +import <%= packageName %>.config.SecurityJwtConfiguration +import <%= packageName %>.config.WebConfigurer +import <%= packageName %>.management.SecurityMetersService +<%_ if (!applicationTypeMicroservice) { _%> +import <%= packageName %>.web.rest.AuthenticateController +<%_ } _%> + +import tech.jhipster.config.JHipsterProperties + +<%_ if (reactive) { %> +import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest +import org.springframework.context.annotation.ComponentScan +import org.springframework.context.annotation.Import + +<%_ } else { _%> +import org.springframework.boot.test.context.SpringBootTest + +<%_ } _%> +@Target(AnnotationTarget.CLASS) +@Retention(AnnotationRetention.RUNTIME) +<%_ if (reactive) { %> +@Import( + [ + JHipsterProperties::class, + WebConfigurer::class, + SecurityConfiguration::class, + SecurityJwtConfiguration::class, + SecurityMetersService::class, + JwtAuthenticationTestUtils::class, + ] +) +@WebFluxTest( +<%_ if (applicationTypeMicroservice) { _%> + controllers = [ TestAuthenticationResource::class ], +<%_ } else { _%> + controllers = [ AuthenticateController::class ], +<%_ } _%> + properties = [ + "jhipster.security.authentication.jwt.base64-secret=fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8", + "jhipster.security.authentication.jwt.token-validity-in-seconds=60000", + ] +) +@ComponentScan({}) +<%_ } else { _%> +@SpringBootTest( +<%_ if (!applicationTypeMicroservice) { _%> + properties = [ + "jhipster.security.authentication.jwt.base64-secret=fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8", + "jhipster.security.authentication.jwt.token-validity-in-seconds=60000", + ], +<%_ } _%> + classes = { + JHipsterProperties::class, + WebConfigurer::class, + SecurityConfiguration::class, + SecurityJwtConfiguration::class, + SecurityMetersService::class, +<%_ if (!applicationTypeMicroservice) { _%> + AuthenticateController::class, +<%_ } _%> + JwtAuthenticationTestUtils::class + } +) +<%_ } _%> +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) +annotation class AuthenticationIntegrationTest diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/JwtAuthenticationTestUtils.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/JwtAuthenticationTestUtils.kt.ejs new file mode 100644 index 000000000..98d62c1c9 --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/JwtAuthenticationTestUtils.kt.ejs @@ -0,0 +1,132 @@ +package <%= packageName %>.security.jwt + +import <%= packageName %>.security.SecurityUtils.AUTHORITIES_KEY +import <%= packageName %>.security.SecurityUtils.JWT_ALGORITHM + +import com.nimbusds.jose.jwk.source.ImmutableSecret +import com.nimbusds.jose.util.Base64 +import io.micrometer.core.instrument.MeterRegistry +import io.micrometer.core.instrument.simple.SimpleMeterRegistry +import java.time.Instant +import java.util.Collections +import javax.crypto.Mac +import javax.crypto.SecretKey +import javax.crypto.spec.SecretKeySpec +import org.springframework.context.annotation.Bean +import org.springframework.security.crypto.codec.Hex +import org.springframework.security.oauth2.jwt.JwsHeader +import org.springframework.security.oauth2.jwt.JwtClaimsSet +import org.springframework.security.oauth2.jwt.JwtEncoder +import org.springframework.security.oauth2.jwt.JwtEncoderParameters +import org.springframework.security.oauth2.jwt.NimbusJwtEncoder +<%_ if (!reactive) { _%> +import org.springframework.web.servlet.handler.HandlerMappingIntrospector +<%_ } _%> +<%_ if (reactive && generateBuiltInUserEntity) { _%> +import <%= packageName %>.repository.UserRepository +<%_ } _%> +<%_ if (reactive) { _%> +import org.springframework.boot.test.mock.mockito.MockBean +import org.springframework.security.core.userdetails.ReactiveUserDetailsService +<%_ } _%> + +class JwtAuthenticationTestUtils { +<%_ if (!reactive) { _%> + + @Bean + private fun mvcHandlerMappingIntrospector(): HandlerMappingIntrospector { + return HandlerMappingIntrospector() + } +<%_ } _%> +<%_ if (applicationTypeMicroservice && !reactive) { _%> + + @Bean + private fun authenticationResource(): TestAuthenticationResource { + return TestAuthenticationResource() + } +<%_ } _%> + + @Bean + private fun meterRegistry(): MeterRegistry { + return SimpleMeterRegistry() + } +<%_ if (reactive) { _%> + + @MockBean + private lateinit var userDetailsService: ReactiveUserDetailsService +<%_ } _%> +<%_ if (reactive && generateBuiltInUserEntity) { _%> + + @MockBean + private lateinit var userRepository: UserRepository +<%_ } _%> + + companion object { + <%_ if (!reactive) { _%> + const val BEARER = "Bearer " + <%_ } _%> + + fun createValidToken(jwtKey: String): String { + return createValidTokenForUser(jwtKey, "anonymous") + } + + fun createValidTokenForUser(jwtKey: String, user: String?): String { + val encoder = jwtEncoder(jwtKey) + val now = Instant.now() + val claims = JwtClaimsSet + .builder() + .issuedAt(now) + .expiresAt(now.plusSeconds(60)) + .subject(user) + .claims { customClain: MutableMap -> customClain[SecurityUtils.AUTHORITIES_KEY] = listOf("ROLE_ADMIN") } + .build() + val jwsHeader = JwsHeader.with(SecurityUtils.JWT_ALGORITHM).build() + return encoder.encode(JwtEncoderParameters.from(jwsHeader, claims)).tokenValue + } + + fun createTokenWithDifferentSignature(): String { + val encoder = jwtEncoder("Xfd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8") + val now = Instant.now() + val past = now.plusSeconds(60) + val claims = JwtClaimsSet.builder().issuedAt(now).expiresAt(past).subject("anonymous").build() + val jwsHeader = JwsHeader.with(SecurityUtils.JWT_ALGORITHM).build() + return encoder.encode(JwtEncoderParameters.from(jwsHeader, claims)).tokenValue + } + + fun createExpiredToken(jwtKey: String): String { + val encoder = jwtEncoder(jwtKey) + val now = Instant.now() + val past = now.minusSeconds(600) + val claims = JwtClaimsSet.builder().issuedAt(past).expiresAt(past.plusSeconds(1)).subject("anonymous").build() + val jwsHeader = JwsHeader.with(SecurityUtils.JWT_ALGORITHM).build() + return encoder.encode(JwtEncoderParameters.from(jwsHeader, claims)).tokenValue + } + + @Throws(Exception::class) + fun createInvalidToken(jwtKey: String): String { + return createValidToken(jwtKey).substring(1) + } + + @Throws(Exception::class) + fun createSignedInvalidJwt(jwtKey: String): String { + return calculateHMAC("foo", jwtKey) + } + + private fun jwtEncoder(jwtKey: String): JwtEncoder { + return NimbusJwtEncoder(ImmutableSecret(getSecretKey(jwtKey))) + } + + private fun getSecretKey(jwtKey: String): SecretKey { + val keyBytes = Base64.from(jwtKey).decode() + return SecretKeySpec(keyBytes, 0, keyBytes.size, SecurityUtils.JWT_ALGORITHM.getName()) + } + + @Throws(Exception::class) + private fun calculateHMAC(data: String, key: String): String { + val secretKeySpec = SecretKeySpec(Base64.from(key).decode(), "HmacSHA512") + val mac = Mac.getInstance("HmacSHA512") + mac.init(secretKeySpec) + return String(Hex.encode(mac.doFinal(data.toByteArray()))) + } + } +} diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TestAuthenticationResource.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TestAuthenticationResource.kt.ejs new file mode 100644 index 000000000..ae822ec6d --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TestAuthenticationResource.kt.ejs @@ -0,0 +1,18 @@ +package <%= packageName %>.security.jwt + +import org.springframework.web.bind.annotation.* + +/** + * REST controller for managing testing authentication token. + */ +@RestController +@RequestMapping("/api") +class TestAuthenticationResource { + /** + * {@code GET /authenticate} : check if the authentication token correctly validates + * + * @return ok. + */ + @GetMapping("/authenticate") + fun isAuthenticated() = "isOk" +} diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationIT.kt.ejs new file mode 100644 index 000000000..57acb58d6 --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationIT.kt.ejs @@ -0,0 +1,96 @@ +package <%= packageName %>.security.jwt + +import <%= packageName %>.security.jwt.JwtAuthenticationTestUtils.* + +import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.beans.factory.annotation.Value + +<%_ if (reactive) { %> +import <%= packageName %>.IntegrationTest +import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient +import org.springframework.test.web.reactive.server.WebTestClient + +@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT) +<%_ } else { _%> +import org.springframework.http.HttpHeaders.AUTHORIZATION +import org.springframework.test.web.servlet.result.MockMvcResultMatchers.* + +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders + +@AutoConfigureMockMvc +<%_ } _%> +@AuthenticationIntegrationTest +class TokenAuthenticationIT { + + @Autowired +<%_ if (reactive) { _%> + private lateinit var webTestClient: WebTestClient +<%_ } else { _%> + private lateinit var mvc: MockMvc +<%_ } _%> + + @Value("\${jhipster.security.authentication.jwt.base64-secret}") + private lateinit var jwtKey: String + + @Test + @Throws(Exception::class) + fun testLoginWithValidToken() { + expectOk(JwtAuthenticationTestUtils.createValidToken(jwtKey)) + } + + @Test + @Throws(Exception::class) + fun testReturnFalseWhenJWThasInvalidSignature() { + expectUnauthorized(JwtAuthenticationTestUtils.createTokenWithDifferentSignature()) + } + + @Test + @Throws(Exception::class) + fun testReturnFalseWhenJWTisMalformed() { + expectUnauthorized(JwtAuthenticationTestUtils.createSignedInvalidJwt(jwtKey)) + } + + @Test + @Throws(Exception::class) + fun testReturnFalseWhenJWTisExpired() { + expectUnauthorized(JwtAuthenticationTestUtils.createExpiredToken(jwtKey)) + } +<%_ if (reactive) { %> + + private fun expectOk(token: String) { + webTestClient + .get() + .uri("/api/authenticate") + .headers { headers -> headers.setBearerAuth(token) } + .exchange() + .expectStatus() + .isOk() + } + + private fun expectUnauthorized(token: String) { + webTestClient + .get() + .uri("/api/authenticate") + .headers{ headers -> headers.setBearerAuth(token) } + .exchange() + .expectStatus() + .isUnauthorized() + } +<%_ } else { _%> + + @Throws(Exception::class) + private fun expectOk(token: String) { + mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(HttpHeaders.AUTHORIZATION, JwtAuthenticationTestUtils.BEARER + token)).andExpect(MockMvcResultMatchers.status().isOk()) + } + + @Throws(Exception::class) + private fun expectUnauthorized(token: String) { + mvc + .perform(MockMvcRequestBuilders.get("/api/authenticate").header(HttpHeaders.AUTHORIZATION, JwtAuthenticationTestUtils.BEARER + token)) + .andExpect(MockMvcResultMatchers.status().isUnauthorized()) + } +<%_ } _%> +} diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.kt.ejs index 3ee4cb5c3..a3ff5514e 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.kt.ejs @@ -18,179 +18,112 @@ -%> package <%= packageName %>.security.jwt -import <%= packageName %>.security.ANONYMOUS -import <%= packageName %>.management.SecurityMetersService - -import io.jsonwebtoken.Jwts -import io.jsonwebtoken.SignatureAlgorithm -import io.jsonwebtoken.io.Decoders -import io.jsonwebtoken.security.Keys +import <%= packageName %>.security.jwt.JwtAuthenticationTestUtils.* +import org.assertj.core.api.Assertions.assertThat import io.micrometer.core.instrument.Counter import io.micrometer.core.instrument.MeterRegistry -import io.micrometer.core.instrument.simple.SimpleMeterRegistry - -import org.junit.jupiter.api.BeforeEach +import java.util.Collection import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.beans.factory.annotation.Value + +<%_ if (reactive) { _%> +import <%= packageName %>.IntegrationTest +import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient +import org.springframework.test.web.reactive.server.WebTestClient + +@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT) +<%_ } else { _%> +import org.springframework.http.HttpHeaders.AUTHORIZATION +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders + +@AutoConfigureMockMvc +<%_ } _%> +@AuthenticationIntegrationTest +class TokenAuthenticationSecurityMetersIT { + + companion object { + private const val INVALID_TOKENS_METER_EXPECTED_NAME = "security.authentication.invalid-tokens" + } -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken -import org.springframework.security.core.Authentication -import org.springframework.security.core.GrantedAuthority -import org.springframework.security.core.authority.SimpleGrantedAuthority -import org.springframework.test.util.ReflectionTestUtils -import tech.jhipster.config.JHipsterProperties - -import java.security.Key -import java.util.Date - -import org.assertj.core.api.Assertions.assertThat - -private const val ONE_MINUTE = 60000 -private const val INVALID_TOKENS_METER_EXPECTED_NAME = "security.authentication.invalid-tokens" + @Autowired +<%_ if (reactive) { _%> + private lateinit var webTestClient: WebTestClient +<%_ } else { _%> + private lateinit var mvc: MockMvc +<%_ } _%> -class TokenProviderSecurityMetersTests { + @Value("\${jhipster.security.authentication.jwt.base64-secret}") + private lateinit var jwtKey: String + @Autowired private lateinit var meterRegistry: MeterRegistry - private lateinit var tokenProvider: TokenProvider - - - @BeforeEach - fun setup() { - val jHipsterProperties = JHipsterProperties() - val base64Secret = "fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8" - jHipsterProperties.security.authentication.jwt.base64Secret = base64Secret - - meterRegistry = SimpleMeterRegistry() - - val securityMetersService = SecurityMetersService(meterRegistry) - - tokenProvider = TokenProvider(jHipsterProperties, securityMetersService) - val key = Keys.hmacShaKeyFor(Decoders.BASE64.decode(base64Secret)) - - ReflectionTestUtils.setField(tokenProvider, "key", key) - ReflectionTestUtils.setField(tokenProvider, "tokenValidityInMilliseconds", ONE_MINUTE) - } - @Test + @Throws(Exception::class) fun testValidTokenShouldNotCountAnything() { val counters = meterRegistry.find(INVALID_TOKENS_METER_EXPECTED_NAME).counters() - - assertThat(aggregate(counters)).isZero() - - val validToken = createValidToken() - - tokenProvider.validateToken(validToken) - - assertThat(aggregate(counters)).isZero() + val count = aggregate(counters) + tryToAuthenticate(JwtAuthenticationTestUtils.createValidToken(jwtKey)) + Assertions.assertThat(aggregate(counters)).isEqualTo(count) } @Test + @Throws(Exception::class) fun testTokenExpiredCount() { - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "expired") - .counter().count()).isZero() - - val expiredToken = createExpiredToken() - - tokenProvider.validateToken(expiredToken) - - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "expired") - .counter().count()).isEqualTo(1.0) - } - - @Test - fun testTokenUnsupportedCount() { - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "unsupported") - .counter().count()).isZero() - - val unsupportedToken = createUnsupportedToken() - - tokenProvider.validateToken(unsupportedToken) - - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "unsupported") - .counter().count()).isEqualTo(1.0) + val count = meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "expired").counter().count() + tryToAuthenticate(JwtAuthenticationTestUtils.createExpiredToken(jwtKey)) + Assertions.assertThat(meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "expired").counter().count()).isEqualTo(count + 1) } @Test + @Throws(Exception::class) fun testTokenSignatureInvalidCount() { - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "invalid-signature") - .counter().count()).isZero() - - val tokenWithDifferentSignature = createTokenWithDifferentSignature() - - tokenProvider.validateToken(tokenWithDifferentSignature) - - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "invalid-signature") - .counter().count()).isEqualTo(1.0) + val count = meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "invalid-signature").counter().count() + tryToAuthenticate(JwtAuthenticationTestUtils.createTokenWithDifferentSignature()) + Assertions.assertThat(meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "invalid-signature").counter().count()) + .isEqualTo(count + 1) } @Test + @Throws(Exception::class) fun testTokenMalformedCount() { - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "malformed") - .counter().count()).isZero() - - val malformedToken = createMalformedToken() - - tokenProvider.validateToken(malformedToken) - - assertThat(meterRegistry.get(INVALID_TOKENS_METER_EXPECTED_NAME) - .tag("cause", "malformed") - .counter().count()).isEqualTo(1.0) - } - - private fun createValidToken(): String { - val authentication = createAuthentication() - - return tokenProvider.createToken(authentication, false) - } - - private fun createExpiredToken(): String { - ReflectionTestUtils.setField(tokenProvider, "tokenValidityInMilliseconds", -ONE_MINUTE) - - val authentication = createAuthentication() - - return tokenProvider.createToken(authentication, false) - } - - private fun createAuthentication(): Authentication { - val authorities = listOf(SimpleGrantedAuthority(ANONYMOUS)) - return UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities) + val count = meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "malformed").counter().count() + tryToAuthenticate(JwtAuthenticationTestUtils.createSignedInvalidJwt(jwtKey)) + Assertions.assertThat(meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "malformed").counter().count()).isEqualTo(count + 1) } - private fun createUnsupportedToken(): String { - val key = ReflectionTestUtils.getField(tokenProvider, "key") as Key - - return Jwts.builder().setPayload("payload").signWith(key, SignatureAlgorithm.HS256).compact() + @Test + @Throws(Exception::class) + fun testTokenInvalidCount() { + val count = meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "malformed").counter().count() + tryToAuthenticate(JwtAuthenticationTestUtils.createInvalidToken(jwtKey)) + Assertions.assertThat(meterRegistry[INVALID_TOKENS_METER_EXPECTED_NAME].tag("cause", "malformed").counter().count()).isEqualTo(count + 1) } - - private fun createMalformedToken(): String { - val validToken = createValidToken() - - return "X$validToken" +<%_ if (reactive) { _%> + + private fun tryToAuthenticate(token: String) { + webTestClient + .get() + .uri("/api/authenticate") + .headers { headers -> headers.setBearerAuth(token) } + .exchange() + .returnResult(String::class.java) + .getResponseBody() + .blockLast() } +<%_ } else { _%> - private fun createTokenWithDifferentSignature(): String { - val otherKey = Keys.hmacShaKeyFor( - Decoders.BASE64.decode("Xfd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8") - ) - - return Jwts - .builder() - .setSubject("anonymous") - .signWith(otherKey, SignatureAlgorithm.HS512) - .setExpiration(Date(Date().time + ONE_MINUTE)) - .compact() + @Throws(Exception::class) + private fun tryToAuthenticate(token: String) { + mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(HttpHeaders.AUTHORIZATION, JwtAuthenticationTestUtils.BEARER + token)) } +<%_ } _%> private fun aggregate(counters: Collection): Double { - return counters.sumOf(Counter::count) + return counters.stream().mapToDouble { obj: Counter -> obj.count() }.sum() } - } diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs new file mode 100644 index 000000000..ecfdbc012 --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs @@ -0,0 +1,121 @@ +package <%= packageName %>.web.filter; + +import <%= packageName %>.IntegrationTest; +import <%= packageName %>.security.AuthoritiesConstants; + +import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc +import org.springframework.security.test.context.support.WithMockUser +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers + + +@AutoConfigureMockMvc +@WithMockUser +@IntegrationTest +class SpaWebFilterIT { + @Autowired + private lateinit var mockMvc: MockMvc + + @Test + @Throws(Exception::class) + fun testFilterForwardsToIndex() { + mockMvc.perform(MockMvcRequestBuilders.get("/")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + +<%_ if (!skipUserManagement) { _%> + + @Test + @Throws(Exception::class) + fun testFilterDoesNotForwardToIndexForApi() { + mockMvc.perform(MockMvcRequestBuilders.get("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl(null)) + } + +<%_ } _%> + + @Test + @WithMockUser(authorities = [AuthoritiesConstants.ADMIN]) + @Throws(Exception::class) + fun testFilterDoesNotForwardToIndexForV3ApiDocs() { + mockMvc.perform(MockMvcRequestBuilders.get("/v3/api-docs")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl(null)) + } + + @Test + @Throws(Exception::class) + fun testFilterDoesNotForwardToIndexForDotFile() { + mockMvc.perform(MockMvcRequestBuilders.get("/file.js")) + .andExpect(MockMvcResultMatchers.status().isNotFound()) + } + + @Test + @Throws(Exception::class) + fun getBackendEndpoint() { + mockMvc.perform(MockMvcRequestBuilders.get("/test")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + + @Test + @Throws(Exception::class) + fun forwardUnmappedFirstLevelMapping() { + mockMvc.perform(MockMvcRequestBuilders.get("/first-level")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + + @Test + @Throws(Exception::class) + fun forwardUnmappedSecondLevelMapping() { + mockMvc.perform(MockMvcRequestBuilders.get("/first-level/second-level")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + + @Test + @Throws(Exception::class) + fun forwardUnmappedThirdLevelMapping() { + mockMvc.perform(MockMvcRequestBuilders.get("/first-level/second-level/third-level")) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + + @Test + @Throws(Exception::class) + fun forwardUnmappedDeepMapping() { + mockMvc.perform(MockMvcRequestBuilders.get("/1/2/3/4/5/6/7/8/9/10")) + .andExpect(MockMvcResultMatchers.forwardedUrl("/index.html")) + } + + @Throws(Exception::class) + @Test + fun getUnmappedFirstLevelFile() { + mockMvc.perform(MockMvcRequestBuilders.get("/foo.js")) + .andExpect(MockMvcResultMatchers.status().isNotFound()) + } + + + /** + * This test verifies that any files that aren't permitted by Spring Security will be forbidden. + * If you want to change this to return isNotFound(), you need to add a request mapping that + * allows this file in SecurityConfiguration. + */ + @Throws(Exception::class) + @Test + fun getUnmappedSecondLevelFile() { + mockMvc.perform(MockMvcRequestBuilders.get("/foo/bar.js")).andExpect(MockMvcResultMatchers.status().isForbidden()) + } + + @Throws(Exception::class) + @Test + fun getUnmappedThirdLevelFile() { + mockMvc.perform(MockMvcRequestBuilders.get("/foo/another/bar.js")).andExpect(MockMvcResultMatchers.status().isForbidden()) + } +} diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_reactive.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_reactive.kt.ejs new file mode 100644 index 000000000..528b7cdbd --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterIT_reactive.kt.ejs @@ -0,0 +1,155 @@ +package <%= packageName %>.web.filter + +import <%= packageName %>.IntegrationTest +import <%= packageName %>.security.AuthoritiesConstants +import java.time.Duration +import org.junit.jupiter.api.Test +import org.springframework.test.web.reactive.server.WebTestClient +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient +import org.springframework.security.test.context.support.WithMockUser +import org.springframework.http.MediaType + +@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT) +@WithMockUser +@IntegrationTest +class SpaWebFilterIT { + + @Test + fun testFilterForwardsToIndex() { + webTestClient + .get() + .uri("/") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } +<%_ if (!skipUserManagement) { _%> + + @Test + fun testFilterDoesNotForwardToIndexForApi() { + webTestClient + .get() + .uri("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>") + .exchange() + .expectStatus().isOk() + .expectBody(String::class.java).isEqualTo("user") + } +<%_ } _%> + + @Test + @WithMockUser(authorities = [AuthoritiesConstants.ADMIN]) + fun testFilterDoesNotForwardToIndexForV3ApiDocs() { + webTestClient + .mutate() + .responseTimeout(Duration.ofMillis(10000)) + .build() + .get() + .uri("/v3/api-docs") + .exchange() + .expectStatus() + .isOk() + .expectHeader() + .contentType(MediaType.APPLICATION_JSON) + } + + @Test + fun testFilterDoesNotForwardToIndexForDotFile() { + webTestClient + .get() + .uri("/file.js") + .exchange() + .expectStatus().isNotFound() + } + + @Test + fun getBackendEndpoint() { + webTestClient + .get() + .uri("/test") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } + + @Test + fun forwardUnmappedFirstLevelMapping() { + webTestClient + .get() + .uri("/first-level") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } + + @Test + fun forwardUnmappedSecondLevelMapping() { + webTestClient + .get() + .uri("/first-level/second-level") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } + + @Test + fun forwardUnmappedThirdLevelMapping() { + webTestClient + .get() + .uri("/first-level/second-level/third-level") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } + + @Test + fun forwardUnmappedDeepMapping() { + webTestClient + .get() + .uri("/1/2/3/4/5/6/7/8/9/10") + .exchange() + .expectStatus().isOk() + .expectHeader().contentType("text/html;charset=UTF-8") + .expectBody(String::class.java).isEqualTo(SpaWebFilterTestController.INDEX_HTML_TEST_CONTENT) + } + + @Test + fun getUnmappedFirstLevelFile() { + webTestClient + .get() + .uri("/foo.js") + .exchange() + .expectStatus() + .isNotFound() + } + + /** + * This test verifies that any files that aren't permitted by Spring Security will be forbidden. + * If you want to change this to return isNotFound(), you need to add a request mapping that + * allows this file in SecurityConfiguration. + */ + @Test + fun getUnmappedSecondLevelFile() { + webTestClient + .get() + .uri("/foo/bar.js") + .exchange() + .expectStatus() + .isForbidden() + } + + @Test + fun getUnmappedThirdLevelFile() { + webTestClient + .get() + .uri("/foo/another/bar.js") + .exchange() + .expectStatus() + .isForbidden() + } +} diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterTestController_reactive.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterTestController_reactive.kt.ejs new file mode 100644 index 000000000..d9dbb3c7d --- /dev/null +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/filter/SpaWebFilterTestController_reactive.kt.ejs @@ -0,0 +1,16 @@ +package <%= packageName %>.web.filter; + +import org.springframework.http.MediaType +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +class SpaWebFilterTestController { + @GetMapping(value = ["/index.html"], produces = [MediaType.TEXT_HTML_VALUE]) + fun getIndexHtmlTestContent(): String { + return INDEX_HTML_TEST_CONTENT + } + companion object { + const val INDEX_HTML_TEST_CONTENT = "test" + } +} \ No newline at end of file diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT.kt.ejs index 5ec452f4c..b51151282 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT.kt.ejs @@ -42,8 +42,8 @@ import <%= packageName %>.security.ADMIN import <%= packageName %>.security.USER import <%= packageName %>.service.UserService import <%= packageName %>.service.dto.PasswordChangeDTO -import <%= packageName %>.service.dto.<%= user.restClass %> import <%= packageName %>.service.dto.<%= user.adminUserDto %> +import <%= packageName %>.service.dto.<%= user.dtoClass %> import <%= packageName %>.web.rest.vm.KeyAndPasswordVM import <%= packageName %>.web.rest.vm.ManagedUserVM import org.apache.commons.lang3.RandomStringUtils @@ -96,7 +96,6 @@ import org.mockito.Mockito.* import org.hamcrest.Matchers.containsString import org.hamcrest.Matchers.hasItem <%_ } _%> -import <%= packageName %>.web.rest.TEST_USER_LOGIN <%_ if (reactive) { _%> <%_ if (authenticationUsesCsrf) { _%> import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf @@ -129,7 +128,6 @@ import <%= packageName %>.config.SYSTEM_ACCOUNT <%_ } else { _%> @AutoConfigureMockMvc <%_ } _%> -@WithMockUser(value = TEST_USER_LOGIN) @IntegrationTest class AccountResourceIT { @@ -196,6 +194,7 @@ class AccountResourceIT { } @Test + @WithMockUser(TEST_USER_LOGIN) <%_ if (reactive) { _%> fun testAuthenticatedUser() { accountWebTestClient @@ -208,10 +207,7 @@ class AccountResourceIT { @Throws(Exception::class) fun testAuthenticatedUser() { restAccountMockMvc.perform(get("/api/authenticate") - .with { request -> - request.remoteUser = TEST_USER_LOGIN - request - } + .with(request -> request) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk) .andExpect(content().string(TEST_USER_LOGIN)) @@ -219,6 +215,7 @@ class AccountResourceIT { } @Test + @WithMockUser(TEST_USER_LOGIN) <%_ if (!reactive) { _%> @Throws(Exception::class) <%_ } _%> @@ -278,13 +275,17 @@ class AccountResourceIT { accountWebTestClient.get().uri("/api/account") .accept(MediaType.APPLICATION_JSON) .exchange() - .expectStatus().isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR) + <%_ if (authenticationTypeSession) { _%> + .expectStatus().isEqualTo(HttpStatus.OK); + <%_ } else { _%> + .expectStatus().isEqualTo(HttpStatus.UNAUTHORIZED); + <%_ } _%> <%_ } else { _%> @Throws(Exception::class) fun testGetUnknownAccount() { restAccountMockMvc.perform(get("/api/account") .accept(MediaType.APPLICATION_PROBLEM_JSON)) - .andExpect(status().isInternalServerError) + .andExpect(status().isUnauthorized) <%_ } _%> } @@ -564,8 +565,8 @@ class AccountResourceIT { val testUser = userRepository.findOneByEmailIgnoreCase("alice2@example.com")<% if (reactive) { %>.blockOptional()<% } %> assertThat(testUser).isPresent - testUser.get().activated = true - userRepository.save(testUser.get())<% if (reactive) { %>.block()<% } %> + testUser.orElseThrow().activated = true + userRepository.save(testUser.orElseThrow())<% if (reactive) { %>.block()<% } %> // Second (already activated) user <%_ if (reactive) { _%> @@ -698,10 +699,10 @@ class AccountResourceIT { val testUser4 = userRepository.findOneByLogin("test-register-duplicate-email-3")<% if (reactive) { %>.blockOptional()<% } %> assertThat(testUser4).isPresent - assertThat(testUser4.get().email).isEqualTo("test-register-duplicate-email@example.com") + assertThat(testUser4.orElseThrow().email).isEqualTo("test-register-duplicate-email@example.com") - testUser4.get().activated = true - userService.updateUser((<%= user.adminUserDto %>(testUser4.get())))<% if (reactive) { %>.block()<% } %> + testUser4.orElseThrow().activated = true + userService.updateUser((<%= user.adminUserDto %>(testUser4.orElseThrow())))<% if (reactive) { %>.block()<% } %> // Register 4th (already activated) user <%_ if (reactive) { _%> @@ -759,8 +760,8 @@ class AccountResourceIT { val userDup = userRepository.findOne<% if (databaseTypeSql) { %>WithAuthorities<% } %>ByLogin("badguy")<% if (reactive) { %>.blockOptional()<% } %> assertThat(userDup).isPresent - assertThat(userDup.get().authorities).hasSize(1) - assertContains(userDup.get().authorities, <% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { %>authorityRepository.findById(USER).<% if (reactive) { %>block<% } else { %>get<% } %>()<% } %><% if (databaseTypeCassandra || databaseTypeCouchbase) { %>USER<% } %>) + assertThat(userDup.orElseThrow().authorities).hasSize(1) + assertContains(userDup.orElseThrow().authorities, <% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j) { %>authorityRepository.findById(USER).<% if (reactive) { %>block<% } else { %>get<% } %>()<% } %><% if (databaseTypeCassandra || databaseTypeCouchbase) { %>USER<% } %>) } @Test<% if (databaseTypeSql && !reactive) { %> diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_oauth2.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_oauth2.kt.ejs index 749a83c8f..0f3669181 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_oauth2.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_oauth2.kt.ejs @@ -72,7 +72,6 @@ import org.springframework.transaction.annotation.Transactional <%_ } else { _%> @AutoConfigureMockMvc <%_ } _%> -@WithMockUser(value = TEST_USER_LOGIN) @IntegrationTest class AccountResourceIT { @@ -124,7 +123,9 @@ class AccountResourceIT { .expectHeader().contentType(MediaType.APPLICATION_JSON_VALUE) .expectBody() .jsonPath("$.login").isEqualTo("jane") + <%_ if (generateBuiltInUserEntity) { _%> .jsonPath("$.email").isEqualTo("jane.doe@jhipster.com") + <%_ } _%> .jsonPath("$.authorities").isEqualTo(ADMIN) <%_ } else { _%> TestSecurityContextHolder @@ -138,7 +139,9 @@ class AccountResourceIT { .andExpect(status().isOk) .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(jsonPath("\$.login").value(TEST_USER_LOGIN)) + <%_ if (generateBuiltInUserEntity) { _%> .andExpect(jsonPath("\$.email").value("john.doe@jhipster.com")) + <%_ } _%> .andExpect(jsonPath("\$.authorities").value(ADMIN)) <%_ } _%> } @@ -150,11 +153,11 @@ class AccountResourceIT { webTestClient.get().uri("/api/account") .accept(MediaType.APPLICATION_JSON) .exchange() - .expectStatus().is5xxServerError() + .expectStatus().is3xxServerError() <%_ } else { _%> restAccountMockMvc.perform(get("/api/account") .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isInternalServerError()) + .andExpect(status().isUnauthorized()) <%_ } _%> } @@ -178,6 +181,7 @@ class AccountResourceIT { } @Test + @WithMockUser(TEST_USER_LOGIN) <% if (!reactive) { %>@Throws(Exception::class)<% } %> <%_ if (reactive) { _%> fun testAuthenticatedUser() { @@ -190,10 +194,7 @@ class AccountResourceIT { <%_ } else { _%> fun testAuthenticatedUser() { restAccountMockMvc.perform(get("/api/authenticate") - .with { request -> - request.remoteUser = TEST_USER_LOGIN - request - } + .with(request -> request) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk) .andExpect(content().string(TEST_USER_LOGIN)) diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_skipUserManagement.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_skipUserManagement.kt.ejs index 0780d32a2..d9c0698f8 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_skipUserManagement.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AccountResourceIT_skipUserManagement.kt.ejs @@ -18,13 +18,21 @@ This file is part of the JHipster project, see https://jhipster.github.io/ -%> package <%= packageName %>.web.rest -import <%= packageName %>.IntegrationTest +<%_ if (authenticationTypeJwt) { _%> +import <%= packageName %>.security.jwt.JwtAuthenticationTestUtils.createValidTokenForUser +import org.springframework.beans.factory.annotation.Value + <%_ if (!reactive) { _%> +import <%= packageName %>.security.jwt.JwtAuthenticationTestUtils.BEARER +import org.springframework.http.HttpHeaders.AUTHORIZATION + <%_ } _%> +<%_ } _%> <%_ if (reactive) { _%> import <%= packageName %>.IntegrationTest.Companion.DEFAULT_TIMEOUT <%_ } _%> <%_ if (reactive && searchEngineElasticsearch) { _%> import <%= packageName %>.repository.search.UserSearchRepository <%_ } _%> +import <%= packageName %>.IntegrationTest import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired <%_ if (!reactive) { _%> @@ -47,7 +55,6 @@ import reactor.core.publisher.Mono import org.mockito.Mockito.* <%_ } _%> -import <%= packageName %>.web.rest.TEST_USER_LOGIN /** * Integration tests for the {@link AccountResource} REST controller. @@ -57,7 +64,6 @@ import <%= packageName %>.web.rest.TEST_USER_LOGIN <%_ } else { _%> @AutoConfigureMockMvc <%_ } _%> -@WithMockUser(value = TEST_USER_LOGIN) @IntegrationTest class AccountResourceIT { @@ -68,13 +74,23 @@ class AccountResourceIT { private lateinit var restAccountMockMvc: MockMvc <%_ } _%> + <%_ if (authenticationTypeJwt) { _%> + @Value("\${jhipster.security.authentication.jwt.base64-secret}") + private lateinit var jwtKey: String + <%_ } _%> + @Test <% if (!reactive) { %>@Throws(Exception::class)<% } %> + <%_ if (!authenticationTypeJwt) { _%> @WithMockUser(username = TEST_USER_LOGIN, authorities = [ADMIN]) + <%_ } _%> fun testGetExistingAccount() { <%_ if (reactive) { _%> accountWebTestClient.get().uri("/api/account") .accept(MediaType.APPLICATION_JSON) + <%_ if (authenticationTypeJwt) { _%> + .headers { header -> header.setBearerAuth(createValidTokenForUser(jwtKey, TEST_USER_LOGIN)) } + <%_ } _%> .exchange() .expectStatus().isOk .expectHeader().contentType(MediaType.APPLICATION_JSON) @@ -85,6 +101,9 @@ class AccountResourceIT { restAccountMockMvc.perform( get("/api/account") .accept(MediaType.APPLICATION_JSON) + <%_ if (authenticationTypeJwt) { _%> + .header(AUTHORIZATION, BEARER + createValidTokenForUser(jwtKey, TEST_USER_LOGIN)) + <%_ } _%> ) .andExpect(status().isOk) .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) @@ -113,6 +132,7 @@ class AccountResourceIT { } @Test + @WithMockUser(TEST_USER_LOGIN) <% if (!reactive) { %>@Throws(Exception::class)<% } %> <%_ if (reactive) { _%> fun testAuthenticatedUser() { @@ -125,10 +145,7 @@ class AccountResourceIT { <%_ } else { _%> fun testAuthenticatedUser() { restAccountMockMvc.perform(get("/api/authenticate") - .with(request -> { - request.setRemoteUser(TEST_USER_LOGIN) - return request - }) + .with(request -> request) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk) .andExpect(content().string(TEST_USER_LOGIN)) diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AuthenticateControllerIT.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AuthenticateControllerIT.kt.ejs index 1022a6e19..594fffb0a 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AuthenticateControllerIT.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/AuthenticateControllerIT.kt.ejs @@ -22,7 +22,10 @@ import <%= packageName %>.IntegrationTest <%_ if (databaseTypeSql && reactive) { _%> import <%= packageName %>.config.SYSTEM_ACCOUNT <%_ } _%> -<%_ if (!skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> + <%_ if (databaseTypeSql && reactive) { _%> +import <%= packageName %>.config.Constants + <%_ } _%> import <%= user.entityAbsoluteClass %> import <%= packageName %>.repository.UserRepository <%_ } _%> @@ -35,7 +38,7 @@ import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWeb import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc <%_ } _%> import org.springframework.http.MediaType -<%_ if (!skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> import org.springframework.security.crypto.password.PasswordEncoder <%_ } _%> <%_ if (reactive) { _%> @@ -60,7 +63,7 @@ import org.hamcrest.Matchers.* <%_ } _%> /** - * Integration tests for the [UserJWTController] REST controller. + * Integration tests for the [AuthenticateController] REST controller. */ <%_ if (reactive) { _%> @AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT) @@ -68,9 +71,9 @@ import org.hamcrest.Matchers.* @AutoConfigureMockMvc <%_ } _%> @IntegrationTest -class UserJWTControllerIT { +class AuthenticateControllerIT { -<%_ if (!skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> @Autowired private lateinit var userRepository: UserRepository @@ -86,7 +89,7 @@ class UserJWTControllerIT { <%_ }  _%> @Test -<%_ if (!skipUserManagement) { _%> +<%_ if (generateUserManagement) { _%> <%_ if (databaseTypeSql && !reactive) { _%> @Transactional <%_ } _%> @@ -137,7 +140,7 @@ class UserJWTControllerIT { } @Test - <%_ if (!skipUserManagement) { _%> + <%_ if (generateUserManagement) { _%> <%_ if (databaseTypeSql && !reactive) { _%> @Transactional <%_ } _%> diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.kt.ejs index 0517cd080..3a0bd1522 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_imperative.kt.ejs @@ -118,7 +118,7 @@ class ExceptionTranslatorIT { .andExpect(status().isMethodNotAllowed) .andExpect(content().contentType(MediaType.APPLICATION_PROBLEM_JSON)) .andExpect(jsonPath("\$.message").value("error.http.405")) - .andExpect(jsonPath("\$.detail").value("Request method 'POST' not supported")) + .andExpect(jsonPath("\$.detail").value("Request method 'POST' is not supported.")) } @Test diff --git a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.kt.ejs b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.kt.ejs index 1d37699ad..173130d7c 100644 --- a/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.kt.ejs +++ b/generators/spring-boot/templates/src/test/kotlin/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.kt.ejs @@ -19,9 +19,8 @@ package <%= packageName %>.web.rest.errors import <%= packageName %>.IntegrationTest -<%_ if (reactive) { _%> -import <%= packageName %>.IntegrationTest.Companion.DEFAULT_TIMEOUT -<%_ } _%> +import org.hamcrest.core.AnyOf +import org.hamcrest.core.IsEqual import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest @@ -123,7 +122,8 @@ class ExceptionTranslatorIT { .expectBody() .jsonPath("\$.message").isEqualTo("error.http.401") .jsonPath("$.path").isEqualTo("/api/exception-translator-test/unauthorized") - .jsonPath("\$.detail").isEqualTo("test authentication failed!") + .jsonPath("\$.detail") + .value(AnyOf.anyOf(IsEqual.equalTo("test authentication failed!"), IsEqual.equalTo("Invalid credentials"))) } @Test @@ -134,7 +134,7 @@ class ExceptionTranslatorIT { .expectHeader().contentType(MediaType.APPLICATION_PROBLEM_JSON) .expectBody() .jsonPath("\$.message").isEqualTo("error.http.405") - .jsonPath("\$.detail").isEqualTo("405 METHOD_NOT_ALLOWED \"Request method 'POST' not supported\"") + .jsonPath("\$.detail").isEqualTo("405 METHOD_NOT_ALLOWED \"Request method 'POST' is not supported.\"") } @Test diff --git a/test/__snapshots__/app.spec.js.snap b/test/__snapshots__/app.spec.js.snap index 66a5c03ab..ed26acb39 100644 --- a/test/__snapshots__/app.spec.js.snap +++ b/test/__snapshots__/app.spec.js.snap @@ -119,24 +119,9 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -188,9 +173,6 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -200,6 +182,9 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -239,15 +224,6 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -275,16 +251,19 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -428,13 +407,16 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -449,16 +431,16 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -503,9 +485,6 @@ exports[`JHipster generator for App generator > App with skip client > Gradle > "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -577,24 +556,9 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -646,9 +610,6 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -658,6 +619,9 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -694,15 +658,6 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -733,10 +688,13 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -877,13 +835,16 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -898,13 +859,16 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -949,9 +913,6 @@ exports[`JHipster generator for App generator > App with skip client > Maven > c "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -1041,24 +1002,9 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/main/docker/couchbase/scripts/configure-node.sh": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -1104,9 +1050,6 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/main/kotlin/com/mycompany/myapp/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -1116,6 +1059,9 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -1158,15 +1104,6 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -1194,16 +1131,19 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -1335,13 +1275,16 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -1356,16 +1299,16 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -1404,9 +1347,6 @@ exports[`JHipster generator for App generator > Application with DB option > cou "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -1487,27 +1427,12 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/main/docker/config/mariadb/my.cnf": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/mariadb.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -1556,9 +1481,6 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -1568,6 +1490,9 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -1607,15 +1532,6 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -1643,16 +1559,19 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -1796,13 +1715,16 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -1817,16 +1739,16 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -1871,9 +1793,6 @@ exports[`JHipster generator for App generator > Application with DB option > mar "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -1951,18 +1870,6 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, @@ -1978,9 +1885,6 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/docker/mongodb/scripts/init_replicaset.js": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -2023,9 +1927,6 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/kotlin/com/mycompany/myapp/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -2035,6 +1936,9 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -2077,15 +1981,6 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -2113,16 +2008,19 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -2236,13 +2134,16 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -2257,16 +2158,16 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -2305,9 +2206,6 @@ exports[`JHipster generator for App generator > Application with DB option > mon "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -2379,27 +2277,12 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, "src/main/docker/keycloak.yml": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/prometheus/prometheus.yml": { "stateCleared": "modified", }, @@ -2445,9 +2328,6 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/kotlin/com/test/reactui/config/JacksonConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/test/reactui/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/test/reactui/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -2469,7 +2349,7 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/kotlin/com/test/reactui/domain/User.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/test/reactui/repository/AuthorityRepository.kt": { + "src/main/kotlin/com/test/reactui/repository/UserRepository.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/test/reactui/security/AuthoritiesConstants.kt": { @@ -2481,9 +2361,6 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/kotlin/com/test/reactui/security/oauth2/AudienceValidator.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/test/reactui/security/oauth2/JwtGrantedAuthorityConverter.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/test/reactui/service/UserService.kt": { "stateCleared": "modified", }, @@ -2493,6 +2370,9 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/kotlin/com/test/reactui/service/dto/UserDTO.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/test/reactui/service/mapper/UserMapper.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/test/reactui/web/filter/OAuth2ReactiveRefreshTokensWebFilter.kt": { "stateCleared": "modified", }, @@ -2505,9 +2385,15 @@ exports[`JHipster generator for App generator > Application with other options > "src/main/kotlin/com/test/reactui/web/rest/AuthInfoResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/test/reactui/web/rest/AuthorityResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/test/reactui/web/rest/LogoutResource.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/test/reactui/web/rest/PublicUserResource.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/test/reactui/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -2577,18 +2463,36 @@ exports[`JHipster generator for App generator > Application with other options > "src/test/kotlin/com/test/reactui/service/UserServiceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/test/reactui/service/mapper/UserMapperTest.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/test/reactui/test/util/OAuth2TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/test/reactui/web/filter/SpaWebFilterIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/test/reactui/web/filter/SpaWebFilterTestController.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/test/reactui/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/test/reactui/web/rest/AuthorityResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/test/reactui/web/rest/LogoutResourceIT.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/test/reactui/web/rest/PublicUserResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/test/reactui/web/rest/TestUtil.kt": { "stateCleared": "modified", }, + "src/test/kotlin/com/test/reactui/web/rest/UserResourceIT.kt": { + "stateCleared": "modified", + }, "src/test/kotlin/com/test/reactui/web/rest/WithUnauthenticatedMockUser.kt": { "stateCleared": "modified", }, @@ -2687,24 +2591,9 @@ exports[`JHipster generator for App generator > Auth options > HTTP session auth "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -2756,9 +2645,6 @@ exports[`JHipster generator for App generator > Auth options > HTTP session auth "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -2840,10 +2726,13 @@ exports[`JHipster generator for App generator > Auth options > HTTP session auth "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { @@ -2996,7 +2885,7 @@ exports[`JHipster generator for App generator > Auth options > HTTP session auth "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { @@ -3047,9 +2936,6 @@ exports[`JHipster generator for App generator > Auth options > HTTP session auth "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -3127,24 +3013,9 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -3196,9 +3067,6 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -3208,6 +3076,9 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -3247,15 +3118,6 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -3283,16 +3145,19 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -3436,13 +3301,16 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -3457,16 +3325,16 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -3511,9 +3379,6 @@ exports[`JHipster generator for App generator > Auth options > JWT authenticatio "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -3636,24 +3501,9 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -3705,9 +3555,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -3717,6 +3564,9 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -3756,15 +3606,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -3792,16 +3633,19 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -3945,13 +3789,16 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -3966,16 +3813,16 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -4020,9 +3867,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -4148,24 +3992,9 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/docker/config/mysql/my.cnf": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/mysql.yml": { "stateCleared": "modified", }, @@ -4217,9 +4046,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -4229,6 +4055,9 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -4268,15 +4097,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -4304,16 +4124,19 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -4457,13 +4280,16 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -4478,16 +4304,16 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -4532,9 +4358,6 @@ exports[`JHipster generator for App generator > Default configuration with > Gra "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -4615,24 +4438,9 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/main/docker/config/mysql/my.cnf": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/mysql.yml": { "stateCleared": "modified", }, @@ -4684,9 +4492,6 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -4696,6 +4501,9 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -4735,15 +4543,6 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -4771,16 +4570,19 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -4924,13 +4726,16 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -4945,16 +4750,16 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -4999,9 +4804,6 @@ exports[`JHipster generator for App generator > Default configuration with > Mav "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -5079,24 +4881,9 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -5148,9 +4935,6 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -5160,6 +4944,9 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -5199,15 +4986,6 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -5235,16 +5013,19 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -5388,13 +5169,16 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -5409,16 +5193,16 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -5463,9 +5247,6 @@ exports[`JHipster generator for App generator > Default configuration with > ang "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -5543,24 +5324,9 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -5612,9 +5378,6 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -5624,6 +5387,9 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -5663,15 +5429,6 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -5699,16 +5456,19 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -5852,13 +5612,16 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -5873,16 +5636,16 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -5927,9 +5690,6 @@ exports[`JHipster generator for App generator > Default configuration with > rea "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; @@ -6007,24 +5767,9 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -6076,9 +5821,6 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -6088,6 +5830,9 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -6127,15 +5872,6 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -6163,16 +5899,19 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -6328,13 +6067,16 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -6349,16 +6091,16 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -6409,8 +6151,5 @@ exports[`JHipster generator for App generator > Testing options > Cucumber tests "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; diff --git a/test/__snapshots__/server.spec.js.snap b/test/__snapshots__/server.spec.js.snap index 18f643d91..cbc51ee66 100644 --- a/test/__snapshots__/server.spec.js.snap +++ b/test/__snapshots__/server.spec.js.snap @@ -86,24 +86,9 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -155,9 +140,6 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -167,6 +149,9 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -206,15 +191,6 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -242,16 +218,19 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -1256,13 +1235,16 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -1277,16 +1259,16 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -1337,9 +1319,6 @@ exports[`JHipster server generator > generate server with caffeine > creates exp "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, "tsconfig.app.json": { "stateCleared": "modified", }, @@ -1450,24 +1429,9 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/main/docker/app.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -1519,9 +1483,6 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -1531,6 +1492,9 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/StaticResourcesWebConfiguration.kt": { "stateCleared": "modified", }, @@ -1570,15 +1534,6 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/main/kotlin/com/mycompany/myapp/security/UserNotActivatedException.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/service/EmailAlreadyUsedException.kt": { "stateCleared": "modified", }, @@ -1606,16 +1561,19 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/main/kotlin/com/mycompany/myapp/service/mapper/UserMapper.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/web/filter/SpaWebFilter.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/web/rest/AccountResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/ClientForwardController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthenticateController.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/AuthorityResource.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/web/rest/UserJWTController.kt": { + "src/main/kotlin/com/mycompany/myapp/web/rest/PublicUserResource.kt": { "stateCleared": "modified", }, "src/main/kotlin/com/mycompany/myapp/web/rest/UserResource.kt": { @@ -2620,13 +2578,16 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/service/MailServiceIT.kt": { @@ -2641,16 +2602,16 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/test/kotlin/com/mycompany/myapp/web/rest/AccountResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/ClientForwardControllerTest.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthenticateControllerIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/AuthorityResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/PublicUserResourceIT.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/web/rest/UserJWTControllerIT.kt": { + "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/UserResourceIT.kt": { @@ -2701,9 +2662,6 @@ exports[`JHipster server generator > generate server with ehcache > creates expe "src/test/resources/templates/mail/testEmail.html": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, "tsconfig.app.json": { "stateCleared": "modified", }, @@ -2808,27 +2766,12 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/main/docker/consul.yml": { "stateCleared": "modified", }, - "src/main/docker/grafana/provisioning/dashboards/JVM.json": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/dashboards/dashboard.yml": { - "stateCleared": "modified", - }, - "src/main/docker/grafana/provisioning/datasources/datasource.yml": { - "stateCleared": "modified", - }, "src/main/docker/hazelcast-management-center.yml": { "stateCleared": "modified", }, - "src/main/docker/jhipster-control-center.yml": { - "stateCleared": "modified", - }, "src/main/docker/jib/entrypoint.sh": { "stateCleared": "modified", }, - "src/main/docker/monitoring.yml": { - "stateCleared": "modified", - }, "src/main/docker/postgresql.yml": { "stateCleared": "modified", }, @@ -2889,9 +2832,6 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/main/kotlin/com/mycompany/myapp/config/LiquibaseConfiguration.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/config/LocaleConfiguration.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/config/LoggingAspectConfiguration.kt": { "stateCleared": "modified", }, @@ -2901,6 +2841,9 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/main/kotlin/com/mycompany/myapp/config/SecurityConfiguration.kt": { "stateCleared": "modified", }, + "src/main/kotlin/com/mycompany/myapp/config/SecurityJwtConfiguration.kt": { + "stateCleared": "modified", + }, "src/main/kotlin/com/mycompany/myapp/config/WebConfigurer.kt": { "stateCleared": "modified", }, @@ -2919,15 +2862,6 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/main/kotlin/com/mycompany/myapp/security/SpringSecurityAuditorAware.kt": { "stateCleared": "modified", }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTConfigurer.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/JWTFilter.kt": { - "stateCleared": "modified", - }, - "src/main/kotlin/com/mycompany/myapp/security/jwt/TokenProvider.kt": { - "stateCleared": "modified", - }, "src/main/kotlin/com/mycompany/myapp/web/rest/errors/BadRequestAlertException.kt": { "stateCleared": "modified", }, @@ -3033,13 +2967,19 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/test/kotlin/com/mycompany/myapp/security/SecurityUtilsUnitTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/JWTFilterTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/AuthenticationIntegrationTest.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/JwtAuthenticationTestUtils.kt": { "stateCleared": "modified", }, - "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenProviderTest.kt": { + "src/test/kotlin/com/mycompany/myapp/security/jwt/TestAuthenticationResource.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationIT.kt": { + "stateCleared": "modified", + }, + "src/test/kotlin/com/mycompany/myapp/security/jwt/TokenAuthenticationSecurityMetersIT.kt": { "stateCleared": "modified", }, "src/test/kotlin/com/mycompany/myapp/web/rest/TestUtil.kt": { @@ -3075,8 +3015,5 @@ exports[`JHipster server generator > microfrontend > should match generated file "src/test/resources/logback.xml": { "stateCleared": "modified", }, - "src/test/resources/testcontainers.properties": { - "stateCleared": "modified", - }, } `; diff --git a/test/utils/expected-files.js b/test/utils/expected-files.js index d9e20c4c0..cd05cba40 100644 --- a/test/utils/expected-files.js +++ b/test/utils/expected-files.js @@ -62,7 +62,6 @@ const expectedFiles = { `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/DatabaseConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/DateTimeFormatConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/JacksonConfiguration.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LocaleConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LoggingAspectConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/SecurityConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/WebConfigurer.kt`, @@ -84,7 +83,6 @@ const expectedFiles = { `${SERVER_TEST_RES_DIR}config/application.yml`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/AsyncSyncConfiguration.kt`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}logback.xml`, ], @@ -198,42 +196,27 @@ const expectedFiles = { jwtServer: [ `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/management/SecurityMetersService.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/jwt/JWTConfigurer.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/jwt/JWTFilter.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProvider.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/management/SecurityMetersServiceTests.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/JWTFilterTest.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProviderTest.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt`, ], jwtServerGateway: [ `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/management/SecurityMetersService.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/jwt/JWTFilter.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProvider.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/management/SecurityMetersServiceTests.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/JWTFilterTest.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProviderTest.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/jwt/TokenProviderSecurityMetersTests.kt`, ], oauth2: [ `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/SecurityConfiguration.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/domain/User.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/oauth2/JwtGrantedAuthorityConverter.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/security/oauth2/AudienceValidator.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/AccountResource.kt`, `${DOCKER_DIR}keycloak.yml`, ], messageBroker: [ - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/KafkaSseConsumer.kt`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/KafkaSseProducer.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/JhipsterKafkaResource.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/JhipsterKafkaResourceIT.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/KafkaTestContainer.kt`, `${DOCKER_DIR}kafka.yml`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, ], swaggerCodegen: [`${SERVER_MAIN_RES_DIR}swagger/api.yml`], @@ -242,8 +225,6 @@ const expectedFiles = { `${SERVER_MAIN_RES_DIR}config/bootstrap.yml`, `${SERVER_MAIN_RES_DIR}config/bootstrap-prod.yml`, `${SERVER_TEST_RES_DIR}config/bootstrap.yml`, - `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/filter/ModifyServersOpenApiFilter.kt`, - `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/filter/ModifyServersOpenApiFilterTest.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/vm/RouteVM.kt`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/GatewayResource.kt`, ], @@ -259,7 +240,7 @@ const expectedFiles = { 'package.json', ], - dockerServices: [`${DOCKER_DIR}app.yml`, `${DOCKER_DIR}sonar.yml`, `${DOCKER_DIR}jhipster-control-center.yml`], + dockerServices: [`${DOCKER_DIR}app.yml`, `${DOCKER_DIR}sonar.yml`], hibernateTimeZoneConfig: [ `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/timezone/HibernateTimeZoneIT.kt`, @@ -271,7 +252,6 @@ const expectedFiles = { `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/SqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/MysqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/EmbeddedSQL.kt`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LiquibaseConfiguration.kt`, `${DOCKER_DIR}mysql.yml`, @@ -281,7 +261,6 @@ const expectedFiles = { `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/SqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/MariadbTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/EmbeddedSQL.kt`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LiquibaseConfiguration.kt`, `${DOCKER_DIR}mariadb.yml`, @@ -294,7 +273,6 @@ const expectedFiles = { `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/SqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/MsSqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/EmbeddedSQL.kt`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LiquibaseConfiguration.kt`, `${DOCKER_DIR}mssql.yml`, @@ -304,7 +282,6 @@ const expectedFiles = { `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/SqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/PostgreSqlTestContainer.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/EmbeddedSQL.kt`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/LiquibaseConfiguration.kt`, `${DOCKER_DIR}postgresql.yml`, @@ -328,7 +305,6 @@ const expectedFiles = { `${DOCKER_DIR}mongodb-cluster.yml`, `${DOCKER_DIR}mongodb/MongoDB.Dockerfile`, `${DOCKER_DIR}mongodb/scripts/init_replicaset.js`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, ], couchbase: [ @@ -347,7 +323,6 @@ const expectedFiles = { neo4j: [ `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/EmbeddedNeo4j.kt`, `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/Neo4jTestContainer.kt`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, `${SERVER_TEST_RES_DIR}META-INF/spring.factories`, `${SERVER_MAIN_RES_DIR}config/neo4j/migrations/user__admin.json`, `${SERVER_MAIN_RES_DIR}config/neo4j/migrations/user__user.json`, @@ -370,7 +345,6 @@ const expectedFiles = { `${DOCKER_DIR}cassandra-cluster.yml`, `${DOCKER_DIR}cassandra-migration.yml`, `${DOCKER_DIR}cassandra.yml`, - `${SERVER_TEST_RES_DIR}testcontainers.properties`, ], elasticsearch: [