def METHOD_NAME():
    # A001 event
    event = MainReportVersion(version=str(installed), log_version=LOG_VERSION)
    msg = msg_from_base_event(event)
    msg_dict = msg_to_dict(msg)
    msg_json = msg_to_json(msg)
    serialized = msg.SerializeToString()
    assert "Running with dbt=" in str(serialized)
    assert set(msg_dict.keys()) == {"info", "data"}
    assert set(msg_dict["data"].keys()) == {"version", "log_version"}
    assert set(msg_dict["info"].keys()) == info_keys
    assert msg_json
    assert msg.info.code == "A001"
    # Extract EventInfo from serialized message
    generic_msg = types_pb2.GenericMessage()
    generic_msg.ParseFromString(serialized)
    assert generic_msg.info.code == "A001"
    # get the message class for the real message from the generic message
    message_class = getattr(types_pb2, f"{generic_msg.info.name}Msg")
    new_msg = message_class()
    new_msg.ParseFromString(serialized)
    assert new_msg.info.code == msg.info.code
    assert new_msg.data.version == msg.data.version
    # A002 event
    event = MainReportArgs(args={"one": "1", "two": "2"})
    msg = msg_from_base_event(event)
    msg_dict = msg_to_dict(msg)
    msg_json = msg_to_json(msg)
    assert set(msg_dict.keys()) == {"info", "data"}
    assert set(msg_dict["data"].keys()) == {"args"}
    assert set(msg_dict["info"].keys()) == info_keys
    assert msg_json
    assert msg.info.code == "A002"