Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 935906cf authored by Pawel GUTOWSKI's avatar Pawel GUTOWSKI
Browse files

EDELIVERY-1893 Minor refactoring

parent 456023ef
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ public class DBServiceGroup implements BaseEntity {
}
@EmbeddedId
@Override
public DBServiceGroupId getId() {
return serviceGroupId;
}
......
......@@ -47,14 +47,14 @@ import static org.junit.Assert.assertTrue;
*/
@RunWith(SpringRunner.class)
@ContextConfiguration
public class SmlClientFactoryMultipleDomainsTest {
public class SmlClientFactoryAuthenticationByClientCertFromKeystoreTest {
@Configuration
@ComponentScan("eu.europa.ec.edelivery.smp.sml")
static class Config {
@Bean
public PropertySourcesPlaceholderConfigurer setLocalProperties() {
String clientCertificatesKeystorePath = Thread.currentThread().getContextClassLoader().getResource("service_integration_signatures_multiple_domains.jks").getFile();
String clientCertificatesKeystorePath = Thread.currentThread().getContextClassLoader().getResource("sml_integration_client_certificates.jks").getFile();
return buildLocalProperties(new String[][]{
{"bdmsl.integration.url", "https://sml.url.pl"},
{"bdmsl.integration.keystore.path", clientCertificatesKeystorePath},
......@@ -93,7 +93,7 @@ public class SmlClientFactoryMultipleDomainsTest {
assertEquals("CN=SMP Mock Services, OU=DIGIT, O=European Commision, C=BE", clientCert.getSubjectDN().getName());
}
private static X509Certificate getClientCertFromKeystore(Client cxfClient){
private static X509Certificate getClientCertFromKeystore(Client cxfClient) {
HTTPConduit httpConduit = (HTTPConduit) cxfClient.getConduit();
TLSClientParameters tlsParams = httpConduit.getTlsClientParameters();
String alias = tlsParams.getCertAlias();
......@@ -104,6 +104,18 @@ public class SmlClientFactoryMultipleDomainsTest {
return ((X509KeyManager) keyManager).getCertificateChain(alias)[0];
}
@Test
public void factoryProducesPreconfiguredCxfClientWithoutAnyHttpHeaderValue() {
//when
IManageParticipantIdentifierWS client = smlClientFactory.create("second_domain_alias", null);
//then
Client cxfClient = ClientProxy.getClient(client);
Map<String, Object> requestContext = cxfClient.getRequestContext();
Map httpHeaders = (Map) requestContext.get(Message.PROTOCOL_HEADERS);
assertTrue(httpHeaders == null || httpHeaders.isEmpty());
}
@Test(expected = IllegalStateException.class)
public void factoryDoesNotAcceptBothAuthentication() {
smlClientFactory.create("any_domain_alias", "any_header_value");
......
......@@ -40,7 +40,9 @@ import static org.junit.Assert.assertNotNull;
*/
@RunWith(SpringRunner.class)
@ContextConfiguration
public class SmlClientFactorySingleDomainTest {
public class SmlClientFactoryAuthenticationByClientCertHttpHeaderTest {
public static final String CLIENT_CERT_HTTP_HEADER = "value_of_ClientCert_HTTP_header";
@Configuration
@ComponentScan("eu.europa.ec.edelivery.smp.sml")
......@@ -59,7 +61,7 @@ public class SmlClientFactorySingleDomainTest {
@Test
public void factoryProducesPreconfiguredCxfClientThatAuthenticatesItselfWithGivenHttpHeader() {
//when
IManageParticipantIdentifierWS client = smlClientFactory.create(null, "value_of_ClientCert_HTTP_header");
IManageParticipantIdentifierWS client = smlClientFactory.create(null, CLIENT_CERT_HTTP_HEADER);
//then
assertNotNull(client);
......@@ -68,8 +70,8 @@ public class SmlClientFactorySingleDomainTest {
Map httpHeaders = (Map) requestContext.get(Message.PROTOCOL_HEADERS);
List clientCerts = (List) httpHeaders.get("Client-Cert");
assertEquals(1, clientCerts.size());
assertEquals("value_of_ClientCert_HTTP_header", clientCerts.get(0));
assertEquals(CLIENT_CERT_HTTP_HEADER, clientCerts.get(0));
assertEquals("https://sml.url.pl", requestContext.get(Message.ENDPOINT_ADDRESS));
}
}
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment