<!--
  ~ Copyright 2015-present Open Networking Laboratory
  ~
  ~ 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="net-topo"
          description="Network topology test">
    <!-- TODO: parametrize this via recipes -->
    <group name="Net-Topo">

        <!-- Verify the overall topology using the REST API -->
        <step name="Net-Topo.Query-Topo"
              exec="query-topo.py ${OC1} topo"/>
        <step name="Net-Topo.Verify-Topo-Devices" requires="Net-Topo.Query-Topo"
              exec="test ${topoDevices} == 25"/>
        <step name="Net-Topo.Verify-Topo-Links" requires="Net-Topo.Query-Topo"
              exec="test ${topoLinks} == 140"/>
        <step name="Net-Topo.Verify-Topo-Clusters" requires="Net-Topo.Query-Topo"
              exec="test ${topoClusters} == 1"/>

        <!-- Verify the cluster topology using the REST API -->
        <step name="Net-Topo.Query-Cluster0"
              exec="query-cluster.py ${OC1} clusterTopo0 0"/>
        <step name="Net-Topo.Verify-Cluster0-Id" requires="Net-Topo.Query-Cluster0"
              exec="test ${clusterTopo0Id} == 0"/>
        <step name="Net-Topo.Verify-Cluster0-DeviceCount" requires="Net-Topo.Query-Cluster0"
              exec="test ${clusterTopo0DeviceCount} == 25"/>
        <step name="Net-Topo.Verify-Cluster0-LinkCount" requires="Net-Topo.Query-Cluster0"
              exec="test ${clusterTopo0LinkCount} == 140"/>
        <step name="Net-Topo.Verify-Cluster0-Root" requires="Net-Topo.Query-Cluster0"
              exec="test '${clusterTopo0Root}' == 'of:000000000000000a' -o '${clusterTopo0Root}' == 'of:000000000000000c'"/>

        <!-- Verify the list of devices for the cluster -->
        <step name="Net-Topo.Verify-Cluster0-Devices"
              exec="verify-topo-devices.py ${OC1} 0 0 24"/>

        <!-- Spot check some known links in the topology -->
        <step name="Net-Topo.Verify-Cluster0-Link1"
              exec="find-link-in-cluster.py ${OC1} link1 0 140 of:000000000000000f 8 of:0000000000000015 3"/>
        <step name="Net-Topo.Verify-Cluster0-Link2"
              exec="find-link-in-cluster.py ${OC1} link2 0 140 of:0000000000000008 3 of:0000000000000005 4"/>
        <step name="Net-Topo.Verify-Cluster0-Link3"
              exec="find-link-in-cluster.py ${OC1} link3 0 140 of:0000000000000011 2 of:0000000000000002 9"/>
        <step name="Net-Topo.Verify-Cluster0-Link4"
              exec="find-link-in-cluster.py ${OC1} link4 0 140 of:000000000000000f 3 of:000000000000000d 10"/>
        <step name="Net-Topo.Verify-Cluster0-Link5"
              exec="find-link-in-cluster.py ${OC1} link5 0 140 of:000000000000000d 13 of:0000000000000010 6"/>

        <!--  Verify the topology infrastructure query -->
        <step name="Net-Topo.Query-Cluster0-Infra1"
              exec="find-topo-infrastructure.py ${OC1} infra1 of:000000000000000f:8"/>
        <step name="Net-Topo.Verify-Cluster0-Infra1" requires="Net-Topo.Query-Cluster0-Infra1"
              exec="test '${infra1Infrastructure}' == 'True'"/>

        <step name="Net-Topo.Query-Cluster0-Infra2"
              exec="find-topo-infrastructure.py ${OC1} infra2 of:000000000000000d:8"/>
        <step name="Net-Topo.Verify-Cluster0-Infra2" requires="Net-Topo.Query-Cluster0-Infra2"
              exec="test '${infra2Infrastructure}' == 'True'"/>

        <step name="Net-Topo.Query-Cluster0-Infra3"
              exec="find-topo-infrastructure.py ${OC1} infra3 of:0000000000000012:8"/>
        <step name="Net-Topo.Verify-Cluster0-Infra3" requires="Net-Topo.Query-Cluster0-Infra3"
              exec="test '${infra3Infrastructure}' == 'False'"/>

    </group>
</scenario>
