Skip to content
Snippets Groups Projects
Commit 05a0012b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4814 Refactored Tests and AdminEnvironmentRepository

parent 6d0c1dfd
Branches
Tags
No related merge requests found
package de.ozgcloud.admin.environment;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.cloud.config.environment.Environment;
import org.springframework.cloud.config.environment.PropertySource;
......@@ -23,13 +22,13 @@ public class AdminEnvironmentRepository implements EnvironmentRepository {
return buildEnvironment(application, properties);
}
private Environment buildEnvironment(String application, List<ConfigurationProperties> properties) {
var environment = new Environment(application, null);
environment.addAll(properties.stream().map(this::convertConfigurationPropertyToPropertySource).collect(Collectors.toList()));
Environment buildEnvironment(String application, List<ConfigurationProperties> properties) {
var environment = new Environment(application);
environment.addAll(properties.stream().map(this::createPropertySource).toList());
return environment;
}
private PropertySource convertConfigurationPropertyToPropertySource(ConfigurationProperties configurationProperties) {
PropertySource createPropertySource(ConfigurationProperties configurationProperties) {
return new PropertySource(null, configurationProperties.getSource());
}
......
......@@ -14,7 +14,7 @@ import lombok.SneakyThrows;
@DataITCase
@AutoConfigureMockMvc
class MongoConfigServerITCase {
class AdminEnvironmentITCase {
@Autowired
private MockMvc mockMvc;
......
package de.ozgcloud.admin.environment;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.cloud.config.environment.Environment;
@ExtendWith(MockitoExtension.class)
public class AdminEnvironmentRepositoryTest {
@InjectMocks
private AdminEnvironmentRepository repository;
@Mock
private PropertyRepository propertyRepository;
private ConfigurationProperties configurationProperties = ConfigurationPropertiesTestFactory.create();
@Nested
class TestEnvironment {
class TestBuildEnvironment {
@Test
void shouldHaveCorrectAppName() {
when(propertyRepository.findAllByApplication(any())).thenReturn(new ArrayList<ConfigurationProperties>());
var environment = findOneEnvironment();
var environment = repository.buildEnvironment(ConfigurationPropertiesTestFactory.APPNAME, new ArrayList<ConfigurationProperties>());
assertThat(environment.getName()).isEqualTo(ConfigurationPropertiesTestFactory.APPNAME);
}
}
@Nested
class TestPropertiesInEnvironment {
@BeforeEach
public void prepareReturnOfRepository() {
when(propertyRepository.findAllByApplication(anyString())).thenReturn(List.of(configurationProperties, configurationProperties));
}
@Test
void shouldHaveCorrectNumberOfEntries() {
void shouldHaveCorrectNumberOfPropertySources() {
var environment = findOneEnvironment();
var environment = repository.buildEnvironment(ConfigurationPropertiesTestFactory.APPNAME,
List.of(configurationProperties, configurationProperties));
assertThat(environment.getPropertySources()).hasSize(2);
}
@Test
void shouldHaveCorrectSourceInFirstEntry() {
void shouldHandleEmptyConfigurationList() {
var environment = repository.buildEnvironment(ConfigurationPropertiesTestFactory.APPNAME, new ArrayList<ConfigurationProperties>());
Environment environment = findOneEnvironment();
assertThat(environment.getPropertySources()).isEmpty();
assertThat(environment.getPropertySources().get(0).getSource()).isEqualTo(configurationProperties.getSource());
}
}
@Nested
class TestCreatePropertySource {
@Test
void shouldHaveCorrectNameInFirstEntry() {
void shouldHaveCorrectSource() {
Environment environment = findOneEnvironment();
var propertySource = repository.createPropertySource(configurationProperties);
assertThat(environment.getPropertySources().get(0).getName()).isNull();
}
assertThat(propertySource.getSource()).isEqualTo(configurationProperties.getSource());
}
private Environment findOneEnvironment() {
return repository.findOne(ConfigurationPropertiesTestFactory.APPNAME, ConfigurationPropertiesTestFactory.PROFILE, null);
@Test
void shouldHaveCorrectName() {
var propertySource = repository.createPropertySource(configurationProperties);
assertThat(propertySource.getName()).isNull();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment