<!--
  ~ 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-create-intent ${OC1} hostToHost host 00:00:00:00:00:01/-1 00:00:00:00:00:04/-1"/>
        <step name="Validate-Intent-Installed" exec="onos-check-intent ${OC1} ${hostToHostId} 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} ${hostToHostId} INSTALLED"
              requires="Host-Intent.Link-1-Down" />

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

        <step name="Validate-Intent-Installed-Again" exec="onos-check-intent ${OC1} ${hostToHostId} 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>
