add update opnfv-testapi script in testAPI 61/15261/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 8 Jun 2016 03:46:56 +0000 (11:46 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 8 Jun 2016 03:46:56 +0000 (11:46 +0800)
add file update_api.py

JIRA: FUNCTEST-299

Change-Id: Iea882a12bab2e3a92a31a3a8b59fcd57c488dffa
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/result_collection_api/update/update_api.py [new file with mode: 0644]

diff --git a/utils/test/result_collection_api/update/update_api.py b/utils/test/result_collection_api/update/update_api.py
new file mode 100644 (file)
index 0000000..db8ad2d
--- /dev/null
@@ -0,0 +1,55 @@
+##############################################################################
+# Copyright (c) 2016 ZTE Corporation
+# feng.xiaowei@zte.com.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import subprocess
+
+possible_processes = [
+    'result_collection_api',
+    'opnfv-testapi'
+]
+
+
+def kill_olds():
+    for proc in possible_processes:
+        query = 'ps -ef | grep {} | grep -v grep'.format(proc)
+        runnings = execute_with_output(query)
+        if runnings:
+            for running in runnings:
+                kill = 'kill -kill ' + running.split()[1]
+                execute_with_output(kill)
+            runnings = execute_with_output(query)
+        assert len(runnings) == 0, 'kill %s failed'.format(proc)
+
+
+def install_dependencies():
+    execute_with_assert('pip install -r ../requirements.txt')
+
+
+def install_new():
+    execute_with_assert('cd ../ && python setup.py install')
+
+
+def run_new():
+    execute_with_assert('opnfv-testapi &')
+
+
+def execute_with_output(cmd):
+    return subprocess.Popen(cmd, shell=True,
+                            stdout=subprocess.PIPE).stdout.readlines()
+
+
+def execute_with_assert(cmd):
+    execute_output = subprocess.call(cmd, shell=True)
+    assert execute_output == 0
+
+
+if __name__ == '__main__':
+    kill_olds()
+    install_dependencies()
+    install_new()
+    run_new()