<!--
  ~ Copyright 2016-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-single-to-multi-intent"
          description="Network single point to multi point intent connectivity test">
    <!-- TODO: parametrize this via recipes -->
    <group name="S2M-Intent-Connectivity">
        <step name="S2M-Intent.Uninstall-Reactive-Forwarding"
              exec="onos ${OC1} app deactivate org.onosproject.fwd org.onosproject.ifwd"/>
        <step name="S2M-Intent.Check-Apps" requires="^"
              exec="onos-check-apps ${OC1} fwd,ifwd excludes"/>

        <!-- Create a single point to three points intent -->
        <step name="S2M-Intent.Create-Intent-forward" requires="^"
              exec="onos-create-intent ${OC1} forward single-to-multi of:0000000000000011/1 of:0000000000000014/1 of:0000000000000002/1 of:000000000000000E/1"/>

        <!-- Create back links from the 3 points back to the source -->
        <step name="S2M-Intent.Create-Intent-back1" requires="^"
              exec="onos-create-intent ${OC1} back1 point of:0000000000000014/1 of:0000000000000011/1"/>
        <step name="S2M-Intent.Create-Intent-back2" requires="^"
              exec="onos-create-intent ${OC1} back2 point of:0000000000000002/1 of:0000000000000011/1"/>
        <step name="S2M-Intent.Create-Intent-back3" requires="^"
              exec="onos-create-intent ${OC1} back3 point of:000000000000000E/1 of:0000000000000011/1"/>

        <!-- Make sure intents installed properly -->
        <step name="S2M-Intent.Validate-Intent-forward-Installed" requires="S2M-Intent.Create-Intent-forward"
              exec="onos-check-intent ${OC1} forward INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back1-Installed" requires="S2M-Intent.Create-Intent-back1"
              exec="onos-check-intent ${OC1} back1 INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back2-Installed" requires="S2M-Intent.Create-Intent-back2"
              exec="onos-check-intent ${OC1} back2 INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back3-Installed" requires="S2M-Intent.Create-Intent-back3"
              exec="onos-check-intent ${OC1} back3 INSTALLED"/>

        <!-- Check the connectivity of the 11 <-> 14 intent -->
        <step name="S2M-Intent.Ping-1-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h20 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back1" />
        <step name="S2M-Intent.Ping-1-back"
              exec="onos-mininet sendAndExpect h20 ping -c1 h17 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back1" />

        <!-- Check the connectivity of the 11 <-> 2 intent -->
        <step name="S2M-Intent.Ping-2-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h2 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back1" />
        <step name="S2M-Intent.Ping-2-back"
              exec="onos-mininet sendAndExpect h2 ping -c1 h17 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back1" />

        <!-- Check the connectivity of the 11 <-> E intent -->
        <step name="S2M-Intent.Ping-3-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h14 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back2" />
        <step name="S2M-Intent.Ping-3-back"
              exec="onos-mininet sendAndExpect h14 ping -c1 h17 --expect \ 0% packet loss" requires="S2M-Intent.Create-Intent-forward,
                                                                                                     S2M-Intent.Create-Intent-back3" />

        <!-- Clean up intents -->
        <step name="S2M-Intent.Remove-Intent-forward" requires="~S2M-Intent.Ping-3-back"
              exec="onos ${OC1} remove-intent -p org.onosproject.cli forward"/>
        <step name="S2M-Intent.Remove-Intent-back1" requires="~S2M-Intent.Ping-3-back"
              exec="onos ${OC1} remove-intent -p org.onosproject.cli back1"/>
        <step name="S2M-Intent.Remove-Intent-back2" requires="~S2M-Intent.Ping-3-back"
              exec="onos ${OC1} remove-intent -p org.onosproject.cli back2"/>
        <step name="S2M-Intent.Remove-Intent-back3" requires="~S2M-Intent.Ping-3-back"
              exec="onos ${OC1} remove-intent -p org.onosproject.cli back3"/>
    </group>
</scenario>
