def METHOD_NAME(bus: dbus.Bus, mode: str):
    """ Installs systemd mock on dbus and sets up the adsys scripts and refresh timer services """
    service = dbus.service.BusName(systemd.BUS_NAME,
                                   bus,
                                   allow_replacement=False,
                                   replace_existing=False,
                                   do_not_queue=True)
    main_object = dbusmock.mockobject.DBusMockObject(service, systemd.PATH_PREFIX,
                                                     systemd.MAIN_IFACE, {},
                                                     "/tmp/systemd-mock.log",
                                                     False)
    main_object.AddTemplate("systemd", "")
    # startup time and adsys timer
    startup_time = dbus.UInt64(1621860927000000)
    next_refresh_time = dbus.UInt64(86400000000)
    if mode == "no_startup_time":
        startup_time = ""
    elif mode == "invalid_startup_time":
        startup_time = dbus.String("invalid")
    elif mode == "no_nextrefresh_time":
        next_refresh_time = ""
    elif mode == "invalid_nextrefresh_time":
        next_refresh_time = dbus.String("invalid")
    main_object.AddProperty(
        systemd.MAIN_IFACE, "GeneratorsStartTimestamp", startup_time)
    main_object.AddObject(
        "/org/freedesktop/systemd1/unit/adsys_2dgpo_2drefresh_2etimer",
        "org.freedesktop.systemd1.Timer",
        {
            "NextElapseUSecMonotonic": next_refresh_time,
        },
        [])
    # mock methods not implemented by the dbusmock template
    main_object.AddMethods("", [
        ("EnableUnitFiles", "asbb", "ba(sss)", "ret = [True, [['symlink', '/from/path', '/to/path']]]"),
        ("DisableUnitFiles", "asb", "a(sss)", "ret = [['symlink', '/from/path', '/to/path']]"),
        ("Reload", "", "", "ret = None"),
    ])
    # our script unit
    main_object.AddMockUnit("adsys-machine-scripts.service")