@Test
    void verifyOperation() {
        val builder = new ChainingSingleLogoutServiceLogoutUrlBuilder(
            List.of(new DefaultSingleLogoutServiceLogoutUrlBuilder(servicesManager, SimpleUrlValidator.getInstance())));
        val service = CoreAuthenticationTestUtils.getWebApplicationService();
        val registeredService = mock(CasRegisteredService.class);
        when(registeredService.matches(any(Service.class))).thenReturn(Boolean.TRUE);
        when(registeredService.getFriendlyName()).thenCallRealMethod();
        when(registeredService.getServiceId()).thenReturn(CoreAuthenticationTestUtils.CONST_TEST_URL);
        when(registeredService.matches(anyString())).thenReturn(Boolean.TRUE);
        when(registeredService.getAccessStrategy()).thenReturn(new DefaultRegisteredServiceAccessStrategy());
        when(registeredService.getLogoutUrl()).thenReturn("https://somewhere.org");
        when(registeredService.getName()).thenReturn(UUID.randomUUID().toString());
        servicesManager.save(registeredService);

        assertTrue(builder.supports(registeredService, service, Optional.empty()));
        assertTrue(builder.isServiceAuthorized(service, Optional.empty(), Optional.empty()));
        assertFalse(builder.determineLogoutUrl(registeredService, service, Optional.empty()).isEmpty());
    }
This is {@link ChainingSingleLogoutServiceLogoutUrlBuilderTests}.

@author Misagh Moayyed
@since 6.3.0
core/cas-server-core-logout/src/test/java/org/apereo/cas/logout/ChainingSingleLogoutServiceLogoutUrlBuilderTests.java