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

<test-suite suite-name="paymenttests"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">

    <test-case case-name="auto-payment-tests">
        <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoPaymentTests.xml"/>
    </test-case>
    
    <!-- enable when sandbox is available and configured -->
    <!-- test-case case-name="cc-tests">
        <junit-test-suite class-name="org.ofbiz.accounting.thirdparty.securepay.SecurePayServiceTest"/>
    </test-case-->
    
    <!-- enable when you get acquirer.keystore, merchant.crt, merchant.keystore from sandbox and copy to /applications/accounting/config and configured -->
    <!-- <test-case case-name="ideal-payment-tests">
        <junit-test-suite class-name="org.ofbiz.accounting.thirdparty.ideal.IdealPaymentServiceTest"/>
    </test-case>-->
    
</test-suite>
