@ParameterizedTest
    @EnumSource(OidcBackchannelTokenDeliveryModes.class)
    void verifyOperation(final OidcBackchannelTokenDeliveryModes mode) throws Throwable {
        val registeredService = getOidcRegisteredService(UUID.randomUUID().toString());
        registeredService.setBackchannelTokenDeliveryMode(mode.getMode());
        registeredService.setSupportedGrantTypes(Set.of(OAuth20GrantTypes.CIBA.getType()));
        registeredService.setBackchannelClientNotificationEndpoint("https://localhost:1234");
        servicesManager.save(registeredService);

        val principal = RegisteredServiceTestUtils.getPrincipal(UUID.randomUUID().toString());
        val cibaRequest = newCibaRequest(registeredService, principal);

        val request = new MockHttpServletRequest();
        request.addParameter(OAuth20Constants.CLIENT_ID, registeredService.getClientId());
        request.addParameter(OAuth20Constants.GRANT_TYPE, OAuth20GrantTypes.CIBA.getType());
        request.addParameter(OidcConstants.AUTH_REQ_ID, cibaRequest.getEncodedId());

        val context = new JEEContext(request, new MockHttpServletResponse());
        assertTrue(oidcAccessTokenCibaGrantRequestValidator.supports(context));

        val profile = new CommonProfile();
        profile.setClientName(Authenticators.CAS_OAUTH_CLIENT_BASIC_AUTHN);
        profile.setId(registeredService.getClientId());
        profile.addAttribute(OAuth20Constants.CLIENT_ID, registeredService.getClientId());

        val profileManager = new ProfileManager(context, oauthDistributedSessionStore);
        profileManager.save(true, profile, false);

        assertFalse(oidcAccessTokenCibaGrantRequestValidator.validate(context));
        ticketRegistry.updateTicket(cibaRequest.markTicketReady());
        assertEquals(mode != OidcBackchannelTokenDeliveryModes.PUSH, oidcAccessTokenCibaGrantRequestValidator.validate(context));
    }
This is {@link OidcAccessTokenCibaGrantRequestValidatorTests}.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-oidc/src/test/java/org/apereo/cas/oidc/token/ciba/OidcAccessTokenCibaGrantRequestValidatorTests.java