# 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
# or http://forgerock.org/license/CDDLv1.0.html.
# 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.
#

Manual test for Issue 464, Access Control "dayofweek" Client Target

1.  Unzip and start OpenDS.

2.  Add some entries (shared/data/aci/manual_tests/aci_startup.ldif).

Note there is a user, uid=auser,ou=People,o=ACI Tests,dc=example,dc=com
which will modify the entry, uid=scarter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com.

3.  The user, uid=auser, attempts to modify entry, uid=scarter (shared/data/aci/manual_tests/replace_l.ldif).

Error 50 (Insufficient Access Rights) results.

/tmp/mikek/OpenDS-0.9.0-build004/bin/ldapmodify -a -h auseng013 -p 389 -D "uid=auser,ou=People,o=ACI Tests,dc=example,dc=com" -w ACIRules -f /tmp/manual_tests/replace_l.ldif 
Processing MODIFY request for uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com
MODIFY operation failed
Result Code:  50 (Insufficient Access Rights)
Additional Information:  The entry uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com cannot be modified due to insufficient access rights

4.  Add ACI with the dayofweek set to whatever it is today. The day today happens to be Tuesday. (shared/data/aci/manual_tests/add_aci_right_day.ldif)

5.  Repeat step 3. Now it is successful.

/tmp/mikek/OpenDS-0.9.0-build004/bin/ldapmodify -a -h auseng013 -p 389 -D "uid=auser,ou=People,o=ACI Tests,dc=example,dc=com" -w ACIRules -f /tmp/manual_tests/replace_l.ldif 
Processing MODIFY request for uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com
MODIFY operation successful for DN uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com

6.  Replace the ACI with whatever today is not. This example sets the day to Saturday. (shared/data/aci/manual_tests/add_aci_wrong_day.ldif)

7.  Repeat step 3. 

Error 50 (Insufficient Access Rights) results. 

The output is like that in step 3. 

8.  Replace the ACI with a day that does not conform to the standard described in the users guide. This example uses tuesday for the dayofweek. (shared/data/aci/manual_tests/add_aci_bad_day.ldif)

Error 21 (Invalid Attribute Syntax) results.

bash-3.00# /tmp/mikek/OpenDS-0.9.0-build004/bin/ldapmodify -a -h auseng013 -p 389 -D "cn=Directory Manager" -w password -f /tmp/manual_tests/add_aci_bad_day.ldif 
Processing MODIFY request for ou=aci branch,o=ACI Tests,dc=example,dc=com
MODIFY operation failed
Result Code:  21 (Invalid Attribute Syntax)
Additional Information:  When attempting to modify entry ou=aci branch,o=ACI Tests,dc=example,dc=com to replace the set of values for attribute aci, value "(targetattr="*")(version 3.0; acl "add_aci_right_day"; allow (add,delete,write) dayofweek="tuesday";)" was found to be invalid according to the associated syntax:  The provided Access Control Instruction (ACI) bind rule dayofweek expression value "tuesday" is invalid, because of an invalid day of week value. A valid dayofweek value is one of the following English three-letter abbreviationsfor the days of the week: sun, mon, tue, wed, thu, fri, or sat


