<!--
  ~ Copyright 2017-present Open Networking Foundation
  ~
  ~ 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="app-reactivate" description="Application re-activation test">
    <group name="App-Reactivation">
        <step name="App-Activate"
              exec="onos ${OCI} app activate org.onosproject.pathpainter"/>
        <group name="App-Component-Check" requires="App-Activate">
            <parallel var="${OC#}">
                <step name="App-Component-Check-${#}"
                      exec="onos-check-component ${OC#} org.onosproject.pathpainter.PathPainter ACTIVE"/>
            </parallel>
        </group>

        <step name="App-Deactivate"
              exec="onos ${OCI} app deactivate org.onosproject.pathpainter"
              requires="App-Component-Check"/>

        <step name="App-Reactivate"
              exec="onos ${OCI} app activate org.onosproject.pathpainter"
              requires="^"/>

        <group name="App-Component-Check-Again" requires="App-Reactivate">
            <parallel var="${OC#}">
                <step name="App-Component-Check-Again-${#}"
                      exec="onos-check-component ${OC#} org.onosproject.pathpainter.PathPainter ACTIVE"/>
            </parallel>
        </group>

        <step name="App-Deactivate-Again"
              exec="onos ${OCI} app deactivate org.onosproject.pathpainter"
              requires="App-Component-Check-Again"/>
    </group>
</scenario>
