<!--
  ~ 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 consistent map test"
          description="ONOS ConsistentMap distributed primitive Test">
    <group name="Distributed-Primitive-Map">

        <!--<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-Map-Get" requires="^"
              exec="onos-cluster-execute-expect map-test foo get a --expect null"/>

        <step name="Test-Map-Put" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo put a b --expect null"/>

        <step name="Test-Map-Updated-After-Put" requires="^"
              exec="onos-cluster-execute-expect map-test foo get a --expect b"/>

        <step name="Test-Map-PutIfAbsent-When-Key-Present" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo putIfAbsent a c --expect b"/>

        <step name="Test-Map-PutIfAbsent-When-Key-Absent" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo putIfAbsent b c --expect null"/>

        <step name="Test-Map-Updated-After-PutIfAbsent" requires="^"
              exec="onos-cluster-execute-expect map-test foo get b --expect c"/>

        <step name="Test-Map-Updated-After-PutAndGet" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo putAndGet b d --expect d"/>

        <step name="Test-Map-Replace-When-Key-Absent" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo replace c e --expect null"/>

        <step name="Test-Map-Replace-When-Key-Present" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo replace b e --expect d"/>

        <step name="Test-Map-Replace-When-Value-Does-Not-Match" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo replace b x f --expect false"/>

        <step name="Test-Map-Replace-When-Value-Does-Match" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo replace b e f --expect true"/>

        <step name="Test-Map-ContainsValue-False-Case" requires="^"
              exec="onos-cluster-execute-expect map-test foo containsValue x --expect false"/>

        <step name="Test-Map-ContainsValue-True-Case" requires="^"
              exec="onos-cluster-execute-expect map-test foo containsValue f --expect true"/>

        <step name="Test-Map-Size" requires="^"
              exec="onos-cluster-execute-expect map-test foo size --expect 2"/>

        <step name="Test-Map-IsEmpty" requires="^"
              exec="onos-cluster-execute-expect map-test foo isEmpty --expect false"/>

        <step name="Test-Map-Remove" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo remove b --expect f"/>

        <step name="Test-Map-Remove-Key-Value-Does-Not-Match" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo remove a c --expect false"/>

        <step name="Test-Map-Remove-Key-Value-Does-Match" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo remove a b --expect true"/>

        <step name="Test-Map-Clear" requires="^"
              exec="onos ${OCI} map-test foo clear"/>

        <step name="Test-Map-Cleared" requires="^"
              exec="onos-execute-expect ${OCI} map-test foo isEmpty --expect true"/>

        <!--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>

