<!--
  ~ 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="yang-lve-compile" description="Live YANG compilation">
    <group name="YANG-Live-Compile">
        <step name="Activate-YANG-Runtime" exec="onos ${OC1} app activate org.onosproject.yang"/>
        <step name="Pre-Cleanup-YANG-Model" exec="onos ${OC1} app uninstall l3vpn" env="~"/>
        <step name="Check-YANG-Runtime" exec="onos-check-apps ${OC1} drivers,yang includes"
              requires="Activate-YANG-Runtime"/>
        <step name="Compile-YANG-Model" exec="onos-compile-yang ${OC1} ${ONOS_ROOT}/tools/test/configs/yang"
              requires="Check-YANG-Runtime,Pre-Cleanup-YANG-Model"/>
        <step name="Verify-YANG-Models" exec="onos ${OC1} models | grep l3vpn"
              requires="Compile-YANG-Model"/>
        <step name="Verify-YANG-Apps" exec="onos-check-apps ${OC1} drivers,yang,l3vpn includes"
              requires="Compile-YANG-Model"/>
        <step name="Cleanup-YANG-Model" exec="onos ${OC1} app uninstall l3vpn"
              requires="Verify-YANG-Apps"/>
    </group>
</scenario>
