stc scenario for testing work queue distributed primitive

Change-Id: Ib548cef733a7d1f6418d3c318aa41d5e2cd1f400
diff --git a/tools/test/scenarios/dist-work-queue.xml b/tools/test/scenarios/dist-work-queue.xml
new file mode 100644
index 0000000..ce3ed36
--- /dev/null
+++ b/tools/test/scenarios/dist-work-queue.xml
@@ -0,0 +1,55 @@
+<!--
+  ~ 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-work-queue-test"
+          description="ONOS WorkQueue distributed primitive Test">
+    <group name="Distributed-Primitive-WorkQueue">
+
+        <step name="Distributed-Primitive-WorkQueue.Activate-Distributed-Primitives-App"
+            exec="onos ${OCI} app activate org.onosproject.distributedprimitives"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-AddOne" requires="^"
+              exec="onos-execute-expect ${OCI} work-queue-test stc-test-work-queue add foo --expect Done"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-Check-Pending-1" requires="^"
+              exec="onos-cluster-execute-expect work-queue-test stc-test-work-queue totalPending --expect 1"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-Check-InProgress-1" requires="^"
+              exec="onos-cluster-execute-expect work-queue-test stc-test-work-queue totalInProgress --expect 0"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-AddMultiple" requires="^"
+              exec="onos-execute-expect ${OCI} work-queue-test stc-test-work-queue addMultiple bar car --expect Done"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-TakeAndComplete" requires="^"
+              exec="onos-execute-expect ${OCI} work-queue-test stc-test-work-queue takeAndComplete 3 --expect Done"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-Check-Pending-2" requires="^"
+              exec="onos-cluster-execute-expect work-queue-test stc-test-work-queue totalPending --expect 0"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Test-Queue-Check-InProgress-2" requires="^"
+              exec="onos-cluster-execute-expect work-queue-test stc-test-work-queue totalInProgress --expect 0"/>
+
+        <!-- Since totalCompleted is a additive quantity, testing its value breaks when the test is run in a loop -->
+
+        <!--Check with check logs-->
+        <step name="Distributed-Primitive-WorkQueue.Check-Log-Exceptions" requires="^"
+              exec="onos-check-logs ${OCI}"/>
+
+        <step name="Distributed-Primitive-WorkQueue.Teardown-Distributed-Primitives-Test-App" requires="^"
+              exec="onos ${OCI} app deactivate org.onosproject.distributedprimitives"/>
+    </group>
+</scenario>
+