<!--

    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

-->

<testsuite>
  <id> connector.securitymapweb.test1ID </id>
  <location> /home/sony/workspace/9.1/appserver-sqe/pe/connector/securitymapweb/. </location>
<name>connector.securitymapweb.test1</name>
<description><![CDATA[SecurityMap WebTest]]></description>
<tests>
<test>
<id>connector.securitymapweb.test1ID</id>
  <location> /home/sony/workspace/9.1/appserver-sqe/pe/connector/securitymapweb/. </location>
<name>connector.securitymapweb.test1</name>
<testcases>
<testcase>
<id> connector.securitymapweb.test9ID</id>
<name>connector.securitymapweb.test9</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test4ID</id>
<name>connector.securitymapweb.test4</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test5ID</id>
<name>connector.securitymapweb.test5</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test2ID</id>
<name>connector.securitymapweb.test2</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test8ID</id>
<name>connector.securitymapweb.test8</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test6ID</id>
<name>connector.securitymapweb.test6</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test1ID</id>
<name>connector.securitymapweb.test1</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test3ID</id>
<name>connector.securitymapweb.test3</name>
<status value="did_not_run"></status>
</testcase>
<testcase>
<id> connector.securitymapweb.test7ID</id>
<name>connector.securitymapweb.test7</name>
<status value="did_not_run"></status>
</testcase>
</testcases>
</test>
</tests>
</testsuite>
