* A test.
*
* @throws AccessControlException when something went wrong.
*/
public void testSavePolicy() throws AccessControlException {
InheritingPolicyManager policyManager = (InheritingPolicyManager) getPolicyManager();
DefaultPolicy subtreePolicy = (DefaultPolicy) policyManager.buildSubtreePolicy(
getAccessController().getAccreditableManager(), URL);
DefaultPolicy newPolicy = new DefaultPolicy();
Credential[] credentials = subtreePolicy.getCredentials();
for (int i = 0; i < credentials.length; i++) {
Role role = credentials[i].getRole();
CredentialImpl credential = new CredentialImpl(credentials[i].getAccreditable(), role);
credential.setMethod(credentials[i].getMethod());
newPolicy.addCredential(credential);
}
assertEquals(subtreePolicy.getCredentials().length, newPolicy.getCredentials().length);
policyManager.saveSubtreePolicy(SAVE_URL, newPolicy);
newPolicy = (DefaultPolicy) policyManager.buildSubtreePolicy(getAccessController()
.getAccreditableManager(), SAVE_URL);
assertEquals(subtreePolicy.getCredentials().length, newPolicy.getCredentials().length);
Credential[] newCredentials = newPolicy.getCredentials();