public static Stream<Arguments> getTestParameters() {
        val params = new ArrayList<Arguments>();
        val defaultPolicy = new ThresholdExpiredCRLRevocationPolicy(0);
        val zeroThresholdPolicy = new ThresholdExpiredCRLRevocationPolicy(0);

        /*
         * Test case #0
         * Valid certificate on valid CRL data with encoded url
         */
        var cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, defaultPolicy, null),
            new String[]{"uservalid-encoded-crl.crt"},
            "test ca.crl",
            null
        ));

        /*
         * Test case #1
         * Valid certificate on valid CRL data
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, defaultPolicy, null, true),
            new String[]{"user-valid-distcrl.crt"},
            "userCA-valid.crl",
            null
        ));


        /* Test case #2
         * Revoked certificate on valid CRL data
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, defaultPolicy, null),
            new String[]{"user-revoked-distcrl.crt"},
            "userCA-valid.crl",
            new RevokedCertificateException(ZonedDateTime.now(ZoneOffset.UTC), new BigInteger("1"))
        ));

        /* Test case #3
         * Valid certificate on expired CRL data
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, zeroThresholdPolicy, null),
            new String[]{"user-valid-distcrl.crt"},
            "userCA-expired.crl",
            new ExpiredCRLException("test", ZonedDateTime.now(ZoneOffset.UTC))
        ));

        /* Test case #4
         * Valid certificate on expired CRL data with custom expiration
         * policy to always allow expired CRL data
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, crl -> {
            }, null),
            new String[]{"user-valid-distcrl.crt"},
            "userCA-expired.crl",
            null
        ));

        /* Test case #5
         * Valid certificate with no CRL distribution points defined but with
         * "AllowRevocationPolicy" set to allow unavailable CRL data
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, defaultPolicy, new AllowRevocationPolicy()),
            new String[]{"user-valid.crt"},
            "userCA-expired.crl",
            null
        ));

        /* Test case #6
         * EJBCA test case
         * Revoked certificate with CRL distribution point URI that is technically
         * not a valid URI since the issuer DN in the query string is not encoded per
         * the escaping of reserved characters in RFC 2396.
         * Make sure we can convert given URI to valid URI and confirm it's revoked
         */
        cache = getCache();
        params.add(arguments(
            new CRLDistributionPointRevocationChecker(cache, defaultPolicy, null),
            new String[]{"user-revoked-distcrl2.crt"},
            "userCA-valid.crl",
            new RevokedCertificateException(ZonedDateTime.now(ZoneOffset.UTC), new BigInteger("1"))
        ));

        return params.stream();
    }
Gets the unit test parameters.

@return Test parameter data.
support/cas-server-support-x509-core/src/test/java/org/apereo/cas/adaptors/x509/authentication/handler/support/CRLDistributionPointRevocationCheckerTests.java