<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE project [
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!ENTITY commonSetup SYSTEM "file:./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../../../config/common.xml">
<!ENTITY commonSecurity SYSTEM "file:../../common.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>

<project name="security-jmac-httpservletform" default="usage" basedir=".">

    &commonSetup;
    &commonBuild;
    &testproperties;
    &commonSecurity;

    <target name="all" depends="clean, build, setup, deploy, run, undeploy, unsetup"/>

    <target name="clean" depends="init-common">
      <antcall target="clean-common"/>
    </target>

    <target name="setup" depends="init-common">
        <antcall target="create-user-common">
            <param name="user" value="shingwai"/>
            <param name="password" value="shingwai"/>
            <param name="groups" value="mygroup"/>
        </antcall>

        <copy file="${assemble.dir}/test-${appname}-provider.jar"
            todir="${env.S1AS_HOME}/lib"/>

        <antcall target="asadmin-common">
            <param name="admin.command" value="create-message-security-provider"/>
            <param name="as.props" value="${as.props} --classname com.sun.s1asdev.security.jmac.httpservletform.HttpServletFormTestAuthModule --layer HttpServlet --providertype server --requestauthsource sender"/>
            <param name="operand.props" value="httpServletFormTestAuthModule"/>
        </antcall>
    </target>

    <target name="unsetup" depends="init-common">
        <antcall target="delete-user-common">
            <param name="user" value="shingwai"/>
        </antcall>

        <antcall target="asadmin-common">
            <param name="admin.command" value="delete-message-security-provider"/>
            <param name="as.props" value="${as.props} --layer HttpServlet"/>
            <param name="operand.props" value="httpServletFormTestAuthModule"/>
        </antcall>

       <!-- <antcall target="reconfig-common"/>-->

        <!-- may not be able to delete this file in PC environment -->
        <delete file="${env.S1AS_HOME}/lib/test-${appname}-provider.jar" failonerror="false"/>
    </target>

    <target name="build" depends="init-common">
        <antcall target="webclient-war-common">
            <param name="hasWebclient" value="yes"/>
        </antcall>

        <antcall target="compile-common">
            <param name="src" value="src"/>
        </antcall>
        <mkdir dir="${assemble.dir}"/>
        <jar jarfile="${assemble.dir}/test-${appname}-provider.jar">
            <fileset dir="${build.classes.dir}"/>
        </jar>
    </target>

    <target name="deploy" depends="init-common">
        <antcall target="deploy-war-libraries">
            <param name="as.props" value="${as.props}"/>
            <param name="libraries" value="${env.S1AS_HOME}/lib/test-${appname}-provider.jar"/>
            <param name="contextroot" value="${appname}"/>
        </antcall>
    </target>

    <target name="undeploy" depends="init-common">
        <antcall target="undeploy-war-common"/>
    </target>

    <target name="run" depends="init-common">
       <taskdef name="webtest" classname="${webtest.classname}" classpath="${webtest.classpath}" />
       <webtest request="GET /security-jmac-httpservletform/index.jsp HTTP/1.0"
           debug="9"
           host="${http.host}"
           port="${http.port}"
           authMethod="FORM"
           userName="shingwai"
           password="shingwai"
           firstTask="true"
           lastTest="true"
           lastCase="true"
           lastTask="true"
           resultFileName="${webtest.report.dir}/security-gtest-results.xml"
           testSession="security-jmac-httpservletform"
           requestHeaders="Host:${http.host}:${http.port}"
           goldenFile="${env.APS_HOME}/devtests/security/jmac/httpServletForm/goldenfiles/output.html"
           testSuiteId="security-jmac-httpservletform"
           testSuiteName="security-jmac-httpservletform"
           testSuiteDescription="Security Test"
           testId="security-jmac-httpservletform"
           testName="security-jmac-httpservletform"
           testDescription="JSR 196 HttpServletForm test: ${testcaseid}"
           testCaseId="${testcaseid}"
           testCaseName="${testcaseid}"
           testCaseDescription="JSR 196 HttpServletForm test"
           testStrategy="JSR 196 HttpServletForm test"
       />
    </target>

    <target name="usage">
        <antcall target="usage-common"/>
    </target>
</project>
