This is a simple HTML UI for viewing results produced by the
ATEX infrastructure tooling,
specifically aimed at the JSONAggregator output.
The JSON-on-each-line gzipped format produced by this aggregator is then
transformed by the json2db.py script (located in this repo) to produce
a compressed sqlite database used by index.html, which also contains all
of the javascript code (due to latency optimizations).
-
Produce some results via the ATEX
JSONAggregator, into a pair ofresults.json.gz(containing results) andfiles_dir(with test-uploaded files a.k.a. logs). -
Convert the JSON results to sqlite3 with:
./json2db.py results.json.gz results.sqlite.gz -
Optionally copy over
old_runsas a directory containing temporary or old test runs (that were later re-run), for debugging. -
Optionally, create
header.htmland/orfooter.htmlthat would be displayed above/below the results table. -
Host
results.sqlite.gzfiles_dirold_runs(optional)index.html(from this repo)sqljs(from this repo)header.html/footer.html(optional)
on a HTTP server somewhere. This can be a "dumb" server like Python's
http.serverwith no server-side scripting support. -
Access the website from your browser.
The idea here is to use a sqlite3 database, loaded in-memory to a web browser, to run custom SQL queries on the result set. As such, the only input field visible is a SQL WHERE condition.
Since no advanced input sanitization is done (the database is transient, no harm
can be done by a malicious URL), one can inject additional SQL keywords between
the WHERE and a trailing LIMIT, ie. ORDER BY, to further tweak the output.
Columns currently cannot be hidden / changed due to how the HTML table is built from javascript and how CSS styling is applied.
Unless specified otherwise, any content within this repository is distributed under the GNU GPLv3 license, see the COPYING.txt file for more.
Any files under the sqljs directory are subject to the license of the
sql.js project which can be found here:
https://github.com/sql-js/sql.js/blob/master/LICENSE