Skip to content
Snippets Groups Projects
Commit bcd35e00 authored by Evgeny Bardin's avatar Evgeny Bardin
Browse files

OZG-7092 [test] fix configuration

parent a6736c5c
Branches
No related tags found
1 merge request!1OZG-7092 Anpassung TokenChecker
...@@ -24,36 +24,49 @@ ...@@ -24,36 +24,49 @@
package de.ozgcloud.token; package de.ozgcloud.token;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import; import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
import de.ozgcloud.common.test.ITCase; import de.ozgcloud.common.test.ITCase;
import de.ozgcloud.common.test.TestUtils; import de.ozgcloud.common.test.TestUtils;
import de.ozgcloud.token.saml.SamlTestConfiguration; import de.ozgcloud.token.saml.SamlTestConfiguration;
import lombok.SneakyThrows;
import net.devh.boot.grpc.client.inject.GrpcClient; import net.devh.boot.grpc.client.inject.GrpcClient;
public class TokenCheckGrpcServiceITCase {
@Nested
@ITCase @ITCase
@SpringBootTest(properties = { @SpringBootTest(properties = {
"grpc.server.inProcessName=test", "grpc.server.inProcessName=test",
"grpc.client.token-checker.address=in-process:test", "grpc.client.token-checker.address=in-process:test",
}) })
@Import(SamlTestConfiguration.class)
@DirtiesContext @DirtiesContext
class TestCheckTokenSuccessfully { public class TokenCheckGrpcServiceITCase {
@GrpcClient("token-checker") @GrpcClient("token-checker")
private TokenCheckServiceGrpc.TokenCheckServiceBlockingStub tokenCheckerStub; private TokenCheckServiceGrpc.TokenCheckServiceBlockingStub tokenCheckerStub;
@MockBean
private SignatureTrustEngine signatureTrustEngine;
@Nested
class TestCheckTokenSuccessfully {
@SneakyThrows
@BeforeEach
void init() {
when(signatureTrustEngine.validate(any(), any())).thenReturn(true);
}
@Test @Test
void shouldAcceptToken() { void shouldAcceptToken() {
var token = TestUtils.loadTextFile("SamlResponseBayernId.xml"); var token = TestUtils.loadTextFile("SamlResponseBayernId.xml");
...@@ -81,19 +94,10 @@ public class TokenCheckGrpcServiceITCase { ...@@ -81,19 +94,10 @@ public class TokenCheckGrpcServiceITCase {
} }
@Nested @Nested
@ITCase
@SpringBootTest(properties = {
"grpc.server.inProcessName=test",
"grpc.client.token-checker.address=in-process:test",
})
@DirtiesContext
class TestCheckTokenFailure { class TestCheckTokenFailure {
@GrpcClient("token-checker")
private TokenCheckServiceGrpc.TokenCheckServiceBlockingStub tokenCheckerStub;
@Test @Test
void shouldAcceptToken() { void shouldDeclineToken() {
var token = TestUtils.loadTextFile("SamlResponseBayernId.xml"); var token = TestUtils.loadTextFile("SamlResponseBayernId.xml");
var result = tokenCheckerStub.checkToken(buildCheckTokenRequest(token)); var result = tokenCheckerStub.checkToken(buildCheckTokenRequest(token));
......
...@@ -37,9 +37,12 @@ import org.opensaml.saml.saml2.core.EncryptedAssertion; ...@@ -37,9 +37,12 @@ import org.opensaml.saml.saml2.core.EncryptedAssertion;
import org.opensaml.saml.saml2.encryption.Decrypter; import org.opensaml.saml.saml2.encryption.Decrypter;
import org.opensaml.xmlsec.signature.support.SignatureTrustEngine; import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@Configuration
public class SamlTestConfiguration { public class SamlTestConfiguration {
public static final String POSTFACH_ID = UUID.randomUUID().toString(); public static final String POSTFACH_ID = UUID.randomUUID().toString();
...@@ -56,13 +59,14 @@ public class SamlTestConfiguration { ...@@ -56,13 +59,14 @@ public class SamlTestConfiguration {
@SneakyThrows @SneakyThrows
@Bean @Bean
SamlTrustEngineFactory samlTrustEngineFactory() { @Primary
SignatureTrustEngine signatureTrustEngine = when(mock(SignatureTrustEngine.class).validate(any(), any())).thenReturn(true).getMock(); SamlTrustEngineFactory samlTrustEngineFactory(SignatureTrustEngine signatureTrustEngine) {
return when(mock(SamlTrustEngineFactory.class).buildSamlTrustEngine(any())).thenReturn(signatureTrustEngine).getMock(); return when(mock(SamlTrustEngineFactory.class).buildSamlTrustEngine(any())).thenReturn(signatureTrustEngine).getMock();
} }
@SneakyThrows @SneakyThrows
@Bean @Bean
@Primary
SamlDecrypterFactory samlDecrypterFactory() { SamlDecrypterFactory samlDecrypterFactory() {
var attributes = SAML_ATTRIBUTES_MAP.entrySet().stream().map(e -> initAttributeMock(e.getKey(), e.getValue())).toList(); var attributes = SAML_ATTRIBUTES_MAP.entrySet().stream().map(e -> initAttributeMock(e.getKey(), e.getValue())).toList();
AttributeStatement attributeStatement = when(mock(AttributeStatement.class).getAttributes()).thenReturn(attributes).getMock(); AttributeStatement attributeStatement = when(mock(AttributeStatement.class).getAttributes()).thenReturn(attributes).getMock();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment