From 8aac0997c0ad0ea62d8d3fe2a38e5f0d24951380 Mon Sep 17 00:00:00 2001
From: Dariusz Kedzierski <dkedzierski@syncad.com>
Date: Fri, 30 Oct 2020 14:11:28 +0100
Subject: [PATCH] benchmark_generator.py moved to hivemind

---
 hivemind/benchmarks/README.md              |  4 +-
 hivemind/benchmarks/benchmark_generator.py | 71 ----------------------
 2 files changed, 3 insertions(+), 72 deletions(-)
 delete mode 100755 hivemind/benchmarks/benchmark_generator.py

diff --git a/hivemind/benchmarks/README.md b/hivemind/benchmarks/README.md
index 468bbf98..95ca1371 100644
--- a/hivemind/benchmarks/README.md
+++ b/hivemind/benchmarks/README.md
@@ -4,6 +4,8 @@ Script `benchmark_generator` will scan given test directory for tavern test file
 test parameters from each file and will create benchmark test basing on that parameters. Benchmarks generated
 from directory are stored in a single file.
 
+Script moved to hivemind scripts/ci/ directory.
+
 
 ## Examples
 ```bash
@@ -14,4 +16,4 @@ $ ./benchmark_generator.py <path_to_test_directory> <name_of_the_generated_bench
 ```bash
 $ ./benchmark_generator.py ../tavern/condenser_api_patterns/ condenser_benchmarks.py http://127.0.0.1:8080
 $ pytest condenser_benchmarks.py 
-```
\ No newline at end of file
+```
diff --git a/hivemind/benchmarks/benchmark_generator.py b/hivemind/benchmarks/benchmark_generator.py
deleted file mode 100755
index ae679c91..00000000
--- a/hivemind/benchmarks/benchmark_generator.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/python3
-
-from json import dumps
-
-def make_benchmark_header():
-    return """from requests import post
-from json import dumps
-def send_rpc_query(address, data):
-    response = post(address, data=data)
-    response_json = response.json()
-    return response_json
-    """
-
-def make_benchmark(test_name, address, test_payload):
-    return """
-def test_{}(benchmark):
-    response_json = benchmark(send_rpc_query, "{}", dumps({}))
-    error = response_json.get("error", None)
-    result = response_json.get("result", None)
-
-    assert error is not None or result is not None, "No error or result in response"
-    """.format(test_name, address, test_payload)
-
-def get_request_from_yaml(path_to_yaml):
-    import yaml
-    yaml_document = None
-    with open(path_to_yaml, "r") as yaml_file:
-        yaml_document = yaml.load(yaml_file, Loader=yaml.BaseLoader)
-    if "stages" in yaml_document:
-        if "request" in yaml_document["stages"][0]:
-            json_parameters = yaml_document["stages"][0]["request"].get("json", None)
-            assert json_parameters is not None, "Unable to find json parameters in request"
-            return dumps(json_parameters)
-    return None
-
-def make_test_name_from_path(test_path):
-    splited = test_path.split("/")
-    return ("_".join(splited[-3:])).replace(".", "_").replace("-", "_")
-
-def make_benchmark_test_file(file_name, address, tests_root_dir):
-    import os
-    from fnmatch import fnmatch
-
-    pattern = "*.tavern.yaml"
-    test_files = []
-    for path, subdirs, files in os.walk(tests_root_dir):
-        for name in files:
-            if fnmatch(name, pattern):
-                test_files.append(os.path.join(path, name))
-
-    with open(file_name, "w") as benchmarks_file:
-        benchmarks_file.write(make_benchmark_header())
-        for test_file in test_files:
-            test_name = make_test_name_from_path(test_file)
-            test_payload = get_request_from_yaml(test_file)
-            benchmarks_file.write(make_benchmark(test_name, address, test_payload))
-            benchmarks_file.write("\n")
-
-if __name__ == "__main__":
-    import argparse
-    parser = argparse.ArgumentParser()
-    parser.add_argument("path_to_test_dir", type=str, help = "Path to test directory for given xml file")
-    parser.add_argument("benchmark_test_file_name", type=str, help="Name of the generated test file")
-    parser.add_argument("target_ip_address", type=str, help="Address of the hivemind")
-    args = parser.parse_args()
-
-    make_benchmark_test_file(args.benchmark_test_file_name, args.target_ip_address, args.path_to_test_dir)
-
-
-
-
-- 
GitLab