/** * Add a {@link InitializrProperties} to be merged with other content. Merges the * settings only and not the configuration. * @param properties the properties to use * @return this instance * @see #withInitializrProperties(InitializrProperties, boolean) */ public InitializrMetadataBuilder withInitializrProperties( InitializrProperties properties) { return withInitializrProperties(properties, false); }
/** * Create a builder instance from the specified {@link InitializrProperties}. * Initialize the configuration to use. * @param configuration the configuration to use * @return a new {@link InitializrMetadataBuilder} instance * @see #withInitializrProperties(InitializrProperties) */ public static InitializrMetadataBuilder fromInitializrProperties( InitializrProperties configuration) { return new InitializrMetadataBuilder(configuration) .withInitializrProperties(configuration); }
@Test void mergeConfig() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties customDefaultsConfig = load( new ClassPathResource("application-test-custom-defaults.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig).build(); assertDefaultConfig(metadata); assertThat(metadata.getGroupId().getContent()).isEqualTo("org.foo"); assertThat(metadata.getArtifactId().getContent()).isEqualTo("foo-bar"); assertThat(metadata.getVersion().getContent()).isEqualTo("1.2.4-SNAPSHOT"); assertThat(metadata.getName().getContent()).isEqualTo("FooBar"); assertThat(metadata.getDescription().getContent()).isEqualTo("FooBar Project"); assertThat(metadata.getPackageName().getContent()).isEqualTo("org.foo.demo"); }
@Test void mergeIdenticalConfig() { InitializrProperties bean = load( new ClassPathResource("application-test-default.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(bean).withInitializrProperties(bean, true) .build(); assertDefaultConfig(metadata); }
@Test void mergeConfiguration() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties customDefaultsConfig = load( new ClassPathResource("application-test-custom-env.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig, true).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.getArtifactRepository()) .isEqualTo("https://repo.spring.io/lib-release/"); assertThat(actualEnv.getSpringBootMetadataUrl()) .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); assertThat(actualEnv.getFallbackApplicationName()).isEqualTo("FooBarApplication"); assertThat(actualEnv.isForceSsl()).isEqualTo(false); assertThat(actualEnv.getKotlin().getDefaultVersion()) .isEqualTo("1.0.0-beta-2423"); }
@Test void mergeSslConfiguration() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties forceSslConfig = load( new ClassPathResource("application-test-ssl.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(forceSslConfig, true).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.isForceSsl()).isEqualTo(true); }
@Test void mergeConfigurationDisabledByDefault() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties customDefaultsConfig = load( new ClassPathResource("application-test-custom-env.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.getArtifactRepository()) .isEqualTo(defaultEnv.getArtifactRepository()); assertThat(actualEnv.getSpringBootMetadataUrl()) .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); assertThat(actualEnv.getFallbackApplicationName()) .isEqualTo(defaultEnv.getFallbackApplicationName()); assertThat(actualEnv.isForceSsl()).isEqualTo(defaultEnv.isForceSsl()); }