def METHOD_NAME(
    upload_advisory_factory,
    assert_uploaded_advisory,
    rpm_repository_factory,
):
    """
    Test that upload-fail doesn't break all future uploads.
    See https://pulp.plan.io/issues/8683 for details.
    """
    # Upload an advisory
    repo = rpm_repository_factory()
    _, vers_href, id1 = upload_advisory_factory(
        advisory=CESA_2020_5002, repository=repo, set_id=True
    )
    assert_uploaded_advisory(id1, vers_href)
    # Try to upload it 'again' and watch it fail
    with pytest.raises(PulpTaskError):
        _, _, _ = upload_advisory_factory(advisory=CESA_2020_5002, repository=repo, use_id=id1)
    # Upload a different advisory and Don't Fail
    advisory3, _, id2 = upload_advisory_factory(
        advisory=CESA_2020_4910, repository=repo, set_id=True
    )
    assert id2 == advisory3.id