<!--
  ~ Copyright 2015 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-host-intent" description="Network host intent connectivity test">
    <!-- TODO: parametrize this via recipes -->
    <group name="Host-Intent-Connectivity">
        <step name="Uninstall-Reactive-Forwarding"
              exec="onos ${OC1} app deactivate org.onosproject.fwd org.onosproject.ifwd"/>

        <step name="Find-Host-1" requires="^"
              exec="onos-mininet sendAndExpect h1 ping -c1 h4 --expect ."/>
        <step name="Find-Host-2" requires="^"
              exec="onos-mininet sendAndExpect h4 ping -c1 h1 --expect ."/>

        <step name="Create-Intent" requires="^"
              exec="onos ${OC1} add-host-intent 00:00:00:00:00:01/-1 00:00:00:00:00:04/-1"/>
        <step name="Validate-Intent-Installed" exec="onos-check-intent ${OC1} INSTALLED"
              requires="Create-Intent" />

        <import file="${ONOS_SCENARIOS}/net-link-down-up.xml" namespace="Host-Intent"/>
        <dependency name="Host-Intent.Net-Link-Down-Up" requires="Validate-Intent-Installed"/>
        <step name="Validate-Intent-Installed-Still" exec="onos-check-intent ${OC1} INSTALLED"
              requires="Host-Intent.Link-1-Down" />

        <step name="Validate-Intent-Failed" exec="onos-check-intent ${OC1} FAILED"
              requires="Host-Intent.Link-2-Down" />

        <step name="Validate-Intent-Installed-Again" exec="onos-check-intent ${OC1} INSTALLED"
              requires="Host-Intent.Link-1-Up" />
        <dependency name="Host-Intent.Ping-4" requires="Validate-Intent-Installed-Again" />

        <step name="Remove-Intent" requires="~Host-Intent.Net-Link-Down-Up"
              exec="onos ${OC1} remove-intent -p"/>
        


    </group>
</scenario>
