<?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

     https://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>
