first review round changes
This commit is contained in:
parent
5b245cde28
commit
275a1f4545
|
@ -1,23 +0,0 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
public class Connection {
|
||||
|
||||
private String authorization;
|
||||
private int timeout;
|
||||
|
||||
public String getAuthorization() {
|
||||
return authorization;
|
||||
}
|
||||
|
||||
public void setAuthorization(String authorization) {
|
||||
this.authorization = authorization;
|
||||
}
|
||||
|
||||
public int getTimeout() {
|
||||
return timeout;
|
||||
}
|
||||
|
||||
public void setTimeout(int timeout) {
|
||||
this.timeout = timeout;
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class ConnectionFactory {
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix = "testing")
|
||||
public Connection getTestingConnection() {
|
||||
return new Connection();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix = "live")
|
||||
public Connection getLiveConnection() {
|
||||
return new Connection();
|
||||
}
|
||||
}
|
|
@ -5,8 +5,6 @@ public class Credentials {
|
|||
private String username;
|
||||
private String password;
|
||||
|
||||
public Credentials() {System.out.println("### INIT2 ###");}
|
||||
|
||||
public Credentials(String username, String password) {
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
@ -9,15 +9,12 @@ import org.springframework.context.annotation.Configuration;
|
|||
@ConfigurationProperties(prefix = "server")
|
||||
public class ServerConfig {
|
||||
|
||||
private String name;
|
||||
private Address address;
|
||||
private Map<String, String> dirs;
|
||||
private Set<String> imgIds;
|
||||
private Map<String, String> resourcesPath;
|
||||
|
||||
public static class Address {
|
||||
|
||||
private String ip;
|
||||
private int port;
|
||||
|
||||
public String getIp() {
|
||||
return ip;
|
||||
|
@ -26,22 +23,6 @@ public class ServerConfig {
|
|||
public void setIp(String ip) {
|
||||
this.ip = ip;
|
||||
}
|
||||
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
||||
public void setPort(int port) {
|
||||
this.port = port;
|
||||
}
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Address getAddress() {
|
||||
|
@ -52,19 +33,11 @@ public class ServerConfig {
|
|||
this.address = address;
|
||||
}
|
||||
|
||||
public Set<String> getImgIds() {
|
||||
return imgIds;
|
||||
public Map<String, String> getResourcesPath() {
|
||||
return resourcesPath;
|
||||
}
|
||||
|
||||
public void setImgIds(Set<String> imgIds) {
|
||||
this.imgIds = imgIds;
|
||||
}
|
||||
|
||||
public Map<String, String> getDirs() {
|
||||
return dirs;
|
||||
}
|
||||
|
||||
public void setDirs(Map<String, String> dirs) {
|
||||
this.dirs = dirs;
|
||||
public void setResourcesPath(Map<String, String> resourcesPath) {
|
||||
this.resourcesPath = resourcesPath;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class ServerConfigFactory {
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix = "server.default")
|
||||
public ServerConfig getDefaultConfigs() {
|
||||
return new ServerConfig();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@EnableConfigurationProperties(value = ServerConfig.class)
|
||||
@ContextConfiguration(classes = ServerConfigFactory.class)
|
||||
@TestPropertySource("classpath:server-config-test.properties")
|
||||
public class BindingPropertiesToBeanMethodsUnitTest {
|
||||
|
||||
@Autowired
|
||||
private ServerConfigFactory configFactory;
|
||||
|
||||
@Test
|
||||
void givenBeanAnnotatedMethod_whenBindingProperties_thenAllFieldsAreSet() {
|
||||
|
||||
assertEquals("192.168.0.2", configFactory.getDefaultConfigs().getAddress().getIp());
|
||||
|
||||
Map<String, String> expectedResourcesPath = new HashMap<>();
|
||||
expectedResourcesPath.put("imgs", "/root/def/imgs");
|
||||
assertEquals(expectedResourcesPath, configFactory.getDefaultConfigs().getResourcesPath());
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
|
||||
@SpringBootTest
|
||||
@TestPropertySource("classpath:thirdparty-config-test.properties")
|
||||
public class BindingPropertiesToThirdpartyPOJOUnitTest {
|
||||
|
||||
@Autowired
|
||||
private ConnectionFactory connectionfactory;
|
||||
|
||||
@Test
|
||||
void givenThirdPartyPOJO_whenBindingPropertiesFile_thenAllFieldsAreSet() {
|
||||
|
||||
assertEquals("foo", connectionfactory.getTestingConnection().getAuthorization());
|
||||
assertEquals(50, connectionfactory.getTestingConnection().getTimeout());
|
||||
|
||||
assertEquals("bar", connectionfactory.getLiveConnection().getAuthorization());
|
||||
assertEquals(100, connectionfactory.getLiveConnection().getTimeout());
|
||||
}
|
||||
}
|
|
@ -3,15 +3,17 @@ package com.baeldung.boot.configurationproperties;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
|
||||
@SpringBootTest
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@EnableConfigurationProperties(value = ServerConfig.class)
|
||||
@TestPropertySource("classpath:server-config-test.properties")
|
||||
public class BindingPropertiesToUserDefinedPOJOUnitTest {
|
||||
|
||||
|
@ -21,19 +23,10 @@ public class BindingPropertiesToUserDefinedPOJOUnitTest {
|
|||
@Test
|
||||
void givenUserDefinedPOJO_whenBindingPropertiesFile_thenAllFieldsAreSet() {
|
||||
|
||||
assertEquals("node1", serverConfig.getName());
|
||||
|
||||
Set<String> expectedImgs = new HashSet<>();
|
||||
expectedImgs.add("img1.jpg");
|
||||
expectedImgs.add("img2.jpg");
|
||||
assertEquals(expectedImgs, serverConfig.getImgIds());
|
||||
|
||||
assertEquals("192.168.0.1", serverConfig.getAddress().getIp());
|
||||
assertEquals(8099, serverConfig.getAddress().getPort());
|
||||
|
||||
Map<String, String> expectedDirs = new HashMap<>();
|
||||
expectedDirs.put("imgs", "/root/imgs");
|
||||
expectedDirs.put("html", "/root/html");
|
||||
assertEquals(expectedDirs, serverConfig.getDirs());
|
||||
Map<String, String> expectedResourcesPath = new HashMap<>();
|
||||
expectedResourcesPath.put("imgs", "/root/imgs");
|
||||
assertEquals(expectedResourcesPath, serverConfig.getResourcesPath());
|
||||
}
|
||||
}
|
|
@ -1,16 +1,21 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@SpringBootTest
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
|
||||
@EnableConfigurationProperties(value = ServerConfig.class)
|
||||
@ActiveProfiles("test")
|
||||
public class BindingYMLPropertiesUnitTest {
|
||||
|
||||
@Autowired
|
||||
|
@ -19,19 +24,10 @@ public class BindingYMLPropertiesUnitTest {
|
|||
@Test
|
||||
void whenBindingYMLConfigFile_thenAllFieldsAreSet() {
|
||||
|
||||
assertEquals("node2", serverConfig.getName());
|
||||
assertEquals("192.168.0.4", serverConfig.getAddress().getIp());
|
||||
|
||||
Set<String> expectedImgs = new HashSet<>();
|
||||
expectedImgs.add("img1.png");
|
||||
expectedImgs.add("img2.png");
|
||||
assertEquals(expectedImgs, serverConfig.getImgIds());
|
||||
|
||||
assertEquals("192.168.0.2", serverConfig.getAddress().getIp());
|
||||
assertEquals(5000, serverConfig.getAddress().getPort());
|
||||
|
||||
Map<String, String> expectedDirs = new HashMap<>();
|
||||
expectedDirs.put("imgs", "/etc/imgs");
|
||||
expectedDirs.put("html", "/etc/html");
|
||||
assertEquals(expectedDirs, serverConfig.getDirs());
|
||||
Map<String, String> expectedResourcesPath = new HashMap<>();
|
||||
expectedResourcesPath.put("imgs", "/etc/test/imgs");
|
||||
assertEquals(expectedResourcesPath, serverConfig.getResourcesPath());
|
||||
}
|
||||
}
|
|
@ -7,11 +7,14 @@ import javax.validation.Validator;
|
|||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@SpringBootTest
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@EnableConfigurationProperties(value = MailServer.class)
|
||||
@TestPropertySource("classpath:property-validation-test.properties")
|
||||
public class PropertyValidationUnitTest {
|
||||
|
||||
|
|
|
@ -1,14 +1,21 @@
|
|||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import org.springframework.util.unit.DataSize;
|
||||
|
||||
@SpringBootTest
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@EnableConfigurationProperties(value = PropertyConversion.class)
|
||||
@ContextConfiguration(classes = CustomCredentialsConverter.class)
|
||||
@TestPropertySource("classpath:spring-conversion-test.properties")
|
||||
public class SpringPropertiesConversionUnitTest {
|
||||
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
spring:
|
||||
profiles: test
|
||||
server:
|
||||
name: node2
|
||||
address:
|
||||
ip: 192.168.0.2
|
||||
port: 5000
|
||||
dirs:
|
||||
imgs: /etc/imgs
|
||||
html: /etc/html
|
||||
imgIds:
|
||||
- img1.png
|
||||
- img2.png
|
||||
ip: 192.168.0.4
|
||||
resources_path:
|
||||
imgs: /etc/test/imgs
|
||||
---
|
||||
spring:
|
||||
profiles: dev
|
||||
server:
|
||||
address:
|
||||
ip: 192.168.0.5
|
||||
resources_path:
|
||||
imgs: /etc/dev/imgs
|
|
@ -1,11 +1,6 @@
|
|||
server.NAME=node1
|
||||
|
||||
server.address.ip=192.168.0.1
|
||||
server.address.port=8099
|
||||
server.resources_path.imgs=/root/imgs
|
||||
|
||||
# directories
|
||||
server.dirs.imgs=/root/imgs
|
||||
server.dirs.html=/root/html
|
||||
|
||||
server.img_ids[0]=img1.jpg
|
||||
server.img_ids[1]=img2.jpg
|
||||
# default config
|
||||
server.default.address.ip=192.168.0.2
|
||||
server.default.resources_path.imgs=/root/def/imgs
|
|
@ -1,7 +0,0 @@
|
|||
# testing
|
||||
testing.authorization=foo
|
||||
testing.timeout=50
|
||||
|
||||
# live
|
||||
live.authorization=bar
|
||||
live.timeout=100
|
Loading…
Reference in New Issue