async def METHOD_NAME(mocker):
    """``main`` calls ``sync_main`` with ``async_main`` and ``default_config``.
    This function is async because we have an async helper function inside.
    """
    calls = []
    config = {"a": "b"}
    def fake_main(*args, **kwargs):
        calls.append([args, kwargs])
    def fake_config():
        return config
    async def fake_async_main(*args, **kwargs):
        pass
    mocker.patch.object(script, "sync_main", new=fake_main)
    mocker.patch.object(script, "async_main", new=fake_async_main)
    mocker.patch.object(script, "get_default_config", new=fake_config)
    script.main()
    assert calls == [[(fake_async_main,), {"default_config": config}]]