def METHOD_NAME(self, backend):
    serial_number = 333
    revocation_date = datetime.datetime(2002, 1, 1, 12, 1)
    invalidity_date = x509.InvalidityDate(
        datetime.datetime(2015, 1, 1, 0, 0)
    )
    certificate_issuer = x509.CertificateIssuer(
        [x509.DNSName("cryptography.io")]
    )
    crl_reason = x509.CRLReason(x509.ReasonFlags.aa_compromise)
    builder = (
        x509.RevokedCertificateBuilder()
        .serial_number(serial_number)
        .revocation_date(revocation_date)
        .add_extension(invalidity_date, True)
        .add_extension(crl_reason, True)
        .add_extension(certificate_issuer, True)
    )
    revoked_certificate = builder.build(backend)
    assert len(revoked_certificate.extensions) == 3
    for ext_data in [invalidity_date, certificate_issuer, crl_reason]:
        ext = revoked_certificate.extensions.get_extension_for_class(
            type(ext_data)
        )
        assert ext.critical is True
        assert ext.value == ext_data