def METHOD_NAME(mocker: MockerFixture, replicate_obj: replicate.Replicate):
    """
    Test that asserts that the replicate_data subroutine works as expected.
    """
    # Arrange
    remote_mock = mocker.MagicMock()
    remote_mock.get_settings.return_value = {"webdir": "/srv/www/cobbler"}  # type: ignore
    remote_mock.get_items.return_value = {}  # type: ignore
    replicate_obj.remote = remote_mock
    local_mock = mocker.MagicMock(return_value={"webdir": "/srv/www/cobbler"})
    local_mock.get_items.return_value = {}  # type: ignore
    replicate_obj.local = local_mock
    rsync_mock = mocker.patch.object(replicate_obj, "rsync_it")
    expected_rsync_it_calls = [
        mocker.call("cobbler-distros/config/", "/srv/www/cobbler/distro_mirror/config"),
        mocker.call("cobbler-templates", "/var/lib/cobbler/templates"),
        mocker.call("cobbler-snippets", "/var/lib/cobbler/snippets"),
        mocker.call("cobbler-triggers", "/var/lib/cobbler/triggers"),
        mocker.call("cobbler-scripts", "/var/lib/cobbler/scripts"),
    ]
    not_on_local_mock = mocker.patch.object(replicate_obj, "add_objects_not_on_local")
    newer_on_remote_mock = mocker.patch.object(
        replicate_obj, "replace_objects_newer_on_remote"
    )
    print(remote_mock.get_settings())  # type: ignore
    print(remote_mock.get_items())  # type: ignore
    print(local_mock.get_items())  # type: ignore
    # Act
    replicate_obj.replicate_data()
    # Assert
    assert rsync_mock.mock_calls == expected_rsync_it_calls
    assert not_on_local_mock.call_count == len(replicate.OBJ_TYPES)
    assert newer_on_remote_mock.call_count == len(replicate.OBJ_TYPES)