<!--
  ~ Copyright 2016-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="distributed counter test"
          description="ONOS AtomicCounter distributed primitive Test">
    <group name="Distributed-Primitive-Counter">

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

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

        <step name="Test-Counter-Initial-Value" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 0"/>

        <step name="Test-Counter-Set" requires="^"
              exec="onos ${OCI} counter-test test-counter set 1"/>

        <step name="Test-Counter-Get" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 1"/>

        <step name="Test-Counter-IncrementAndGet" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter incrementAndGet --expect 2"/>

        <step name="Test-Counter-GetAndIncrement" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter getAndIncrement --expect 2"/>

        <step name="Test-Counter-Incremented" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 3"/>

        <step name="Test-Counter-AddAndGet" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter addAndGet 10 --expect 13"/>

        <step name="Test-Counter-GetAndAdd" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter getAndAdd 10 --expect 13"/>

        <step name="Test-Counter-Updated-After-GetAndAdd" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 23"/>

        <step name="Test-Counter-CompareAndSet-False" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter compareAndSet 1 2 --expect false"/>

        <step name="Test-Counter-Not-Updated-After-CAS" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 23"/>

        <step name="Test-Counter-CompareAndSet-True" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter compareAndSet 23 25 --expect true"/>

        <step name="Test-Counter-Updated-After-CAS" requires="^"
              exec="onos-execute-expect ${OCI} counter-test test-counter get --expect 25"/>

        <!--Check with check logs-->
        <step name="Check-Log-Exceptions" requires="^"
              exec="onos-check-logs ${OCI}"/>

        <step name="Teardown-Distributed-Primitives-Test-App" requires="^"
              exec="onos ${OCI} app deactivate org.onosproject.distributedprimitives"/>
    </group>
</scenario>

