def test_report_all(mocker, get_cloud_items): mocked_call = mocker.patch("arche.report.Report.__call__", autospec=True) source = pd.DataFrame(get_cloud_items) source["b"] = True a = Arche(source=source, target=pd.DataFrame(get_cloud_items[:2])) a.report_all() executed = { "Garbage Symbols", "Fields Coverage", "Scraped Fields", "Boolean Fields", "Categories", } assert executed == a.report.results.keys() mocked_call.assert_called_once_with(a.report, keys_limit=None)
def test_arche_dataframe(mocker): a = Arche( source=pd.DataFrame({"c": [0, 1]}), schema={"properties": { "c": { "type": "integer" } }}, target=pd.DataFrame({"c": [1, 1]}), ) mocker.patch("arche.report.Report.write_details", autospec=True) a.report_all() executed = [ "Garbage Symbols", "Fields Coverage", "Scraped Fields", "Boolean Fields", "JSON Schema Validation", "Tags", "Compare Price Was And Now", "Duplicates By **unique** Tag", "Duplicates By **name_field, product_url_field** Tags", "Coverage For Scraped Categories", "Category Coverage Difference", "Compare Prices For Same Urls", "Compare Names Per Url", "Compare Prices For Same Names", ] for e in executed: assert a.report.results.get(e) assert a.report.results.get("JSON Schema Validation").errors is None assert (a.report.results.get("JSON Schema Validation").info[0].summary == "2 items were checked, 0 error(s)") assert (Arche( pd.DataFrame({ "_key": ["0", "1"], "c": [0, 1] }), schema={ "properties": { "c": { "type": "string" } } }, ).report_all() is None)
def test_report_all(mocker, get_cloud_items): mocked_write_summaries = mocker.patch( "arche.report.Report.write_summaries", autospec=True) mocked_write = mocker.patch("arche.report.Report.write", autospec=True) source = pd.DataFrame(get_cloud_items) source["b"] = True a = Arche(source=source, target=pd.DataFrame(get_cloud_items[:2])) a.report_all() executed = { "Garbage Symbols", "Fields Coverage", "Scraped Fields", "Boolean Fields", "Categories", } mocked_write_summaries.assert_called_once_with(a.report) mocked_write.assert_called_once_with("\n" * 2) assert executed == a.report.results.keys()