Example #1
0
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)
Example #2
0
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)
Example #3
0
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()