ConfigHolder { public synchronized String getServerURLWithContextPath() { if (serverURL == null) { serverURL = properties.getProperty(KEY_SERVER_URL); } if (serverURL.endsWith("/")) { serverURL = serverURL.substring(0, serverURL.length() - 1); } return serverURL + ContextPaths.EIDAS_CONTEXT_PATH; } ConfigHolder();  ConfigHolder(Properties properties); PrivateKey getSignatureKey(); X509Certificate getSignatureCert(); X509Certificate getDecryptionCert(); X509KeyPair getAppSignatureKeyPair(); synchronized EidasContactPerson getContactPerson(); synchronized String getEntityIDInt(); synchronized String getServerURLWithContextPath(); synchronized String getCountryCode(); synchronized EidasOrganisation getOrganization(); synchronized String getMetadataValidity(); synchronized boolean isDoSignMetadata();  }
@Test void testServerUrl() { Properties properties = new Properties(); String serverUrl = "https: properties.setProperty(ConfigHolder.KEY_SERVER_URL, serverUrl); ConfigHolder configHolder = new ConfigHolder(properties); Assertions.assertEquals(serverUrl + ContextPaths.EIDAS_CONTEXT_PATH, configHolder.getServerURLWithContextPath()); serverUrl = "https: properties.setProperty(ConfigHolder.KEY_SERVER_URL, serverUrl); configHolder = new ConfigHolder(properties); Assertions.assertEquals(serverUrl + ContextPaths.EIDAS_CONTEXT_PATH, configHolder.getServerURLWithContextPath()); properties.setProperty(ConfigHolder.KEY_SERVER_URL, serverUrl + "/"); configHolder = new ConfigHolder(properties); Assertions.assertEquals(serverUrl + ContextPaths.EIDAS_CONTEXT_PATH, configHolder.getServerURLWithContextPath()); }