Skip to content

Commit

Permalink
Merge pull request #7104 from murdos/generated-app/test-config-extend…
Browse files Browse the repository at this point in the history
…s-main-config

Executes integration tests with a configuration inherited from application configuration
  • Loading branch information
murdos authored Aug 23, 2023
2 parents e78a6aa + b2a04f0 commit 64b9fb7
Show file tree
Hide file tree
Showing 42 changed files with 40 additions and 99 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,6 @@ public JHipsterModule buildModuleInit(JHipsterModuleProperties properties) {
.and()
.springTestProperties()
.set(propertyKey("kafka.bootstrap-servers"), propertyValue("localhost:9092"))
.set(propertyKey("kafka.consumer.'[key.deserializer]'"), propertyValue(STRING_DESERIALIZER))
.set(propertyKey("kafka.consumer.'[value.deserializer]'"), propertyValue(STRING_DESERIALIZER))
.set(propertyKey("kafka.consumer.'[group.id]'"), propertyValue("myapp"))
.set(propertyKey("kafka.consumer.'[auto.offset.reset]'"), propertyValue("earliest"))
.set(propertyKey("kafka.producer.'[key.serializer]'"), propertyValue(STRING_SERIALIZER))
.set(propertyKey("kafka.producer.'[value.serializer]'"), propertyValue(STRING_SERIALIZER))
.set(propertyKey("kafka.polling.timeout"), propertyValue("10000"))
.and()
.build();
//@formatter:on
Expand All @@ -79,9 +72,6 @@ public JHipsterModule buildModuleDummyProducerConsumer(JHipsterModuleProperties
.springMainProperties()
.set(propertyKey("kafka.topic.dummy"), propertyValue("queue." + properties.projectBaseName().name() + ".dummy"))
.and()
.springTestProperties()
.set(propertyKey("kafka.topic.dummy"), propertyValue("queue." + properties.projectBaseName().name() + ".dummy"))
.and()
.files()
.add(SOURCE.template("DummyProducer.java"), toSrcMainJava().append(packagePath + "/" + DUMMY_INFRASTRUCTURE_SECONDARY_KAFKA_PRODUCER + "/DummyProducer.java"))
.add(SOURCE.template("DummyProducerTest.java"), toSrcTestJava().append(packagePath + "/" + DUMMY_INFRASTRUCTURE_SECONDARY_KAFKA_PRODUCER + "/DummyProducerTest.java"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.add(TEST_SOURCE.template("IntegrationTest.java"), testDestination.append("IntegrationTest.java"))
.add(MAIN_SOURCE.template(APPLICATION_PROPERTIES), MAIN_CONFIG_DESTINATION.append(APPLICATION_PROPERTIES))
.add(MAIN_SOURCE.template("application-local.properties"), MAIN_CONFIG_DESTINATION.append("application-local.properties"))
.add(TEST_SOURCE.template("application-test.properties"), TEST_CONFIG_DESTINATION.append(APPLICATION_PROPERTIES))
.add(TEST_SOURCE.template("application-test.properties"), TEST_CONFIG_DESTINATION.append("application-test.properties"))
.add(MAIN_SOURCE.template("logback-spring.xml"), MAIN_RESOURCE_DESTINATION.append("logback-spring.xml"))
.add(TEST_SOURCE.template("logback.xml"), TEST_RESOURCES_DESTINATION.append("logback.xml"))
.add(TEST_SOURCE.template("LogsSpy.java"), toSrcTestJava().append(properties.packagePath()).append("LogsSpy.java"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.set(HIDDEN_SLUGS_PROPERTY_KEY, propertyValue("custom-jhlite"))
.and()
.springTestProperties()
.set(EXCEPTION_PACKAGE_KEY, exceptionPackages)
.set(SERVER_PORT_KEY, propertyValue("0"))
.set(BEAN_DEFINITION_OVERRIDING_PROPERTY_KEY, propertyValue("true"))
.and()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.set(propertyKey("spring.cassandra.contact-points"), propertyValue("${TEST_CASSANDRA_CONTACT_POINT}"))
.set(propertyKey("spring.cassandra.local-datacenter"), propertyValue("${TEST_CASSANDRA_DC}"))
.set(propertyKey("spring.cassandra.keyspace-name"), propertyValue("${TEST_CASSANDRA_KEYSPACE}"))
.set(propertyKey("spring.cassandra.schema-action"), propertyValue("none"))
.and()
.springTestFactories()
.append(propertyKey("org.springframework.context.ApplicationListener"), propertyValue(packageName + "TestCassandraManager"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.springMainProperties()
.set(propertyKey("spring.jpa.properties.hibernate.cache.use_second_level_cache"), propertyValue("true"))
.and()
.springTestProperties()
.set(propertyKey("spring.jpa.properties.hibernate.cache.use_second_level_cache"), propertyValue("true"))
.and()
.files()
.add(TEST_SOURCE.template("Hibernate2ndLevelCacheConfigurationIT.java"), testDestination.append("Hibernate2ndLevelCacheConfigurationIT.java"))
.and()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,6 @@ public static JHipsterModuleBuilder sqlCommonModuleBuilder(
.set(propertyKey("spring.datasource.password"), propertyValue(""))
.set(propertyKey("spring.datasource.driver-class-name"), propertyValue("org.testcontainers.jdbc.ContainerDatabaseDriver"))
.set(propertyKey("spring.datasource.hikari.maximum-pool-size"), propertyValue("2"))
.set(propertyKey("spring.jpa.open-in-view"), FALSE)
.set(propertyKey("spring.jpa.properties.hibernate.connection.provider_disables_autocommit"), TRUE)
.set(propertyKey("spring.datasource.hikari.auto-commit"), FALSE)
.and()
.springMainLogger("org.hibernate.validator", LogLevel.WARN)
.springMainLogger(ORG_HIBERNATE, LogLevel.WARN)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.springMainProperties()
.set(propertyKey("spring.liquibase.change-log"), propertyValue("classpath:config/liquibase/master.xml"))
.and()
.springTestProperties()
.set(propertyKey("spring.liquibase.change-log"), propertyValue("classpath:config/liquibase/master.xml"))
.and()
.files()
.add(SOURCE.file("resources/master.xml"), to("src/main/resources/config/liquibase/master.xml"))
.add(SOURCE.file("resources/0000000000_example.xml"), to("src/main/resources/config/liquibase/changelog/0000000000_example.xml"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.springMainProperties()
.set(propertyKey("mongock.migration-scan-package"), propertyValue(properties.basePackage().get()))
.and()
.springTestProperties()
.set(propertyKey("mongock.migration-scan-package"), propertyValue(properties.basePackage().get()))
.and()
.build();
//@formatter:on
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) {
.springMainProperties()
.set(propertyKey("org.neo4j.migrations.check-location"), propertyValue("false"))
.and()
.springTestProperties()
.set(propertyKey("org.neo4j.migrations.check-location"), propertyValue("false"))
.and()
.build();
//@formatter:on
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ private void appendSpringProperties(JHipsterModuleBuilder builder) {
builder
.springTestProperties()
.set(propertyKey("spring.main.allow-bean-definition-overriding"), propertyValue("true"))
.set(propertyKey("spring.security.oauth2.client.registration.oidc.client-id"), CLIENT_ID)
.set(propertyKey("spring.security.oauth2.client.provider.oidc.issuer-uri"), propertyValue("http://DO_NOT_CALL:9080/realms/jhipster"));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,7 @@ public JHipsterModuleSpringPropertiesBuilder springMainProperties(SpringProfile
}

public JHipsterModuleSpringPropertiesBuilder springTestProperties() {
return springTestProperties(SpringProfile.DEFAULT);
return springTestProperties(SpringProfile.TEST);
}

public JHipsterModuleSpringPropertiesBuilder springTestBootstrapProperties() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

public record SpringProfile(String profile) {
public static final SpringProfile DEFAULT = new SpringProfile(null);
public static final SpringProfile TEST = new SpringProfile("test");

public String get() {
return profile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import java.lang.annotation.Target;
import org.junit.jupiter.api.DisplayNameGeneration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.annotation.AliasFor;
import org.springframework.test.context.ActiveProfiles;

@ActiveProfiles("test")
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@DisplayNameGeneration(ReplaceCamelCase.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import org.springframework.test.context.ActiveProfiles;
import {{packageName}}.{{ baseName }}App;
import {{packageName}}.cucumber.CucumberConfiguration.CucumberRestTemplateConfiguration;

@ActiveProfiles("test")
@CucumberContextConfiguration
@SpringBootTest(classes = { {{ baseName }}App.class, CucumberRestTemplateConfiguration.class }, webEnvironment = WebEnvironment.RANDOM_PORT)
public class CucumberConfiguration {
Expand Down
4 changes: 2 additions & 2 deletions src/test/features/server/database/mariadb.feature
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Feature: MariaDB module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should get MariaDB module properties definition
When I get module "mariadb" properties definition
Expand All @@ -41,4 +41,4 @@ Feature: MariaDB module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |
2 changes: 1 addition & 1 deletion src/test/features/server/database/mssql.feature
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Feature: mssql module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should get MsSQL module properties definition
When I get module "mssql" properties definition
Expand Down
4 changes: 2 additions & 2 deletions src/test/features/server/database/mysql.feature
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Feature: MySQL module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should get MySQL module properties definition
When I get module "mysql" properties definition
Expand All @@ -41,4 +41,4 @@ Feature: MySQL module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |
4 changes: 2 additions & 2 deletions src/test/features/server/database/postgresql.feature
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Feature: postgreSQL module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should get postgreSQL module properties definition
When I get module "postgresql" properties definition
Expand All @@ -41,4 +41,4 @@ Feature: postgreSQL module
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |
4 changes: 2 additions & 2 deletions src/test/features/springdoc.feature
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Feature: Springdoc modules
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should add Springdoc for Webflux
When I apply modules to default project
Expand All @@ -27,7 +27,7 @@ Feature: Springdoc modules
And I should have files in "src/main/resources/config"
| application.properties |
And I should have files in "src/test/resources/config"
| application.properties |
| application-test.properties |

Scenario: Should apply springdoc oauth2 module
When I apply modules to default project
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ void shouldBuildModule() {
.containing("springdoc.swagger-ui.oauth.realm=jhipster")
.containing("springdoc.oauth2.authorization-url=http://localhost:9080/realms/jhipster/protocol/openid-connect/auth")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("springdoc.swagger-ui.oauth.client-id=web_app")
.containing("springdoc.swagger-ui.oauth.realm=jhipster")
.containing("springdoc.oauth2.authorization-url=http://localhost:9080/realms/jhipster/protocol/openid-connect/auth");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,8 @@ void shouldBuildKafkaModuleInit() {
.containing("kafka.producer.'[value.serializer]'=org.apache.kafka.common.serialization.StringSerializer")
.containing("kafka.polling.timeout=10000")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("kafka.bootstrap-servers=localhost:9092")
.containing("kafka.consumer.'[key.deserializer]'=org.apache.kafka.common.serialization.StringDeserializer")
.containing("kafka.consumer.'[value.deserializer]'=org.apache.kafka.common.serialization.StringDeserializer")
.containing("kafka.consumer.'[group.id]'=myapp")
.containing("kafka.consumer.'[auto.offset.reset]'=earliest")
.containing("kafka.producer.'[key.serializer]'=org.apache.kafka.common.serialization.StringSerializer")
.containing("kafka.producer.'[value.serializer]'=org.apache.kafka.common.serialization.StringSerializer")
.containing("kafka.polling.timeout=10000")
.and()
.hasFile("src/test/java/com/jhipster/test/KafkaTestContainerExtension.java")
.and()
Expand Down Expand Up @@ -115,9 +108,6 @@ void shouldBuildKafkaModuleDummyProducerConsumer() {
.hasFile("src/main/resources/config/application.properties")
.containing("kafka.topic.dummy=queue.myapp.dummy")
.and()
.hasFile("src/test/resources/config/application.properties")
.containing("kafka.topic.dummy=queue.myapp.dummy")
.and()
.hasPrefixedFiles(
"src/main/java/com/jhipster/test",
dummyProducerPath + "/DummyProducer.java",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ void shouldBuildModule() {
.hasFile("src/main/resources/config/application.properties")
.containing("pulsar.client.service-url=pulsar://localhost:6650")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("pulsar.client.num-io-threads=8")
.containing("pulsar.producer.topic-name=test-topic")
.containing("pulsar.consumer.topic-names[0]=test-topic")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ void shouldBuildModuleOnProjectWithoutDefaultGoal() {
.hasFiles(
"src/main/resources/config/application.properties",
"src/main/resources/config/application-local.properties",
"src/test/resources/config/application.properties"
"src/test/resources/config/application-test.properties"
)
.hasFiles("src/test/resources/logback.xml", "src/main/resources/logback-spring.xml")
.hasFiles("documentation/logs-spy.md")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,8 @@ void shouldBuildModule() {
.containing("jhlite-hidden-resources.tags=banner")
.containing("jhlite-hidden-resources.slugs=custom-jhlite")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("server.port=0")
.containing("application.exception.package=org.,java.,net.,jakarta.,com.,io.,de.,tech.jhipster.lite,com.jhipster.test")
.containing("spring.main.allow-bean-definition-overriding=true")
.and()
.hasFile("src/main/java/com/jhipster/test/MyappApp.java")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,11 @@ void shouldBuildModule() {
"CassandraJSR310DateConverters.java"
)
.hasFiles("src/test/java/com/jhipster/test/wire/cassandra/infrastructure/secondary/CassandraJSR310DateConvertersTest.java")
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("spring.cassandra.port=${TEST_CASSANDRA_PORT}")
.containing("spring.cassandra.contact-points=${TEST_CASSANDRA_CONTACT_POINT}")
.containing("spring.cassandra.local-datacenter=${TEST_CASSANDRA_DC}")
.containing("spring.cassandra.keyspace-name=${TEST_CASSANDRA_KEYSPACE}")
.containing("spring.cassandra.schema-action=none")
.and()
.hasFile("src/test/resources/META-INF/spring.factories")
.containing("org.springframework.context.ApplicationListener=com.jhipster.test.TestCassandraManager")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ void shouldCreateModule() {
.hasFile("src/main/resources/config/application.properties")
.containing("spring.jpa.properties.hibernate.cache.use_second_level_cache=true")
.and()
.hasFile("src/test/resources/config/application.properties")
.containing("spring.jpa.properties.hibernate.cache.use_second_level_cache=true")
.and()
.hasFile("src/test/java/com/jhipster/test/wire/cache/infrastructure/secondary/Hibernate2ndLevelCacheConfigurationIT.java")
.and();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,11 @@ void shouldCreateModule() {
.containing("spring.jpa.properties.hibernate.query.fail_on_pagination_over_collection_fetch=true")
.containing("spring.jpa.properties.hibernate.query.in_clause_parameter_padding=true")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("spring.datasource.url=jdbc:tc:mariadb")
.containing("spring.datasource.username=myapp")
.containing("spring.datasource.password=")
.containing("spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver")
.containing("spring.datasource.hikari.maximum-pool-size=2")
.containing("spring.jpa.open-in-view=false")
.containing("spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true")
.containing("spring.datasource.hikari.auto-commit=false");
.containing("spring.datasource.hikari.maximum-pool-size=2");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ void shouldBuildModule() {
.containing("spring.data.mongodb.database=jhipster")
.containing("spring.data.mongodb.uri=mongodb://localhost:27017/jhipster")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("spring.data.mongodb.uri=${TEST_MONGODB_URI}")
.and()
.hasFile("src/main/resources/logback-spring.xml")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,12 @@ void shouldCreateModule() {
.containing("spring.jpa.properties.hibernate.query.fail_on_pagination_over_collection_fetch=true")
.containing("spring.jpa.properties.hibernate.query.in_clause_parameter_padding=true")
.and()
.hasFile("src/test/resources/config/application.properties")
.hasFile("src/test/resources/config/application-test.properties")
.containing("spring.datasource.url=jdbc:tc:sqlserver")
.containing("spring.datasource.username=SA")
.containing("spring.datasource.password=")
.containing("spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver")
.containing("spring.datasource.hikari.maximum-pool-size=2")
.containing("spring.jpa.open-in-view=false")
.containing("spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true")
.containing("spring.datasource.hikari.auto-commit=false");
.containing("spring.datasource.hikari.maximum-pool-size=2");
}

private ModuleFile integrationTestAnnotation() {
Expand Down
Loading

0 comments on commit 64b9fb7

Please sign in to comment.