diff options
author | drebs <drebs@riseup.net> | 2017-09-17 12:08:25 -0300 |
---|---|---|
committer | drebs <drebs@riseup.net> | 2017-09-17 15:50:55 -0300 |
commit | cfff46ff9becdbe5cf48816870e625ed253ecc57 (patch) | |
tree | 8d239e4499f559d86ed17ea3632008303b25d485 /tests/responsiveness/elastic.py | |
parent | f29abe28bd778838626d12fcabe3980a8ce4fa8c (diff) |
[refactor] move tests to root of repository
Tests entrypoint was in a testing/ subfolder in the root of the
repository. This was made mainly because we had some common files for
tests and we didn't want to ship them (files in testing/test_soledad,
which is itself a python package. This sometimes causes errors when
loading tests (it seems setuptools is confused with having one python
package in a subdirectory of another).
This commit moves the tests entrypoint to the root of the repository.
Closes: #8952
Diffstat (limited to 'tests/responsiveness/elastic.py')
-rw-r--r-- | tests/responsiveness/elastic.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/responsiveness/elastic.py b/tests/responsiveness/elastic.py new file mode 100644 index 00000000..fed1506b --- /dev/null +++ b/tests/responsiveness/elastic.py @@ -0,0 +1,47 @@ +import datetime +import elasticsearch + +from pytest_benchmark.plugin import pytest_benchmark_generate_machine_info +from pytest_benchmark.utils import get_commit_info, get_tag, get_machine_id +from pytest_benchmark.storage.elasticsearch import BenchmarkJSONSerializer + + +def post(seconds_blocked, request,): + body, doc_id = get_doc(seconds_blocked, request) + url = request.config.getoption("elasticsearch_url") + if url: + es = elasticsearch.Elasticsearch( + hosts=[url], + serializer=BenchmarkJSONSerializer()) + es.index( + index='responsiveness', + doc_type='responsiveness', + id=doc_id, + body=body) + else: + print body + + +def get_doc(seconds_blocked, request): + fullname = request.node._nodeid + name = request.node.name + group = None + marker = request.node.get_marker("responsivness") + if marker: + group = marker.kwargs.get("group") + + doc = { + "datetime": datetime.datetime.utcnow().isoformat(), + "commit_info": get_commit_info(), + "fullname": fullname, + "name": name, + "group": group, + "machine_info": pytest_benchmark_generate_machine_info(), + } + + # generate a doc id like the one used by pytest-benchmark + machine_id = get_machine_id() + tag = get_tag() + doc_id = machine_id + "_" + tag + "_" + fullname + + return doc, doc_id |