MOL 159, sending test results added, rest api fixed, mergind builds on server changed
diff --git a/rest_api.py b/rest_api.py
index 7bff6c8..c55e018 100644
--- a/rest_api.py
+++ b/rest_api.py
@@ -4,14 +4,16 @@
 
 def add_test(test_name, test_data, url):
     if not url.endswith("/"):
-        url += '/' + test_name
+        url += '/api/tests/' + test_name
 
+    import pdb
+    pdb.set_trace()
     requests.post(url=url, data=json.dumps(test_data))
 
 
 def get_test(test_name, url):
     if not url.endswith("/"):
-        url += '/' + test_name
+        url += '/api/tests/' + test_name
 
     result = requests.get(url=url)
 
@@ -19,6 +21,9 @@
 
 
 def get_all_tests(url):
+    if not url.endswith('/'):
+        url += '/api/tests'
+
     result = requests.get(url=url)
     return json.loads(result.content)
 
diff --git a/run_test.py b/run_test.py
index ad0c9d2..a5381ae 100644
--- a/run_test.py
+++ b/run_test.py
@@ -10,6 +10,7 @@
 
 import io_scenario
 from itest import IOPerfTest
+from rest_api import add_test
 
 import ssh_runner
 
@@ -75,6 +76,15 @@
     parser.add_argument("--max-preparation-time", default=300,
                         type=int, dest="max_preparation_time")
 
+    parser.add_argument("-b", "--build-info", default=None,
+                        dest="build_name")
+
+    parser.add_argument("-d", "--data-server-url", default=None,
+                        dest="data_server_url")
+
+    parser.add_argument("-n", "--lab-name", default=None,
+                        dest="lab_name")
+
     parser.add_argument("-k", "--keep", default=False,
                         help="keep temporary files",
                         dest="keep_temp_files", action='store_true')
@@ -123,7 +133,7 @@
 
         data = json.dumps({key: (int(bw_mean), int(bw_dev))})
 
-        return "\n====> {0}\n\n{1}\n".format(data, "=" * 80)
+        return data
 
 
 def get_io_opts(io_opts_file, io_opts):
@@ -165,7 +175,7 @@
     data = "\n{0}\n".format("=" * 80)
     data += pprint.pformat(res) + "\n"
     data += "{0}\n".format("=" * 80)
-    return data + "\n" + format_measurements_stat(res) + "\n"
+    return data + "\n" + "\n====> {0}\n\n{1}\n".format(format_measurements_stat(res), "=" * 80) + "\n"
 
 
 def main(argv):
@@ -176,6 +186,9 @@
             pass
 
     io_opts = get_io_opts(opts.io_opts_file, opts.io_opts)
+    data_server_url = opts.data_server_url
+    lab_name = opts.lab_name
+    build_name = opts.build_name
 
     if opts.runner == "rally":
         logger.debug("Use rally runner")
@@ -256,6 +269,9 @@
             logger.debug("Clearing")
             clear_all(nova)
 
+    result = json.loads(format_measurements_stat(res))
+    result['name'] = build_name
+    add_test(build_name, result, data_server_url)
     return 0
 
 
diff --git a/run_tests.py b/run_tests.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/run_tests.py
diff --git a/web_app/__init__.py b/web_app/__init__.py
index 9fd6a17..00c1084 100644
--- a/web_app/__init__.py
+++ b/web_app/__init__.py
@@ -3,7 +3,7 @@
 from flask_bootstrap import Bootstrap
 from config import TEST_PATH
 from report import build_vertical_bar, build_lines_chart
-from storage_api import create_storage, Measurement
+from storage_api import Measurement
 from logging import getLogger, INFO
 
 import json
@@ -157,7 +157,10 @@
     d = {}
 
     for pair in b2.items():
-        b1[pair[0]] = pair[1]
+        if pair[0] in b1 and type(pair[1]) is list:
+            b1[pair[0]].extend(pair[1])
+        else:
+            b1[pair[0]] = pair[1]
 
 
 @app.route("/", methods=['GET', 'POST'])