<!--
  ~ 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="dist-test"
          description="ONOS distributed primitives setup">
    <group name="Distributed-Primitives">

        <!--<import file="${ONOS_SCENARIOS}/setup.xml"/>
        <dependency name="Setup" requires="Prerequisites"/>-->

        <step name="Distributed-App"
              requires="Setup"
              exec="onos ${OCI} app activate org.onosproject.distributedprimitives"/>

        <step name="Test-Counter-Increment"
              requires="Distributed-App"
              exec="onos-execute-expect ${OCI} counter-test-increment fooCounter 5 --expect updated"/>

        <step name="Test-Add"
              requires="Distributed-App"
              exec="onos-execute-expect ${OCI} set-test-add fooSet foo --expect added"/>

        <step name="Test-Get"
              requires="Test-Add"
              exec="onos-execute-expect ${OCI} set-test-get fooSet foo --expect contains"/>

        <step name="Test-Remove"
              requires="Test-Get"
              exec="onos-execute-expect ${OCI} set-test-remove fooSet foo --expect removed"/>

        <step name="Test-Add-Multiple"
              requires="Test-Remove"
              exec="onos-execute-expect ${OCI} set-test-add fooSet foo foo2 foo3 --expect added"/>

        <step name="Test-Get-Multiple"
              requires="Test-Add-Multiple"
              exec="onos-execute-expect ${OCI} set-test-get fooSet foo foo2 foo3 --expect contains"/>

        <step name="Test-Remove-Multiple"
              requires="Test-Get-Multiple"
              exec="onos-execute-expect ${OCI} set-test-remove fooSet foo foo2 foo3 --expect removed"/>

        <step name="Test-Map-Put"
              requires="Distributed-App"
              exec="onos-execute-expect ${OCI} transactional-map-test-put 1 foo --expect Created"/>

        <step name="Test-Map-Get"
              requires="Test-Map-Put"
              exec="onos-execute-expect ${OCI} transactional-map-test-get Key1 --expect Key-value"/>

        <!--Check with check logs-->
        <step name="Check-Distributed-Exceptions"
              exec="onos-check-logs ${OCI}"
              requires="Test-Map-Get"/>
    </group>
</scenario>

