mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 11:49:25 +00:00
Add env test
This commit is contained in:
@@ -19,7 +19,10 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
@SpringBootTest
|
||||
@SpringBootTest(properties = {
|
||||
"spring.security.oauth2.client.registration.twitch.client-id=test-client-id",
|
||||
"spring.security.oauth2.client.registration.twitch.client-secret=test-client-secret"
|
||||
})
|
||||
@AutoConfigureMockMvc
|
||||
class ChannelApiIntegrationTest {
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.imgfloat.app;
|
||||
|
||||
import com.imgfloat.app.config.TwitchCredentialsValidator;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatCode;
|
||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
class TwitchEnvironmentValidationTest {
|
||||
|
||||
@Test
|
||||
void failsToStartWhenTwitchCredentialsMissing() {
|
||||
assertThatThrownBy(() -> new SpringApplicationBuilder(ImgfloatApplication.class)
|
||||
.properties("server.port=0")
|
||||
.run())
|
||||
.hasRootCauseInstanceOf(IllegalArgumentException.class)
|
||||
.hasRootCauseMessage("Could not resolve placeholder 'TWITCH_CLIENT_ID' in value \"${TWITCH_CLIENT_ID}\"");
|
||||
}
|
||||
|
||||
@Test
|
||||
void loadsCredentialsFromDotEnvFile() {
|
||||
ConfigurableApplicationContext context = null;
|
||||
try {
|
||||
context = new SpringApplicationBuilder(ImgfloatApplication.class)
|
||||
.properties(
|
||||
"server.port=0",
|
||||
"spring.config.import=optional:file:src/test/resources/valid.env[.properties]")
|
||||
.run();
|
||||
ConfigurableApplicationContext finalContext = context;
|
||||
assertThatCode(() -> finalContext.getBean(TwitchCredentialsValidator.class))
|
||||
.doesNotThrowAnyException();
|
||||
} finally {
|
||||
if (context != null) {
|
||||
context.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
src/test/resources/valid.env
Normal file
2
src/test/resources/valid.env
Normal file
@@ -0,0 +1,2 @@
|
||||
TWITCH_CLIENT_ID=test-client-id
|
||||
TWITCH_CLIENT_SECRET=test-client-secret
|
||||
Reference in New Issue
Block a user