assertEquals("unauthenticatedIdentity=anonymous", "anonymous", appaceOptions.get("unauthenticatedIdentity"));
}
public void testValidateCompleteConfiguration()
{
ApplicationPolicy completeConfig = config.get("conf-complete");
BaseAuthenticationInfo authInfo = completeConfig.getAuthenticationInfo();
List<?> entries = authInfo.getModuleEntries();
assertEquals("Number of entries = 1", 1, entries.size());
// First Entry
Object entry = entries.get(0);
assertTrue("Entry instanceof AppConfigurationEntry", entry instanceof AppConfigurationEntry);
AppConfigurationEntry ace = (AppConfigurationEntry) entry;
assertEquals("LM Name", "org.jboss.test.TestLoginModule", ace.getLoginModuleName());
assertEquals("Required", AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, ace.getControlFlag());
Map<String, ?> aceOptions = ace.getOptions();
assertEquals("Number of options = 3", 3, aceOptions.size());
assertEquals("name=1.1", "1.1", aceOptions.get("name"));
assertEquals("succeed=true", "true", aceOptions.get("succeed"));
assertEquals("throwEx=false", "false", aceOptions.get("throwEx"));
// Authorization
AuthorizationInfo authzInfo = completeConfig.getAuthorizationInfo();
assertNotNull("AuthorizationInfo is not null", authzInfo);
AuthorizationModuleEntry[] authzEntries = authzInfo.getAuthorizationModuleEntry();
assertEquals("Length of authorization entries = 1", 1, authzEntries.length);
AuthorizationModuleEntry authzEntry = authzEntries[0];
assertEquals("TestPolicyModule", "org.jboss.test.TestPolicyModule", authzEntry.getPolicyModuleName());
assertEquals("Required", ControlFlag.REQUIRED, authzEntry.getControlFlag());
Map<String, ?> authzoptions = authzEntry.getOptions();
assertEquals("Number of options = 2", 2, authzoptions.size());
assertEquals("name=authz", "authz", authzoptions.get("name"));
assertEquals("succeed=true", "true", authzoptions.get("succeed"));
// ACL (instance-based authorization)
ACLInfo aclInfo = completeConfig.getAclInfo();
assertNotNull("Unexpected null ACLInfo found", aclInfo);
ACLProviderEntry[] aclEntries = aclInfo.getACLProviderEntry();
assertNotNull("Unexpected null set of acl entries", aclEntries);
assertEquals("Invalid number of acl entries", 2, aclEntries.length);
// first entry should be org.jboss.security.authz.ACLModule1.
Assert.assertEquals("org.jboss.security.authz.ACLModule1", aclEntries[0].getAclProviderName());
Assert.assertEquals("REQUIRED", aclEntries[0].getControlFlag().toString());
Map<String, ?> options = aclEntries[0].getOptions();
Assert.assertNotNull("Unexpected null options map", options);
Assert.assertTrue("Option aclOption1 was not found", options.containsKey("aclOption1"));
Assert.assertEquals("value1", options.get("aclOption1"));
Assert.assertTrue("Option aclOption2 was not found", options.containsKey("aclOption2"));
Assert.assertEquals("value2", options.get("aclOption2"));
// second entry should be the org.jboss.security.authz.ACLModule2.
Assert.assertEquals("org.jboss.security.authz.ACLModule2", aclEntries[1].getAclProviderName());
Assert.assertEquals("REQUIRED", aclEntries[1].getControlFlag().toString());
options = aclEntries[1].getOptions();
Assert.assertNotNull("Unexpected null options map", options);
Assert.assertTrue("Option aclOption3 was not found", options.containsKey("aclOption3"));
Assert.assertEquals("value3", options.get("aclOption3"));
Assert.assertTrue("Option aclOption4 was not found", options.containsKey("aclOption4"));
Assert.assertEquals("value4", options.get("aclOption4"));
// Mapping
MappingInfo mappingInfo = completeConfig.getMappingInfo(MappingType.PRINCIPAL.toString());
assertNotNull("MappingInfo is not null", mappingInfo);
MappingModuleEntry[] mappingEntries = mappingInfo.getMappingModuleEntry();
assertEquals("Invalid number of entries", 1, mappingEntries.length);
MappingModuleEntry mappingEntry = mappingEntries[0];
assertEquals("org.jboss.test.mapping.MappingModule1", mappingEntry.getMappingModuleName());
Map<String, ?> mappingOptions = mappingEntry.getOptions();
assertEquals("Invalid number of options", 1, mappingOptions.size());
Assert.assertTrue("Option option1 was not found", mappingOptions.containsKey("option1"));
assertEquals("value1", mappingOptions.get("option1"));
// Role Mapping
mappingInfo = completeConfig.getMappingInfo(MappingType.ROLE.toString());
assertNotNull("MappingInfo is not null", mappingInfo);
MappingModuleEntry[] mmearr = mappingInfo.getMappingModuleEntry();
assertEquals("Mapping entry length=1", 1, mmearr.length);
MappingModuleEntry mme = mmearr[0];
assertEquals("TestMappingModule", "org.jboss.test.TestMappingModule", mme.getMappingModuleName());
Map<String, ?> mmOptions = mme.getOptions();
assertEquals("Number of options = 2", 2, mmOptions.size());
assertEquals("name=rolemap", "rolemap", mmOptions.get("name"));
assertEquals("succeed=true", "true", mmOptions.get("succeed"));
// Audit
AuditInfo ai = completeConfig.getAuditInfo();
assertNotNull("AuditInfo", ai);
AuditProviderEntry[] apelist = ai.getAuditProviderEntry();
assertEquals("Audit entry length=1", 1, apelist.length);
AuditProviderEntry ape = apelist[0];
assertEquals("TestMappingModule", "org.jboss.test.TestMappingModule", mme.getMappingModuleName());
Map<String, ?> auditOptions = ape.getOptions();
assertEquals("Number of options = 2", 2, auditOptions.size());
assertEquals("name=auditprovider", "auditprovider", auditOptions.get("name"));
assertEquals("succeed=false", "false", auditOptions.get("succeed"));
// Identity Trust
IdentityTrustInfo iti = completeConfig.getIdentityTrustInfo();
assertNotNull("IdentityTrustInfo", iti);
IdentityTrustModuleEntry[] itilist = iti.getIdentityTrustModuleEntry();
assertEquals("IdentityTrustModuleEntry length=1", 1, itilist.length);
IdentityTrustModuleEntry itie = itilist[0];
assertEquals("TestMappingModule", "org.jboss.test.TestMappingModule", mme.getMappingModuleName());