@Test
    void verifyOperation() throws Throwable {
        val tgt = new MockTicketGrantingTicket("casuser");
        ticketRegistry.addTicket(tgt);
        val listOfTickets = new ArrayList<Ticket>();
        val service = RegisteredServiceTestUtils.getService();
        for (var i = 0; i < 5; i++) {
            val st = tgt.grantServiceTicket(service, TicketTrackingPolicy.noOp());
            listOfTickets.add(ticketRegistry.addTicket(st));
        }
        ticketRegistry.updateTicket(tgt);

        listOfTickets.forEach(st -> {
            assertNull(descendantTicketsTrackingPolicy.trackTicket(st, st));
            val trackedEntry = descendantTicketsTrackingPolicy.trackTicket(tgt, st);
            assertNotNull(trackedEntry);
            assertNotNull(descendantTicketsTrackingPolicy.extractTicket(trackedEntry));
        });

        val count = descendantTicketsTrackingPolicy.countTicketsFor(tgt, service);
        assertEquals(5, count);

        descendantTicketsLogoutPostProcessor.handle(tgt);
        listOfTickets.forEach(st -> assertNull(ticketRegistry.getTicket(st.getId())));
        assertNotNull(ticketRegistry.getTicket(tgt.getId()));
    }
This is {@link DescendantTicketsLogoutPostProcessorTests}.

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