@Test
    void verifyNameIdOperation() throws Throwable {
        val samlRegisteredService = SamlIdPTestUtils.getSamlRegisteredService();
        samlRegisteredService.setWhiteListBlackListPrecedence("INCLUDE");
        samlRegisteredService.setSigningKeyAlgorithm("RSA");
        samlRegisteredService.setSigningSignatureCanonicalizationAlgorithm("http://www.w3.org/2001/10/xml-exc-c14n#");
        samlRegisteredService.setUsernameAttributeProvider(
            new PrincipalAttributeRegisteredServiceUsernameProvider("email"));

        val logoutRequest = DefaultSingleLogoutRequestContext.builder()
            .logoutUrl(new URI("https://sp.example.org/slo").toURL())
            .registeredService(samlRegisteredService)
            .service(RegisteredServiceTestUtils.getService("https://sp.testshib.org/shibboleth-sp"))
            .ticketId("ST-123456789")
            .executionRequest(SingleLogoutExecutionRequest.builder()
                .ticketGrantingTicket(
                    new MockTicketGrantingTicket("casuser",
                        Map.of("email", "casuser@example.org"))).build())
            .logoutType(RegisteredServiceLogoutType.BACK_CHANNEL)
            .properties(CollectionUtils.wrap(
                SamlIdPSingleLogoutServiceLogoutUrlBuilder.PROPERTY_NAME_SINGLE_LOGOUT_BINDING,
                SAMLConstants.SAML2_POST_BINDING_URI))
            .build();

        val result = samlLogoutBuilder.create(logoutRequest);
        assertNotNull(result);
        assertTrue(result.getPayload().contains("casuser@example.org"));
    }
This is {@link SamlIdPProfileSingleLogoutMessageCreatorTests}.

@author Misagh Moayyed
@since 6.0.0
support/cas-server-support-saml-idp/src/test/java/org/apereo/cas/support/saml/services/logout/SamlIdPProfileSingleLogoutMessageCreatorTests.java