blob: 93ce3f897c9b19ec147933882280fe98ea9dc233 [file] [log] [blame]
<?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 "./../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
<!ENTITY testproperties SYSTEM "./build.properties">
]>
<project name="securitymapweb" default="usage" basedir=".">
&commonSetup;
&commonBuild;
&testproperties;
<target name="all" depends="clean,build,deploy,run,undeploy"/>
<target name="clean" depends="init-common">
<antcall target="clean-common" />
</target>
<target name="compile">
<antcall target="compile-common">
<param name="src" value="client"/>
</antcall>
</target>
<target name="build" depends="init-common,compile">
<mkdir dir="${assemble.dir}"/>
<copy todir="${assemble.dir}">
<fileset dir="web"/>
</copy>
<jar destfile="${build.base.dir}/${appname}.war" basedir="${assemble.dir}"/>
</target>
<target name="deploy-war" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy"/>
<arg line="${as.props}"/>
<arg line="${build.base.dir}/${appname}.war"/>
</exec>
</target>
<target name="deploy" depends="init-common">
<antcall target="create-ra-config"/>
<antcall target="setup-pool"/>
<antcall target="create-users"/>
<antcall target="create-security-maps"/>
<antcall target="deploy-war"/>
</target>
<target name="create-ra-config" depends="init-common">
<antcall target="asadmin-common">
<param name="admin.command" value="create-resource-adapter-config --property RAProperty=VALID"/>
<param name="operand.props" value="myds"/>
</antcall>
</target>
<target name="delete-ra-config" depends="init-common">
<antcall target="asadmin-common">
<param name="admin.command" value="delete-resource-adapter-config"/>
<param name="operand.props" value="myds"/>
</antcall>
<!-- <antcall target="reconfig-common"/>-->
</target>
<target name="setup-pool" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="deploy"/>
<arg line="${as.props}"/>
<arg line="myds.rar"/>
</exec>
<antcall target="create-connector-connpool-common">
<param name="ra.name" value="myds"/>
<param name="connection.defname" value="javax.sql.DataSource"/>
<param name="connector.conpool.name" value="${poolname}"/>
</antcall>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.ClassName=org.apache.derby.jdbc.ClientXADataSource"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.DataBaseName=testdb"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.ServerName=localhost"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.PortNumber=1527"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.User=${db.user}"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.Password=${db.pwd}"/>
</exec>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="set"/>
<arg line="${as.props}"/>
<arg line="domain.resources.connector-connection-pool.${poolname}.property.ConnectionAttributes=;create=true"/>
</exec>
<antcall target="create-connector-resource-common">
<param name="connector.conpool.name" value="${poolname}"/>
<param name="connector.jndi.name" value="eis/${poolname}"/>
</antcall>
</target>
<target name="delete-pool" depends="init-common">
<antcall target="delete-connector-resource-common">
<param name="connector.jndi.name" value="eis/${poolname}"/>
</antcall>
<antcall target="delete-connector-connpool-common">
<param name="connector.conpool.name" value="${poolname}"/>
</antcall>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy"/>
<arg line="${as.props}"/>
<arg line="myds"/>
</exec>
</target>
<target name="execute-sql" depends="init-common" >
<echo message="***** LD_LIBRARY_PATH=${env.LD_LIBRARY_PATH} *****"/>
<echo message="url jdbc:derby://${db.host}:${db.port}/${db.name};create=true"/>
<echo message="userid ${database.user}"/>
<echo message="password ${database.password}"/>
<sql
driver="${db.driver}"
url="jdbc:derby://${db.host}:${db.port}/${db.name};create=true"
userid="${database.user}"
password="${database.password}"
onerror="continue"
print="yes"
classpath="${s1astest.classpath}">
<fileset dir=".">
<include name="**/*${sql.file.type}*${db.type}*.sql"/>
</fileset>
</sql>
</target>
<target name="create-table" depends="init-common">
<property name="sql.file.type" value="create"/>
<antcall target="execute-common"/>
</target>
<target name="drop-table" depends="init-common">
<property name="sql.file.type" value="drop"/>
<antcall target="execute-common"/>
</target>
<target name="execute-common">
<antcall target="execute-sql">
<param name="database.user" value="dbmap1"/>
<param name="database.password" value="dbmap1"/>
</antcall>
<antcall target="execute-sql">
<param name="database.user" value="dbmap2"/>
<param name="database.password" value="dbmap2"/>
</antcall>
<antcall target="execute-sql">
<param name="database.user" value="dbmap3"/>
<param name="database.password" value="dbmap3"/>
</antcall>
<antcall target="execute-sql">
<param name="database.user" value="dbmap4"/>
<param name="database.password" value="dbmap4"/>
</antcall>
<antcall target="execute-sql">
<param name="database.user" value="dbmap5"/>
<param name="database.password" value="dbmap5"/>
</antcall>
<antcall target="execute-sql">
<param name="database.user" value="dbmap6"/>
<param name="database.password" value="dbmap6"/>
</antcall>
</target>
<!--
foo1/foo1 eng:employee
foo2/foo2 eng:contractor
bar1/bar1 admin:employee
bar2/bar2 wr:contractor
foobar/foobar manager:employee
barfoo/barfoo hr:employee
foofoo/foofoo support:contractor
barbar/barbar security
-->
<target name="create-users">
<antcall target="create-users-common">
<param name="user.password" value="foo1"/>
<param name="create.user.args" value="--groups eng:employee foo1"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="foo2"/>
<param name="create.user.args" value="--groups eng:employee foo2"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="foo3"/>
<param name="create.user.args" value="--groups eng:contractor foo3"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="bar1"/>
<param name="create.user.args" value="--groups admin:employee bar1"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="bar2"/>
<param name="create.user.args" value="--groups admin:contractor bar2"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="foobar"/>
<param name="create.user.args" value="--groups manager:employee foobar"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="barfoo"/>
<param name="create.user.args" value="--groups hr:employee barfoo"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="foofoo"/>
<param name="create.user.args" value="--groups support:contractor foofoo"/>
</antcall>
<antcall target="create-users-common">
<param name="user.password" value="barbar"/>
<param name="create.user.args" value="--groups security barbar"/>
</antcall>
</target>
<target name="create-users-common" depends="init-common">
<echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}" file="${admin.password.file}" append="false"/>
<echo message="AS_ADMIN_USERPASSWORD=${user.password}${line.separator}" file="${admin.password.file}" append="true"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-file-user"/>
<arg line="${as.props}"/>
<arg line="${create.user.args}"/>
</exec>
</target>
<target name="delete-users">
<antcall target="delete-users-common">
<param name="username" value="foo1"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="foo2"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="foo3"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="bar1"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="bar2"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="foobar"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="barfoo"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="foofoo"/>
</antcall>
<antcall target="delete-users-common">
<param name="username" value="barbar"/>
</antcall>
</target>
<target name="delete-users-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-file-user"/>
<arg line="${as.props}"/>
<arg line="${username}"/>
</exec>
</target>
<target name="create-security-maps">
<antcall target="create-security-maps-common">
<param name="principals" value="--principals foo1,foo2"/>
<param name="mappeduser" value="dbmap1"/>
<param name="mappedpassword" value="dbmap1"/>
<param name="map.name" value="map1"/>
</antcall>
<antcall target="create-security-maps-common">
<param name="principals" value="--usergroups hr,manager"/>
<param name="mappeduser" value="dbmap2"/>
<param name="mappedpassword" value="dbmap2"/>
<param name="map.name" value="map2"/>
</antcall>
<antcall target="create-security-maps-common">
<param name="principals" value="--usergroups employee,admin"/>
<param name="mappeduser" value="dbmap3"/>
<param name="mappedpassword" value="dbmap3"/>
<param name="map.name" value="map3"/>
</antcall>
<antcall target="create-security-maps-common">
<param name="principals" value="--usergroups contractor"/>
<param name="mappeduser" value="dbmap4"/>
<param name="mappedpassword" value="dbmap4"/>
<param name="map.name" value="map4"/>
</antcall>
<antcall target="create-security-maps-common">
<param name="principals" value="--principals *"/>
<param name="mappeduser" value="dbmap5"/>
<param name="mappedpassword" value="dbmap5"/>
<param name="map.name" value="map5"/>
</antcall>
<antcall target="create-security-maps-common">
<param name="principals" value="--usergroups *"/>
<param name="mappeduser" value="dbmap6"/>
<param name="mappedpassword" value="dbmap6"/>
<param name="map.name" value="map6"/>
</antcall>
</target>
<target name="delete-security-maps">
<antcall target="delete-security-maps-common">
<param name="map.name" value="map1"/>
</antcall>
<antcall target="delete-security-maps-common">
<param name="map.name" value="map2"/>
</antcall>
<antcall target="delete-security-maps-common">
<param name="map.name" value="map3"/>
</antcall>
<antcall target="delete-security-maps-common">
<param name="map.name" value="map4"/>
</antcall>
<antcall target="delete-security-maps-common">
<param name="map.name" value="map5"/>
</antcall>
<antcall target="delete-security-maps-common">
<param name="map.name" value="map6"/>
</antcall>
</target>
<target name="create-security-maps-common" depends="init-common">
<echo message="AS_ADMIN_PASSWORD=${admin.password}${line.separator}" file="${admin.password.file}" append="false"/>
<echo message="AS_ADMIN_MAPPEDPASSWORD=${mappedpassword}${line.separator}" file="${admin.password.file}" append="true"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="create-connector-security-map"/>
<arg line="${principals}"/>
<arg line="--poolname ${poolname}"/>
<arg line="--passwordfile ${admin.password.file}"/>
<arg line="--mappedusername ${mappeduser}"/>
<arg line="${map.name}"/>
</exec>
</target>
<target name="delete-security-maps-common" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="delete-connector-security-map"/>
<arg line="${as.props}"/>
<arg line="--poolname ${poolname}"/>
<arg line="${map.name}"/>
</exec>
</target>
<target name="run" depends="init-common">
<antcall target="create-table"/>
<java classname="com.sun.ejte.j2ee.connector.securitymapweb.WebTest"
classpath="${s1astest.classpath}" fork="true">
<arg line="${db.driver}"/>
</java>
<antcall target="drop-table"/>
<antcall target="checkReporting-common">
<param name="test.name" value="${appname}"/>
<param name="test.description" value="connector-security-map web tests"/>
</antcall>
</target>
<target name="undeploy-war" depends="init-common">
<exec executable="${ASADMIN}" failonerror="false">
<arg line="undeploy"/>
<arg line="${as.props}"/>
<arg line="${appname}"/>
</exec>
</target>
<target name="undeploy" depends="init-common">
<antcall target="undeploy-war"/>
<antcall target="delete-pool"/>
<antcall target="delete-ra-config"/>
<antcall target="delete-users"/>
</target>
<target name="usage">
<antcall target="usage-common"/>
</target>
</project>