/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at legal-notices/CDDLv1_0.txt.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Copyright 2008 Sun Microsystems, Inc.
*/
/**
* This class contains a number of test cases for the proxied authorization v2
* control.
*/
public class ProxiedAuthV2ControlTestCase
extends ControlsTestCase
{
/**
* Make sure that the server is running.
*
* @throws Exception If an unexpected problem occurs.
*/
@BeforeClass()
public void startServer()
throws Exception
{
}
/**
* Tests the constructor with a {@code null} authorization ID.
*/
public void testConstructorNullAuthzID()
{
new ProxiedAuthV2Control(null);
}
/**
* Tests the constructor with an empty authorization ID.
*/
@Test()
public void testConstructorEmptyAuthzID()
{
}
/**
* Tests the constructor with a non-empty authorization ID using the "dn:"
* form.
*/
@Test()
public void testConstructorNonEmptyAuthzIDDN()
{
}
/**
* Tests the constructor with a non-empty authorization ID using the "u:"
* form.
*/
@Test()
public void testConstructorNonEmptyAuthzIDUsername()
{
}
/**
* Tests the {@code decodeControl} method with a control that is not marked
* critical.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testDecodeControlNotCritical()
throws Exception
{
}
/**
* Tests the {@code decodeControl} method with a control that does not have a
* value.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testDecodeControlNoValue()
throws Exception
{
}
/**
* Tests the {@code decodeControl} method with a control encoded in the
* standard from with the "dn:"-style value.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testDecodeControlDNValue()
throws Exception
{
ProxiedAuthV2Control proxyControl = ProxiedAuthV2Control.DECODER.decode(c.isCritical(), c.getValue());
}
/**
* Tests the {@code decodeControl} method with a control encoded in the
* standard from with the "u:"-style value.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testDecodeControlUsernameValue()
throws Exception
{
ProxiedAuthV2Control proxyControl = ProxiedAuthV2Control.DECODER.decode(c.isCritical(), c.getValue());
}
/**
* Tests the {@code decodeControl} method with an invalid value (which doesn't
* start with either "dn:" or "u:").
*
* @throws Exception If an unexpected problem occurs.
*/
public void testDecodeControlInvalidValue()
throws Exception
{
ProxiedAuthV2Control proxyControl = ProxiedAuthV2Control.DECODER.decode(c.isCritical(), c.getValue());
}
/**
* Tests the {@code decodeControl} method with a control encoded in the legacy
* form (in which the value is wrapped by an extra octet string) with the
* "dn:"-style value.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testDecodeControlLegacyDNValue()
throws Exception
{
ProxiedAuthV2Control proxyControl = ProxiedAuthV2Control.DECODER.decode(c.isCritical(), c.getValue());
}
/**
* Tests the {@code decodeControl} method with a control encoded in the legacy
* form (in which the value is wrapped by an extra octet string) with the
* "u:"-style value.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testDecodeControlLegacyUsernameValue()
throws Exception
{
ProxiedAuthV2Control proxyControl = ProxiedAuthV2Control.DECODER.decode(c.isCritical(), c.getValue());
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an empty
* authorization ID string.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testGetValidatedAuthorizationDNEmptyAuthzID()
throws Exception
{
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID of "dn:".
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testGetValidatedAuthorizationDNEmptyAuthzIDDN()
throws Exception
{
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "dn:" form that points to a valid user.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testGetValidatedAuthorizationDNExistingUserDN()
throws Exception
{
"dn: uid=test,o=test",
"objectClass: top",
"objectClass: person",
"objectClass: organizationalPerson",
"objectClass: inetOrgPerson",
"uid: test",
"givenName: Test",
"sn: User",
"cn: Test User");
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "dn:" form that points to a user that doesn't exist.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testGetValidatedAuthorizationDNNonExistingUserDN()
throws Exception
{
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "dn:" form that points to a valid user but whose account is
* disabled.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testGetValidatedAuthorizationDNExistingDisabledUserDN()
throws Exception
{
"dn: uid=test,o=test",
"objectClass: top",
"objectClass: person",
"objectClass: organizationalPerson",
"objectClass: inetOrgPerson",
"uid: test",
"givenName: Test",
"sn: User",
"cn: Test User",
"ds-pwp-account-disabled: true");
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID of "u:".
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testGetValidatedAuthorizationDNEmptyAuthzIDUsername()
throws Exception
{
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "u:" form that points to a valid user.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testGetValidatedAuthorizationDNExistingUserUsername()
throws Exception
{
"dn: uid=test,o=test",
"objectClass: top",
"objectClass: person",
"objectClass: organizationalPerson",
"objectClass: inetOrgPerson",
"uid: test",
"givenName: Test",
"sn: User",
"cn: Test User");
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "u:" form that points to a user that doesn't exist.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testGetValidatedAuthorizationDNNonExistingUserUsername()
throws Exception
{
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an authorization
* ID in the "u:" form that points to a valid user but whose account is
* disabled.
*
* @throws Exception If an unexpected problem occurs.
*/
throws Exception
{
"dn: uid=test,o=test",
"objectClass: top",
"objectClass: person",
"objectClass: organizationalPerson",
"objectClass: inetOrgPerson",
"uid: test",
"givenName: Test",
"sn: User",
"cn: Test User",
"ds-pwp-account-disabled: true");
}
/**
* Tests the {@code getValidatedAuthorizationDN} method with an invalid
* authorization ID.
*
* @throws Exception If an unexpected problem occurs.
*/
public void testGetValidatedAuthorizationDNInvalidAuthzID()
throws Exception
{
}
/**
* Tests the {@code toString} methods.
*
* @throws Exception If an unexpected problem occurs.
*/
@Test()
public void testToString()
throws Exception
{
// The default toString() calls the version that takes a string builder
// argument, so we only need to use the default version to cover both cases.
}
}