def METHOD_NAME(mongostore, reporting_store):
    memorystore = MemoryStore("temp")
    builder = CopyBuilder(mongostore, memorystore)
    mongostore.update([{mongostore.key: i, mongostore.last_updated_field: datetime.utcnow()} for i in range(10)])
    runner = CliRunner()
    with runner.isolated_filesystem():
        dumpfn(builder, "test_builder.json")
        dumpfn(reporting_store, "test_reporting_store.json")
        result = runner.invoke(run, ["-v", "test_builder.json", "-r", "test_reporting_store.json"])
        assert result.exit_code == 0
        report_docs = list(reporting_store.query())
        assert len(report_docs) == 3
        start_doc = next(d for d in report_docs if d["event"] == "BUILD_STARTED")
        assert "sources" in start_doc
        assert "targets" in start_doc
        end_doc = next(d for d in report_docs if d["event"] == "BUILD_ENDED")
        assert "errors" in end_doc
        assert "warnings" in end_doc
        update_doc = next(d for d in report_docs if d["event"] == "UPDATE")
        assert "items" in update_doc