diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-22 14:15:14 +0100 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-22 14:15:14 +0100 | 
| commit | 9fd7ba09ba2a5a827ef8530967aa0bfefc412f42 (patch) | |
| tree | ab1c6f7ab54851a436c2e2bd12d331f6651fcdb9 /connector_lib/src/test/java | |
| parent | 83d7101ae4169a840e13e2b178fd7a07108fff2d (diff) | |
| download | National_eIDAS_Gateway-9fd7ba09ba2a5a827ef8530967aa0bfefc412f42.tar.gz National_eIDAS_Gateway-9fd7ba09ba2a5a827ef8530967aa0bfefc412f42.tar.bz2 National_eIDAS_Gateway-9fd7ba09ba2a5a827ef8530967aa0bfefc412f42.zip | |
add jUnit tests for configuration-operations
Diffstat (limited to 'connector_lib/src/test/java')
| -rw-r--r-- | connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigProviderTest.java | 156 | ||||
| -rw-r--r-- | connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/ServiceProviderConfigurationTest.java | 54 | ||||
| -rw-r--r-- | connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummyConfigMap.java (renamed from connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummyConfigMap.java) | 2 | ||||
| -rw-r--r-- | connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummySpConfiguration.java (renamed from connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummySpConfiguration.java) | 2 | 
4 files changed, 212 insertions, 2 deletions
| diff --git a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigProviderTest.java b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigProviderTest.java new file mode 100644 index 00000000..d1623b00 --- /dev/null +++ b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigProviderTest.java @@ -0,0 +1,156 @@ +package at.asitplus.eidas.specific.connector.test.config; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Map; + +import org.apache.commons.lang3.RandomStringUtils; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.ClassMode; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import at.asitplus.eidas.specific.connector.MsEidasNodeConstants; +import at.asitplus.eidas.specific.connector.config.ServiceProviderConfiguration; +import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP; +import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration; +import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException; +import at.gv.egiz.eaaf.core.exceptions.EaafException; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { +    "/SpringTest-context_basic_realConfig.xml"}) +@DirtiesContext(classMode = ClassMode.BEFORE_CLASS) +public class BasicConfigProviderTest { + +  @Autowired private IConfigurationWithSP basicConfig; +   +  /** +   * jUnit class initializer. +   *  +   */ +  @BeforeClass +  public static void classInitializer() { +    final String current = new java.io.File(".").toURI().toString(); +    System.setProperty("eidas.ms.configuration", current + "src/test/resources/config/junit_config_1.properties"); +     +  } +   +  @Test +  public void configPropInfos() { +    Assert.assertEquals("size", 2, MsEidasNodeConstants.COUNTRY_SELECTION_PARAM_WHITELIST.size()); +     +  } +   +  @Test +  public void loadSpNoExist() throws EaafConfigurationException { +    ISpConfiguration spConfig = basicConfig.getServiceProviderConfiguration( +        RandomStringUtils.randomAlphabetic(5)); +    Assert.assertNull("spConfig", spConfig); +     +  } +   +  @Test +  public void loadSpConfigBasicMode() throws EaafConfigurationException { +    ISpConfiguration spConfig = basicConfig.getServiceProviderConfiguration("jUnitTest1"); +     +    Assert.assertNotNull("spConfig", spConfig); +    Assert.assertEquals("uniqueId", "jUnitTest1", spConfig.getUniqueIdentifier()); +    Assert.assertEquals("friendlyName", "NO FRIENDLYNAME SET", spConfig.getFriendlyName()); +    Assert.assertEquals("pvp2.truststore", "", spConfig.getConfigurationValue("pvp2.metadata.truststore")); +    String test = RandomStringUtils.randomAlphabetic(5); +    Assert.assertEquals("pvp2.password", "1234pass",  +        spConfig.getConfigurationValue("pvp2.metadata.truststore.password", test)); +    Assert.assertEquals("eidMode", true, spConfig.isConfigurationValue("newEidMode")); +    Assert.assertEquals("notexistflag", false, spConfig.isConfigurationValue("notexist", false)); +    Assert.assertNotNull("fullConfig", spConfig.getFullConfiguration()); +    Assert.assertEquals("fullConfig", 4, spConfig.getFullConfiguration().size()); +     +  } +   +  @Test +  public void loadSpConfigAdvancedMode() throws EaafConfigurationException { +    ISpConfiguration spConfig = basicConfig.getServiceProviderConfiguration( +        "jUnitTest2", ServiceProviderConfiguration.class); +     +    Assert.assertNotNull("spConfig", spConfig); +    Assert.assertEquals("uniqueId", "jUnitTest2", spConfig.getUniqueIdentifier()); +    Assert.assertEquals("friendlyName", "jUnit tester 2", spConfig.getFriendlyName()); +    Assert.assertEquals("pvp2.truststore", "", spConfig.getConfigurationValue("pvp2.metadata.truststore")); +    String test = RandomStringUtils.randomAlphabetic(5); +    Assert.assertEquals("pvp2.password", test,  +        spConfig.getConfigurationValue("pvp2.metadata.truststore.notexist", test)); +    Assert.assertEquals("eidMode", false, spConfig.isConfigurationValue("newEidMode")); +    Assert.assertEquals("notexistflag", false, spConfig.isConfigurationValue("notexist", false)); +    Assert.assertNotNull("fullConfig", spConfig.getFullConfiguration()); +    Assert.assertEquals("fullConfig", 5, spConfig.getFullConfiguration().size()); +    Assert.assertFalse("baseIdInternal", spConfig.hasBaseIdInternalProcessingRestriction()); +    Assert.assertTrue("baseIdTransfer", spConfig.hasBaseIdTransferRestriction()); +     +  } +   +  @Test +  public void loadSpConfigAdvancedModeWrongDecorator() throws EaafConfigurationException { +    ISpConfiguration spConfig1 = basicConfig.getServiceProviderConfiguration( +        "jUnitTest2", null);     +    Assert.assertNull("spConfig", spConfig1); + +    String spConfig2 = basicConfig.getServiceProviderConfiguration( +        "jUnitTest2", String.class);     +    Assert.assertNull("spConfig", spConfig2); +     +  } +   +  @Test +  public void loadConfigValuesString() { +    Assert.assertEquals("without default", "ownSpecificConnector",  +        basicConfig.getBasicConfiguration("auth.eIDAS.node_v2.entityId")); +     +    Assert.assertEquals("with default", "",  +        basicConfig.getBasicConfiguration("auth.eIDAS.szrclient.endpoint.prod",  +            RandomStringUtils.randomAlphabetic(5))); +     +    String rand1 = RandomStringUtils.randomAlphanumeric(5); +    Assert.assertEquals("unknown with default", rand1,  +        basicConfig.getBasicConfiguration("notexist", rand1)); +     +  } +   +  @Test +  public void loadConfigValuesBoolean() { +    Assert.assertEquals("without default", true,  +        basicConfig.getBasicConfigurationBoolean("auth.eIDAS.szrclient.useTestService")); +     +    Assert.assertEquals("with default", false,  +        basicConfig.getBasicConfigurationBoolean("auth.notexist",  +            false)); +     +    Assert.assertEquals("unknown with default", false,  +        basicConfig.getBasicConfigurationBoolean("auth.eIDAS.szrclient.params.vkz", true)); +     +  } +   +  @Test +  public void loadConfigMap() { +    Map<String, String> entries = basicConfig.getBasicConfigurationWithPrefix("auth.eIDAS.szrclient"); +    Assert.assertEquals("wrong size", 16, entries.size()); +    Assert.assertTrue("missing element", entries.containsKey("endpoint.test")); +    Assert.assertEquals("wrong entry", "http://localhost:1234/demoszr", entries.get("endpoint.test")); +     +  } +   +  @Test +  public void validateUrl() throws MalformedURLException, EaafException { +    Assert.assertEquals("wrong URL", "http://localhost/test",  +        basicConfig.validateIdpUrl(new URL("http://localhost/test/" + RandomStringUtils.randomAlphabetic(5)))); +    +    Assert.assertNull("wrong URL", +        basicConfig.validateIdpUrl(new URL("http://localhost/wrong/" + RandomStringUtils.randomAlphabetic(5)))); +     +  } +} diff --git a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/ServiceProviderConfigurationTest.java b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/ServiceProviderConfigurationTest.java new file mode 100644 index 00000000..d95e2882 --- /dev/null +++ b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/ServiceProviderConfigurationTest.java @@ -0,0 +1,54 @@ +package at.asitplus.eidas.specific.connector.test.config; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang3.RandomStringUtils; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; + +import at.asitplus.eidas.specific.connector.config.ServiceProviderConfiguration; +import at.asitplus.eidas.specific.connector.test.config.dummy.MsConnectorDummyConfigMap; +import at.gv.egiz.eaaf.core.api.data.EaafConstants; +import at.gv.egiz.eaaf.core.api.idp.IConfiguration; +import at.gv.egiz.eaaf.core.exceptions.EaafException; + +@RunWith(BlockJUnit4ClassRunner.class) +public class ServiceProviderConfigurationTest { + +   +   +  @Test +  public void spConfigLoad() throws EaafException { +    IConfiguration authConfig = new MsConnectorDummyConfigMap(); +     +    Map<String, String> map = new HashMap<>(); +    map.put("uniqueID", RandomStringUtils.randomAlphabetic(10)); +    map.put("policy.allowed.requested.targets", "urn:publicid:gv.at:cdid\\+.*"); + +    ServiceProviderConfiguration spConfig = new ServiceProviderConfiguration(map, authConfig); +     +    spConfig.setRequiredLoA(Arrays.asList(EaafConstants.EIDAS_LOA_LOW)); +    Assert.assertEquals("LoA", 1, spConfig.getRequiredLoA().size()); +    Assert.assertEquals("LoA", "http://eidas.europa.eu/LoA/low", spConfig.getRequiredLoA().get(0)); +     +    spConfig.setLoAMachtingMode("exact"); +    Assert.assertEquals("wrong machtingMode", "exact", spConfig.getLoAMatchingMode()); +     +    String bpkTarget = EaafConstants.URN_PREFIX_CDID + RandomStringUtils.randomAlphabetic(2); +    spConfig.setBpkTargetIdentifier(bpkTarget); +    Assert.assertEquals("wrong bPK", bpkTarget, spConfig.getAreaSpecificTargetIdentifier()); +     +     +    try { +      spConfig.setBpkTargetIdentifier(EaafConstants.URN_PREFIX_WBPK + RandomStringUtils.randomAlphabetic(2)); +       +    } catch (EaafException e) { +      Assert.assertEquals("ErrorId", "auth.37", e.getErrorId()); +    } +     +  } +} diff --git a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummyConfigMap.java b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummyConfigMap.java index ab390731..42e31377 100644 --- a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummyConfigMap.java +++ b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummyConfigMap.java @@ -1,4 +1,4 @@ -package at.asitplus.eidas.specific.connector.test.config; +package at.asitplus.eidas.specific.connector.test.config.dummy;  import java.io.IOException;  import java.io.InputStream; diff --git a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummySpConfiguration.java b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummySpConfiguration.java index e6e35ab1..b379080d 100644 --- a/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/MsConnectorDummySpConfiguration.java +++ b/connector_lib/src/test/java/at/asitplus/eidas/specific/connector/test/config/dummy/MsConnectorDummySpConfiguration.java @@ -1,4 +1,4 @@ -package at.asitplus.eidas.specific.connector.test.config; +package at.asitplus.eidas.specific.connector.test.config.dummy;  import java.util.List;  import java.util.Map; | 
