Add STC scenario for drivers queries

Change-Id: I4a7b77c147dd35b10179d42bb702c22012451f0c
diff --git a/tools/test/bin/onos-find-driver b/tools/test/bin/onos-find-driver
new file mode 100755
index 0000000..e796040
--- /dev/null
+++ b/tools/test/bin/onos-find-driver
@@ -0,0 +1,36 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Checks that all intents in the system have a given state.
+# -----------------------------------------------------------------------------
+
+[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
+. $ONOS_ROOT/tools/build/envDefaults
+
+aux=/tmp/stc-$$.log
+trap "rm -f $aux 2>/dev/null" EXIT
+target=${1:-$OCI}
+
+echo onos-find-driver: $*
+
+node=$1
+driver=$2
+id=$3
+set -x
+
+onos $target "onos:drivers" | tee $aux
+driverString=`cat $aux | grep "driver=$driver"`
+if [ driverString != "" ]
+then
+    for token in $driverString
+    do
+        if [[ $token =~ "driver=" ]]
+        then
+            echo "@stc ${id}Driver=${token}"
+            exit 0
+        fi
+    done
+fi
+
+cat $aux
+exit 1
+
diff --git a/tools/test/scenarios/drivers-test.xml b/tools/test/scenarios/drivers-test.xml
new file mode 100644
index 0000000..8ff1be1
--- /dev/null
+++ b/tools/test/scenarios/drivers-test.xml
@@ -0,0 +1,55 @@
+<!--
+  ~ Copyright 2016 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="drivers-test"
+          description="Driver CLI activate/deactivate test">
+    <group name="Drivers-Test">
+
+        <!-- Check initial state of select drivers -->
+        <step name="DriversTest.FindOvsCorsa"
+              exec="onos-find-driver ${OC1} ovs-corsa ovs" />
+        <step name="DriversTest.CheckOvsCorsa" requires="^"
+              exec="test '${ovsDriver}' != ''"/>
+        <step name="DriversTest.Default" requires="^"
+              exec="onos-find-driver ${OC1} default default" />
+        <step name="DriversTest.CheckDefault" requires="^"
+              exec="test '${defaultDriver}' != ''"/>
+
+        <!-- Deactivate drivers app -->
+        <step name="DriversTest.DeactivateDriversApp" requires="^"
+              exec="onos ${OCI} onos:app deactivate org.onosproject.drivers"/>
+
+        <!-- Check that drivers are no longer present -->
+        <step name="DriversTest.AfterDeactivateFindOvsCorsa" requires="^"
+              exec="onos-find-driver ${OC1} ovs-corsa ovsInactive" env="!"/>
+        <step name="DriversTest.AfterDeactivateFindDefault" requires="^"
+              exec="onos-find-driver ${OC1} default defaultInactive" env="!"/>
+
+        <!-- Reactivate all drivers -->
+        <step name="DriversTest.ActivateDriversApp" requires="^"
+              exec="onos ${OCI} onos:app activate org.onosproject.drivers"/>
+
+        <!-- Check reactivated state of drivers -->
+        <step name="DriversTest.ReactivatedFindOvsCorsa" requires="^"
+              exec="onos-find-driver ${OC1} ovs-corsa ovs" />
+        <step name="DriversTest.ReactivatedCheckOvsCorsa" requires="^"
+              exec="test '${ovsDriver}' != ''"/>
+        <step name="DriversTest.ReactivatedDefault" requires="^"
+              exec="onos-find-driver ${OC1} default default" />
+        <step name="DriversTest.ReactivatedCheckDefault" requires="^"
+              exec="test '${defaultDriver}' != ''"/>
+
+    </group>
+</scenario>
diff --git a/tools/test/scenarios/smoke.xml b/tools/test/scenarios/smoke.xml
index 2344972..a7347d3 100644
--- a/tools/test/scenarios/smoke.xml
+++ b/tools/test/scenarios/smoke.xml
@@ -26,6 +26,9 @@
     <import file="${ONOS_SCENARIOS}/archetypes.xml"/>
     <dependency name="Archetypes" requires="Setup"/>
 
+    <import file="${ONOS_SCENARIOS}/drivers-test.xml"/>
+    <dependency name="Drivers-Test" requires="Setup,Net-Smoke,Archetypes"/>
+
     <import file="${ONOS_SCENARIOS}/wrapup.xml"/>
     <dependency name="Wrapup" requires="~Archetypes,~Setup,~Net-Smoke"/>
 </scenario>