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

        return Stream.of(
            arguments(
                new ResourceCRLRevocationChecker(mock(CRLFetcher.class), List.of(new ClassPathResource("userCA-valid.crl")), 1),
                new String[]{"user-valid.crt"},
                new GeneralSecurityException("Unknown CRL")
            ),

            /*
             * Test case #1
             * Valid certificate on valid CRL data
             */
            arguments(
                new ResourceCRLRevocationChecker(new ClassPathResource[]{
                    new ClassPathResource("userCA-valid.crl"),
                }, zeroThresholdPolicy),
                new String[]{"user-valid.crt"},
                null
            ),

            /*
             * Test case #2
             * Revoked certificate on valid CRL data
             */
            arguments(
                new ResourceCRLRevocationChecker(new ClassPathResource[]{
                    new ClassPathResource("userCA-valid.crl"),
                    new ClassPathResource("intermediateCA-valid.crl"),
                    new ClassPathResource("rootCA-valid.crl"),
                }, zeroThresholdPolicy),
                new String[]{"user-revoked.crt", "userCA.crt", "intermediateCA.crt", "rootCA.crt"},
                new RevokedCertificateException(ZonedDateTime.now(ZoneOffset.UTC), new BigInteger("1"))
            ),

            /*
             * Test case #3
             * Valid certificate on expired CRL data for head cert
             */
            arguments(
                new ResourceCRLRevocationChecker(new ClassPathResource[]{
                    new ClassPathResource("userCA-expired.crl"),
                    new ClassPathResource("intermediateCA-valid.crl"),
                    new ClassPathResource("rootCA-valid.crl"),
                }, zeroThresholdPolicy),
                new String[]{"user-valid.crt", "userCA.crt", "intermediateCA.crt", "rootCA.crt"},
                new ExpiredCRLException("test", ZonedDateTime.now(ZoneOffset.UTC), 1)
            ),

            /*
             * Test case #4: Valid certificate on expired CRL data for intermediate cert
             */
            arguments(
                new ResourceCRLRevocationChecker(new ClassPathResource[]{
                    new ClassPathResource("userCA-valid.crl"),
                    new ClassPathResource("intermediateCA-expired.crl"),
                    new ClassPathResource("rootCA-valid.crl"),
                }, zeroThresholdPolicy),
                new String[]{"user-valid.crt", "userCA.crt", "intermediateCA.crt", "rootCA.crt"},
                new ExpiredCRLException("test", ZonedDateTime.now(ZoneOffset.UTC))
            ),

            /*
             * Test case #5
             * Valid certificate on expired CRL data with custom expiration
             * policy to always allow expired CRL data
             */
            arguments(
                new ResourceCRLRevocationChecker(new ClassPathResource[]{
                    new ClassPathResource("userCA-expired.crl"),
                }, crl -> {
                }),
                new String[]{"user-valid.crt"},
                null
            )
        );
    }
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/ResourceCRLRevocationCheckerTests.java