mirror of
https://github.com/soxoj/maigret.git
synced 2026-05-06 14:08:59 +00:00
Added reports of JSON format (simple, njdson); improved submit logic; added several sites
This commit is contained in:
+28
-1
@@ -1,5 +1,6 @@
|
||||
"""Maigret reports test functions"""
|
||||
import copy
|
||||
import json
|
||||
import os
|
||||
from io import StringIO
|
||||
|
||||
@@ -7,7 +8,7 @@ import xmind
|
||||
from jinja2 import Template
|
||||
|
||||
from maigret.report import generate_csv_report, generate_txt_report, save_xmind_report, save_html_report, \
|
||||
save_pdf_report, generate_report_template, generate_report_context
|
||||
save_pdf_report, generate_report_template, generate_report_context, generate_json_report
|
||||
from maigret.result import QueryResult, QueryStatus
|
||||
|
||||
EXAMPLE_RESULTS = {
|
||||
@@ -146,6 +147,32 @@ def test_generate_txt_report():
|
||||
]
|
||||
|
||||
|
||||
def test_generate_json_simple_report():
|
||||
jsonfile = StringIO()
|
||||
MODIFIED_RESULTS = dict(EXAMPLE_RESULTS)
|
||||
MODIFIED_RESULTS['GitHub2'] = EXAMPLE_RESULTS['GitHub']
|
||||
generate_json_report('test', MODIFIED_RESULTS, jsonfile, 'simple')
|
||||
|
||||
jsonfile.seek(0)
|
||||
data = jsonfile.readlines()
|
||||
|
||||
assert len(data) == 1
|
||||
assert list(json.loads(data[0]).keys()) == ['GitHub', 'GitHub2']
|
||||
|
||||
|
||||
def test_generate_json_ndjson_report():
|
||||
jsonfile = StringIO()
|
||||
MODIFIED_RESULTS = dict(EXAMPLE_RESULTS)
|
||||
MODIFIED_RESULTS['GitHub2'] = EXAMPLE_RESULTS['GitHub']
|
||||
generate_json_report('test', MODIFIED_RESULTS, jsonfile, 'ndjson')
|
||||
|
||||
jsonfile.seek(0)
|
||||
data = jsonfile.readlines()
|
||||
|
||||
assert len(data) == 2
|
||||
assert json.loads(data[0])['sitename'] == 'GitHub'
|
||||
|
||||
|
||||
def test_save_xmind_report():
|
||||
filename = 'report_test.xmind'
|
||||
save_xmind_report(filename, 'test', EXAMPLE_RESULTS)
|
||||
|
||||
Reference in New Issue
Block a user