From 5cf6a66f85658b20e80cd69f93aca470d4511b3c Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Mon, 17 Apr 2017 11:20:54 +0800 Subject: push results to testapi Change-Id: Ie6e231690f92971b776cd41af18b21acb43bb199 Signed-off-by: Yujun Zhang --- qtip/ansible_library/plugins/action/aggregate.py | 2 +- qtip/ansible_library/plugins/action/calculate.py | 4 +++- tests/integration/run.yaml | 21 +++++++++++++++++++++ .../plugins/action/calculate_test.py | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/qtip/ansible_library/plugins/action/aggregate.py b/qtip/ansible_library/plugins/action/aggregate.py index 907fa775..6e280419 100644 --- a/qtip/ansible_library/plugins/action/aggregate.py +++ b/qtip/ansible_library/plugins/action/aggregate.py @@ -32,5 +32,5 @@ class ActionModule(ActionBase): def aggregate(group, task_vars): qpi_results = [task_vars['hostvars'][host]['qpi_result'] for host in task_vars['groups'][group]] return { - 'score': mean([r['score'] for r in qpi_results]) + 'score': int(mean([r['score'] for r in qpi_results])) } diff --git a/qtip/ansible_library/plugins/action/calculate.py b/qtip/ansible_library/plugins/action/calculate.py index ac7f10f2..fade367f 100644 --- a/qtip/ansible_library/plugins/action/calculate.py +++ b/qtip/ansible_library/plugins/action/calculate.py @@ -45,8 +45,10 @@ def calc_qpi(qpi_spec, metrics): section_results = [{'name': s['name'], 'result': calc_section(s, metrics)} for s in qpi_spec['sections']] + # TODO(yujunz): use formula in spec - qpi_score = mean([r['result']['score'] for r in section_results]) + standard_score = 2048 + qpi_score = int(mean([r['result']['score'] for r in section_results]) * standard_score) return { 'spec': qpi_spec, 'score': qpi_score, diff --git a/tests/integration/run.yaml b/tests/integration/run.yaml index eb1bab88..7545a65e 100644 --- a/tests/integration/run.yaml +++ b/tests/integration/run.yaml @@ -57,3 +57,24 @@ src: "{{ qtip_resources }}/template/qpi-report.j2" dest: "{{ qtip_reports }}/qpi-report" tags: [report] + - name: push result to testapi + uri: + url: "{{ testapi_url }}/results" + body: "{{ item|to_json }}" + method: POST + body_format: json + status_code: 200 + with_items: + - + project_name: "{{ project_name }}" + case_name: "{{ case_name }}" + pod_name: "{{ pod_name }}" + installer: "{{ installer }}" + version: "{{ version }}" + scenario: "{{ scenario }}" + start_date: "{{ ansible_date_time.date }}" + stop_date: "{{ ansible_date_time.date }}" + criteria: "" + details: " {{ pod_result }}" + + tags: [testapi] diff --git a/tests/unit/ansible_library/plugins/action/calculate_test.py b/tests/unit/ansible_library/plugins/action/calculate_test.py index ae163102..3b34d9f5 100644 --- a/tests/unit/ansible_library/plugins/action/calculate_test.py +++ b/tests/unit/ansible_library/plugins/action/calculate_test.py @@ -67,7 +67,7 @@ def section_result(metric_result): @pytest.fixture() def qpi_result(qpi_spec, section_result, metrics): - return {'score': 1.0, + return {'score': 2048, 'spec': qpi_spec, 'metrics': metrics, 'section_results': [{'name': 'ssl', 'result': section_result}]} -- cgit 1.2.3-korg