<!--
  ~ 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-host-intent" description="Network host intent connectivity test">
    <!-- TODO: parametrize this via recipes -->
    <group name="Host-Intent-Connectivity">

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

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

        <import file="${ONOS_SCENARIOS}/net-link-down-up.xml" namespace="Host-Intent"/>
        <dependency name="Host-Intent.Net-Link-Down-Up"
                    requires="Host-Intent.Validate-Intent-Installed"/>

        <step name="Host-Intent.Validate-Intent-Installed-Still" requires="Host-Intent.Link-1-Down"
              exec="onos-check-intent ${OC1} h2h INSTALLED"/>

        <import file="${ONOS_SCENARIOS}/log-mark.xml" namespace="Host-Intent"/>
        <dependency name="Host-Intent.ExpectExceptionMarkBegin"
                    requires="~Host-Intent.Validate-Intent-Installed-Still"/>

        <dependency name="Host-Intent.Link-2-Down"
                    requires="Host-Intent.ExpectExceptionMarkBegin" />

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

        <dependency name="Host-Intent.Link-1-Up"
                    requires="~Host-Intent.Validate-Intent-Failed" />

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

        <dependency name="Host-Intent.ExpectExceptionMarkEnd"
                    requires="~Host-Intent.Validate-Intent-Installed-Again"/>

        <dependency name="Host-Intent.Ping-4"
                    requires="~Host-Intent.Validate-Intent-Installed-Again" />

        <step name="Host-Intent.Remove-Intent" requires="~Host-Intent.Net-Link-Down-Up"
              exec="onos -f ${OC1} remove-intent -p org.onosproject.cli h2h"/>
    </group>
</scenario>
