public static Stream<Arguments> getTestParameters() {
        val now = ZonedDateTime.now(ZoneOffset.UTC);
        val twoHoursAgo = now.minusHours(2);
        val oneHourAgo = now.minusHours(1);
        val halfHourAgo = now.minusMinutes(30);
        val issuer = new X500Principal("CN=CAS");

        return Stream.of(
            /* Test case #1
             * Expect expired for zero leniency on CRL expiring 1ms ago
             */
            arguments(
                new ThresholdExpiredCRLRevocationPolicy(0),
                new MockX509CRL(issuer, DateTimeUtils.dateOf(oneHourAgo), DateTimeUtils.dateOf(now.minusSeconds(1))),
                new ExpiredCRLException("CN=CAS", ZonedDateTime.now(ZoneOffset.UTC))
            ),

            /* Test case #2
             * Expect expired for 1h leniency on CRL expired 1 hour 1ms ago
             */
            arguments(
                new ThresholdExpiredCRLRevocationPolicy(3600),
                new MockX509CRL(issuer, DateTimeUtils.dateOf(twoHoursAgo), DateTimeUtils.dateOf(oneHourAgo.minusSeconds(1))),
                new ExpiredCRLException("CN=CAS", ZonedDateTime.now(ZoneOffset.UTC))
            ),

            /* Test case #3
             * Expect valid for 1h leniency on CRL expired 30m ago
             */
            arguments(
                new ThresholdExpiredCRLRevocationPolicy(3600),
                new MockX509CRL(issuer, DateTimeUtils.dateOf(twoHoursAgo), DateTimeUtils.dateOf(halfHourAgo)),
                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/ThresholdExpiredCRLRevocationPolicyTests.java