<!--
  ~ Copyright 2018-present Open Networking Foundation
  ~
  ~ Licensed 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.
  -->

<scenario name="distributed-proxy-test"
          description="ONOS Proxy Test">
    <group name="Distributed-Proxy" if="${OC2}">

        <step name="Distributed-Proxy.Test-Node-Sync"
              exec="onos-execute-expect ${OCI} proxy-test sync node ${OC2} foo --expect foo"/>

        <step name="Distributed-Proxy.Test-Node-Async"
              requires="Distributed-Proxy.Test-Node-Sync"
              exec="onos-execute-expect ${OCI} proxy-test async node ${OC2} bar --expect bar"/>

        <step name="Distributed-Proxy.Test-Device-Sync"
              requires="Distributed-Proxy.Test-Node-Async"
              exec="onos-execute-expect ${OCI} proxy-test sync master of:0000000000000001 foo --expect foo"/>

        <step name="Distributed-Proxy.Test-Device-Async"
              requires="Distributed-Proxy.Test-Device-Sync"
              exec="onos-execute-expect ${OCI} proxy-test async master of:0000000000000001 bar --expect bar"/>

        <group name="Distributed-Proxy.Check-Log-Exceptions"
               requires="Distributed-Proxy.Test-Device-Async">
            <parallel var="${OC#}">
                <step name="Distributed-Proxy.Check-Log-Exceptions-${#}"
                      exec="onos-check-logs ${OC#}"/>
            </parallel>
        </group>

    </group>

    <group name="Single-Node-NA" unless="${OC2}">
        <step name="No-Op" exec="echo Scenario not supported for this cell size"/>
    </group>
</scenario>

