From 0363afcaec8058b64eae45f3910070fb14f89fbc Mon Sep 17 00:00:00 2001 From: Jj! Date: Wed, 29 Nov 2023 09:08:31 -0600 Subject: [PATCH] [NOTASK] fix tests (correct order for parameters) new test for property rename --- .../Pac4JConfigFactoryTest.java | 161 ++++++++++-------- 1 file changed, 90 insertions(+), 71 deletions(-) diff --git a/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java b/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java index 4200556..de97f0b 100644 --- a/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java +++ b/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java @@ -90,7 +90,7 @@ public void testElConfig() { Assert.assertTrue(config.getClients().getClients().get(0) instanceof CasClient); CasConfiguration configuration = ((CasClient) config.getClients().getClients().get(0)).getConfiguration(); - Assert.assertEquals(configuration.getLoginUrl(), "login"); + Assert.assertEquals("login", configuration.getLoginUrl()); } /** @@ -103,7 +103,7 @@ public void testPac4JConfigFactorCAS() { Map properties = grouperConfig.propertiesOverrideMap(); properties.put("external.authentication.provider","cas"); properties.put("external.authentication.grouperContextUrl","localhost"); - properties.put("external.authentication.callbackUrl","callback"); + properties.put("external.authentication.callbackUrl","http://callback"); properties.put("external.authentication.cas.encoding","UTF-8"); properties.put("external.authentication.cas.loginUrl","login"); properties.put("external.authentication.cas.prefixUrl","localhost"); @@ -125,18 +125,18 @@ public void testPac4JConfigFactorCAS() { CasConfiguration configuration = ((CasClient) config.getClients().getClients().get(0)).getConfiguration(); - Assert.assertEquals(configuration.getEncoding(), properties.get("external.authentication.cas.encoding")); - Assert.assertEquals(configuration.getLoginUrl(), properties.get("external.authentication.cas.loginUrl")); - Assert.assertEquals(configuration.getPrefixUrl(), properties.get("external.authentication.cas.prefixUrl")); - Assert.assertEquals(configuration.getRestUrl(), properties.get("external.authentication.cas.restUrl")); - Assert.assertEquals(configuration.getTimeTolerance(), Integer.parseInt(properties.get("external.authentication.cas.timeTolerance"))); - Assert.assertEquals(configuration.isRenew(), Boolean.parseBoolean(properties.get("external.authentication.cas.renew"))); - Assert.assertEquals(configuration.isGateway(), Boolean.parseBoolean(properties.get("external.authentication.cas.gateway"))); - Assert.assertEquals(configuration.isAcceptAnyProxy(), Boolean.parseBoolean(properties.get("external.authentication.cas.acceptAnyProxy"))); - Assert.assertEquals(configuration.getPostLogoutUrlParameter(), properties.get("external.authentication.cas.postLogoutUrlParameter")); - Assert.assertEquals(configuration.getMethod(), properties.get("external.authentication.cas.method")); - Assert.assertEquals(configuration.getPrivateKeyPath(), properties.get("external.authentication.cas.privateKeyPath")); - Assert.assertEquals(configuration.getPrivateKeyAlgorithm(), properties.get("external.authentication.cas.privateKeyAlgorithm")); + Assert.assertEquals(properties.get("external.authentication.cas.encoding"), configuration.getEncoding()); + Assert.assertEquals(properties.get("external.authentication.cas.loginUrl"), configuration.getLoginUrl()); + Assert.assertEquals(properties.get("external.authentication.cas.prefixUrl"), configuration.getPrefixUrl()); + Assert.assertEquals(properties.get("external.authentication.cas.restUrl"), configuration.getRestUrl()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.cas.timeTolerance")), configuration.getTimeTolerance()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.renew")), configuration.isRenew()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.gateway")), configuration.isGateway()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.acceptAnyProxy")), configuration.isAcceptAnyProxy()); + Assert.assertEquals(properties.get("external.authentication.cas.postLogoutUrlParameter"), configuration.getPostLogoutUrlParameter()); + Assert.assertEquals(properties.get("external.authentication.cas.method"), configuration.getMethod()); + Assert.assertEquals(properties.get("external.authentication.cas.privateKeyPath"), configuration.getPrivateKeyPath()); + Assert.assertEquals(properties.get("external.authentication.cas.privateKeyAlgorithm"), configuration.getPrivateKeyAlgorithm()); Assert.assertEquals(configuration.getCustomParams().size(), Arrays.asList(properties.get("external.authentication.cas.customParams").split(",")).size()); } @@ -150,7 +150,7 @@ public void testPac4JConfigFactorSAML() { Map properties = grouperConfig.propertiesOverrideMap(); properties.put("external.authentication.provider","saml"); properties.put("external.authentication.grouperContextUrl","localhost"); - properties.put("external.authentication.callbackUrl","callback"); + properties.put("external.authentication.callbackUrl","http://callback"); properties.put("external.authentication.saml.keystorePassword","changeme"); properties.put("external.authentication.saml.privateKeyPassword","secret"); properties.put("external.authentication.saml.certificateNameToAppend","cert"); @@ -180,7 +180,7 @@ public void testPac4JConfigFactorSAML() { properties.put("external.authentication.saml.wantsAssertionsSigned","true"); properties.put("external.authentication.saml.wantsResponsesSigned","false"); properties.put("external.authentication.saml.allSignatureValidationDisabled","true"); - properties.put("external.authentication.saml.keyStoreAlias","fred"); + properties.put("external.authentication.saml.keystoreAlias","fred"); properties.put("external.authentication.saml.keyStoreType","text"); properties.put("external.authentication.saml.assertionConsumerServiceIndex","5"); properties.put("external.authentication.saml.attributeConsumingServiceIndex","2"); @@ -198,47 +198,47 @@ public void testPac4JConfigFactorSAML() { Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); Config config = pac4jConfigFactory.build(); - Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); + Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); SAML2Configuration configuration = ((SAML2Client) config.getClients().getClients().get(0)).getConfiguration(); - Assert.assertEquals(configuration.getKeystorePassword(), properties.get("external.authentication.saml.keystorePassword")); - Assert.assertEquals(configuration.getPrivateKeyPassword(), properties.get("external.authentication.saml.privateKeyPassword")); - Assert.assertEquals(configuration.getCertificateNameToAppend(), properties.get("external.authentication.saml.certificateNameToAppend")); - Assert.assertEquals(configuration.getIdentityProviderEntityId(), properties.get("external.authentication.saml.identityProviderEntityId")); - Assert.assertEquals(configuration.getServiceProviderEntityId(), properties.get("external.authentication.saml.serviceProviderEntityId")); - Assert.assertEquals(configuration.getMaximumAuthenticationLifetime(), Integer.parseInt(properties.get("external.authentication.saml.maximumAuthenticationLifetime"))); - Assert.assertEquals(configuration.getAcceptedSkew(), Integer.parseInt(properties.get("external.authentication.saml.acceptedSkew"))); - Assert.assertEquals(configuration.isForceAuth(), Boolean.parseBoolean(properties.get("external.authentication.saml.forceAuth"))); - Assert.assertEquals(configuration.isPassive(), Boolean.parseBoolean(properties.get("external.authentication.saml.passive"))); - Assert.assertEquals(configuration.getComparisonType(), properties.get("external.authentication.saml.comparisonType")); - Assert.assertEquals(configuration.getAuthnRequestBindingType(), properties.get("external.authentication.saml.authnRequestBindingType")); - Assert.assertEquals(configuration.getResponseBindingType(), properties.get("external.authentication.saml.responseBindingType")); - Assert.assertEquals(configuration.getSpLogoutRequestBindingType(), properties.get("external.authentication.saml.spLogoutRequestBindingType")); - Assert.assertEquals(configuration.getSpLogoutResponseBindingType(), properties.get("external.authentication.saml.spLogoutResponseBindingType")); - Assert.assertEquals(configuration.getNameIdPolicyFormat(), properties.get("external.authentication.saml.nameIdPolicyFormat")); - Assert.assertEquals(configuration.isUseNameQualifier(), Boolean.parseBoolean(properties.get("external.authentication.saml.useNameQualifier"))); - Assert.assertEquals(configuration.isSignMetadata(), Boolean.parseBoolean(properties.get("external.authentication.saml.signMetadata"))); - Assert.assertEquals(configuration.isForceServiceProviderMetadataGeneration(), Boolean.parseBoolean(properties.get("external.authentication.saml.forceServiceProviderMetadataGeneration"))); - Assert.assertEquals(configuration.isForceKeystoreGeneration(), Boolean.parseBoolean(properties.get("external.authentication.saml.forceKeystoreGeneration"))); - Assert.assertEquals(configuration.isAuthnRequestSigned(), Boolean.parseBoolean(properties.get("external.authentication.saml.authnRequestSigned"))); - Assert.assertEquals(configuration.isSpLogoutRequestSigned(), Boolean.parseBoolean(properties.get("external.authentication.saml.spLogoutRequestSigned"))); - Assert.assertEquals(configuration.getSignatureCanonicalizationAlgorithm(), properties.get("external.authentication.saml.signatureCanonicalizationAlgorithm")); - Assert.assertEquals(configuration.isWantsAssertionsSigned(), Boolean.parseBoolean(properties.get("external.authentication.saml.wantsAssertionsSigned"))); - Assert.assertEquals(configuration.isWantsResponsesSigned(), Boolean.parseBoolean(properties.get("external.authentication.saml.wantsResponsesSigned"))); - Assert.assertEquals(configuration.isAllSignatureValidationDisabled(), Boolean.parseBoolean(properties.get("external.authentication.saml.allSignatureValidationDisabled"))); - Assert.assertEquals(configuration.getKeyStoreAlias(), properties.get("external.authentication.saml.keyStoreAlias")); - Assert.assertEquals(configuration.getKeyStoreType(), properties.get("external.authentication.saml.keyStoreType")); - Assert.assertEquals(configuration.getAssertionConsumerServiceIndex(), Integer.parseInt(properties.get("external.authentication.saml.assertionConsumerServiceIndex"))); - Assert.assertEquals(configuration.getAttributeConsumingServiceIndex(), Integer.parseInt(properties.get("external.authentication.saml.attributeConsumingServiceIndex"))); - Assert.assertEquals(configuration.getProviderName(), properties.get("external.authentication.saml.providerName")); - Assert.assertEquals(configuration.getAttributeAsId(), properties.get("external.authentication.saml.attributeAsId")); - Assert.assertEquals(configuration.getPostLogoutURL(), properties.get("external.authentication.saml.postLogoutURL")); - Assert.assertEquals(configuration.getCertificateExpirationPeriod(), Period.parse(properties.get("external.authentication.saml.certificateExpirationPeriod"))); - Assert.assertEquals(configuration.getCertificateSignatureAlg(), properties.get("external.authentication.saml.certificateSignatureAlg")); - Assert.assertEquals(configuration.getPrivateKeySize(), Integer.parseInt(properties.get("external.authentication.saml.privateKeySize"))); - Assert.assertEquals(configuration.getIssuerFormat(), properties.get("external.authentication.saml.issuerFormat")); - Assert.assertEquals(configuration.isNameIdPolicyAllowCreate(), Boolean.parseBoolean(properties.get("external.authentication.saml.nameIdPolicyAllowCreate"))); + Assert.assertEquals(properties.get("external.authentication.saml.keystorePassword"), configuration.getKeystorePassword()); + Assert.assertEquals(properties.get("external.authentication.saml.privateKeyPassword"), configuration.getPrivateKeyPassword()); + Assert.assertEquals(properties.get("external.authentication.saml.certificateNameToAppend"), configuration.getCertificateNameToAppend()); + Assert.assertEquals(properties.get("external.authentication.saml.identityProviderEntityId"), configuration.getIdentityProviderEntityId()); + Assert.assertEquals(properties.get("external.authentication.saml.serviceProviderEntityId"), configuration.getServiceProviderEntityId()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.maximumAuthenticationLifetime")), configuration.getMaximumAuthenticationLifetime()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.acceptedSkew")), configuration.getAcceptedSkew()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceAuth")), configuration.isForceAuth()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.passive")), configuration.isPassive()); + Assert.assertEquals(properties.get("external.authentication.saml.comparisonType"), configuration.getComparisonType()); + Assert.assertEquals(properties.get("external.authentication.saml.authnRequestBindingType"), configuration.getAuthnRequestBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.responseBindingType"), configuration.getResponseBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.spLogoutRequestBindingType"), configuration.getSpLogoutRequestBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.spLogoutResponseBindingType"), configuration.getSpLogoutResponseBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.nameIdPolicyFormat"), configuration.getNameIdPolicyFormat()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.useNameQualifier")), configuration.isUseNameQualifier()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.signMetadata")), configuration.isSignMetadata()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceServiceProviderMetadataGeneration")), configuration.isForceServiceProviderMetadataGeneration()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceKeystoreGeneration")), configuration.isForceKeystoreGeneration()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.authnRequestSigned")), configuration.isAuthnRequestSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.spLogoutRequestSigned")), configuration.isSpLogoutRequestSigned()); + Assert.assertEquals(properties.get("external.authentication.saml.signatureCanonicalizationAlgorithm"), configuration.getSignatureCanonicalizationAlgorithm()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.wantsAssertionsSigned")), configuration.isWantsAssertionsSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.wantsResponsesSigned")), configuration.isWantsResponsesSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.allSignatureValidationDisabled")), configuration.isAllSignatureValidationDisabled()); + Assert.assertEquals(properties.get("external.authentication.saml.keyStoreAlias"), configuration.getKeyStoreAlias()); + Assert.assertEquals(properties.get("external.authentication.saml.keyStoreType"), configuration.getKeyStoreType()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.assertionConsumerServiceIndex")), configuration.getAssertionConsumerServiceIndex()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.attributeConsumingServiceIndex")), configuration.getAttributeConsumingServiceIndex()); + Assert.assertEquals(properties.get("external.authentication.saml.providerName"), configuration.getProviderName()); + Assert.assertEquals(properties.get("external.authentication.saml.attributeAsId"), configuration.getAttributeAsId()); + Assert.assertEquals(properties.get("external.authentication.saml.postLogoutURL"), configuration.getPostLogoutURL()); + Assert.assertEquals(Period.parse(properties.get("external.authentication.saml.certificateExpirationPeriod")), configuration.getCertificateExpirationPeriod()); + Assert.assertEquals(properties.get("external.authentication.saml.certificateSignatureAlg"), configuration.getCertificateSignatureAlg()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.privateKeySize")), configuration.getPrivateKeySize()); + Assert.assertEquals(properties.get("external.authentication.saml.issuerFormat"), configuration.getIssuerFormat()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.nameIdPolicyAllowCreate")), configuration.isNameIdPolicyAllowCreate()); Assert.assertEquals(configuration.getAuthnContextClassRefs().size(), Arrays.asList(properties.get("external.authentication.saml.authnContextClassRefs").split(",")).size()); Assert.assertEquals(configuration.getBlackListedSignatureSigningAlgorithms().size(), Arrays.asList(properties.get("external.authentication.saml.blackListedSignatureSigningAlgorithms").split(",")).size()); Assert.assertEquals(configuration.getSignatureReferenceDigestMethods().size(), Arrays.asList(properties.get("external.authentication.saml.signatureReferenceDigestMethods").split(",")).size()); @@ -256,7 +256,7 @@ public void testPac4JConfigFactorOidc() { Map properties = grouperConfig.propertiesOverrideMap(); properties.put("external.authentication.provider","oidc"); properties.put("external.authentication.grouperContextUrl","localhost"); - properties.put("external.authentication.callbackUrl","callback"); + properties.put("external.authentication.callbackUrl","http://callback"); properties.put("external.authentication.oidc.clientId","myClientId"); properties.put("external.authentication.oidc.secret","secret"); properties.put("external.authentication.oidc.discoveryURI","https://localhost/oidc"); @@ -281,21 +281,21 @@ public void testPac4JConfigFactorOidc() { OidcConfiguration configuration = ((OidcClient) config.getClients().getClients().get(0)).getConfiguration(); - Assert.assertEquals(configuration.getClientId(), properties.get("external.authentication.oidc.clientId")); - Assert.assertEquals(configuration.getSecret(), properties.get("external.authentication.oidc.secret")); - Assert.assertEquals(configuration.getDiscoveryURI(), properties.get("external.authentication.oidc.discoveryURI")); - Assert.assertEquals(configuration.getScope(), properties.get("external.authentication.oidc.scope")); - Assert.assertEquals(configuration.isUseNonce(), Boolean.parseBoolean(properties.get("external.authentication.oidc.useNonce"))); - Assert.assertEquals(configuration.isDisablePkce(), Boolean.parseBoolean(properties.get("external.authentication.oidc.disablePkce"))); - Assert.assertEquals(configuration.getMaxAge().intValue(), Integer.parseInt(properties.get("external.authentication.oidc.maxAge"))); - Assert.assertEquals(configuration.getMaxClockSkew(), Integer.parseInt(properties.get("external.authentication.oidc.maxClockSkew"))); - Assert.assertEquals(configuration.getResponseMode(), properties.get("external.authentication.oidc.responseMode")); - Assert.assertEquals(configuration.getLogoutUrl(), properties.get("external.authentication.oidc.logoutUrl")); - Assert.assertEquals(configuration.getConnectTimeout(), Integer.parseInt(properties.get("external.authentication.oidc.connectTimeout"))); - Assert.assertEquals(configuration.getReadTimeout(), Integer.parseInt(properties.get("external.authentication.oidc.readTimeout"))); - Assert.assertEquals(configuration.isWithState(), Boolean.parseBoolean(properties.get("external.authentication.oidc.withState"))); - Assert.assertEquals(configuration.isExpireSessionWithToken(), Boolean.parseBoolean(properties.get("external.authentication.oidc.expireSessionWithToken"))); - Assert.assertEquals(configuration.getTokenExpirationAdvance(), Integer.parseInt(properties.get("external.authentication.oidc.tokenExpirationAdvance"))); + Assert.assertEquals(properties.get("external.authentication.oidc.clientId"), configuration.getClientId()); + Assert.assertEquals(properties.get("external.authentication.oidc.secret"), configuration.getSecret()); + Assert.assertEquals(properties.get("external.authentication.oidc.discoveryURI"), configuration.getDiscoveryURI()); + Assert.assertEquals(properties.get("external.authentication.oidc.scope"), configuration.getScope()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.useNonce")), configuration.isUseNonce()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.disablePkce")), configuration.isDisablePkce()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.maxAge")), configuration.getMaxAge().intValue()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.maxClockSkew")), configuration.getMaxClockSkew()); + Assert.assertEquals(properties.get("external.authentication.oidc.responseMode"), configuration.getResponseMode()); + Assert.assertEquals(properties.get("external.authentication.oidc.logoutUrl"), configuration.getLogoutUrl()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.connectTimeout")), configuration.getConnectTimeout()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.readTimeout")), configuration.getReadTimeout()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.withState")), configuration.isWithState()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.expireSessionWithToken")), configuration.isExpireSessionWithToken()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.tokenExpirationAdvance")), configuration.getTokenExpirationAdvance()); Assert.assertEquals(configuration.getCustomParams().size(), Arrays.asList(properties.get("external.authentication.oidc.customParams").split(",")).size()); } @@ -323,7 +323,7 @@ public void testPac4jConfigMethodFind() throws IOException { Map overrides = grouperConfig.propertiesOverrideMap(); overrides.put("external.authentication.provider","saml"); overrides.put("external.authentication.grouperContextUrl","localhost"); - overrides.put("external.authentication.callbackUrl","callback"); + overrides.put("external.authentication.callbackUrl","http://callback"); overrides.put("external.authentication.saml.identityProviderMetadataPath", "file:/opt/grouper/idp-metadata.xml"); Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); @@ -350,4 +350,23 @@ public void testPac4jConfigEnum() throws IOException { Assert.assertTrue(CasProtocol.CAS20.equals(configuration.getProtocol())); } + + @Test + public void testConfigTestRename() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + + grouperConfig.propertiesOverrideMap().clear(); + Map overrides = grouperConfig.propertiesOverrideMap(); + overrides.put("external.authentication.provider","saml"); + overrides.put("external.authentication.saml.keyStoreAlias","fred"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); + + SAML2Configuration configuration = ((SAML2Client) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertEquals(overrides.get("external.authentication.saml.keyStoreAlias"), configuration.getKeyStoreAlias()); + } } \ No newline at end of file