Select Git revision
SettingEnvironmentITCase.java
SettingEnvironmentITCase.java 2.00 KiB
package de.ozgcloud.admin.setting;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
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 de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory;
import de.ozgcloud.common.test.DataITCase;
import lombok.SneakyThrows;
@DataITCase
@AutoConfigureMockMvc
@WithMockUser
class SettingEnvironmentITCase {
@Autowired
private MockMvc mockMvc;
@Autowired
private SettingRepository settingRepository;
private Setting settingWithPostfach = SettingTestFactory.createBuilder()
.name("Postfach")
.settingBody(PostfachSettingBodyTestFactory.create())
.build();
@Test
@SneakyThrows
void shouldHaveHttpEndpoint() {
var result = mockMvc.perform(get("/configserver/example/path"));
result.andExpect(status().isOk());
}
@Nested
class TestFindOne {
@BeforeEach
void fillDb() {
settingRepository.deleteAll();
settingRepository.save(settingWithPostfach);
}
@Test
@SneakyThrows
void shouldReturnValuesForVorgangManager() {
var result = mockMvc.perform(get("/configserver/OzgCloud_VorgangManager-profile.yaml"));
assertThat(result.andReturn().getResponse().getContentAsString()).isEqualTo(YamlTestFactory.createVorgangManagerYaml());
}
@Test
@SneakyThrows
void shouldReturnValuesForAlfa() {
var result = mockMvc.perform(get("/configserver/Alfa-any.yaml"));
assertThat(result.andReturn().getResponse().getContentAsString().replaceAll("\\s+", " "))
.isEqualTo(YamlTestFactory.createAlfaYaml().replaceAll("\\s+", " "));
}
}
}