<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-->
<project basedir="." default="all" name="Fortress LDAP Group Test 002 Data">
    <taskdef classname="org.apache.directory.fortress.core.ant.FortressAntTask" name="FortressAdmin" >
        <classpath path="${java.class.path}"/>
    </taskdef>

    <target name="all">
        <FortressAdmin>

            <adduser>
                <user userId="groupuser1" password="password" description="Ldap Group Test User 1" cn="group user1" sn="user1" ou="grptest1" />
                <user userId="groupuser2" password="password" description="Ldap Group Test User 2" cn="group user1" sn="user2" ou="grptest1" />
                <user userId="groupuser3" password="password" description="Ldap Group Test User 3" cn="group user1" sn="user3" ou="grptest1" />
                <user userId="groupuser4" password="password" description="Ldap Group Test User 4" cn="group user1" sn="user4" ou="grptest1" />
                <user userId="groupuser5" password="password" description="Ldap Group Test User 5" cn="group user1" sn="user5" ou="grptest1" />
            </adduser>

            <deluser>
                <user userId="groupuser1"/>
                <user userId="groupuser2"/>
                <user userId="groupuser3"/>
                <user userId="groupuser4"/>
                <user userId="groupuser5"/>
            </deluser>

            <addgroup>
                <group name="test-group-1" protocol="ssh" propertieswithcsv="hostname=host1, port=22, username=tgadmin1, password=secret" memberswithcsv="groupuser1,groupuser2,groupuser3,groupuser4,groupuser5" description="Ldap Test Group 1 Configuration" />
                <group name="test-group-2" protocol="ssh" propertieswithcsv="hostname=host2, port=22, username=tgadmin2, password=secret" memberswithcsv="groupuser1,groupuser2,groupuser3,groupuser4" description="Ldap Test Group 2 Configuration" />
                <group name="test-group-3" protocol="ssh" propertieswithcsv="hostname=host3, port=22, username=tgadmin3, password=secret" memberswithcsv="groupuser1,groupuser2,groupuser3" description="Ldap Test Group 3 Configuration" />
                <group name="test-group-4" protocol="ssh" propertieswithcsv="hostname=host4, port=22, username=tgadmin4, password=secret" memberswithcsv="groupuser1,groupuser2" description="Ldap Test Group 4 Configuration" />
                <group name="test-group-5" protocol="ssh" propertieswithcsv="hostname=host5, port=22, username=tgadmin5, password=secret" memberswithcsv="groupuser1" description="Ldap Test Group 5 Configuration" />
            </addgroup>

            <delgroup>
                <group name="test-group-1" />
                <group name="test-group-2" />
                <group name="test-group-3" />
                <group name="test-group-4" />
                <group name="test-group-5" />
            </delgroup>

            <addorgunit>
                <orgunit name="grptest1" typeName="USER" description="Ldap Group Test Users"/>
            </addorgunit>

            <delorgunit>
                <orgunit name="grptest1" typeName="USER"/>
            </delorgunit>

        </FortressAdmin>
    </target>
</project>