@Test
        void verifyAuthenticateTwiceWithRenew() throws Throwable {
            val cas = getCentralAuthenticationService();
            val svc = getService("testDefault");
            val ctx = CoreAuthenticationTestUtils.getAuthenticationResult(getAuthenticationSystemSupport(), svc);
            val tgtId = cas.createTicketGrantingTicket(ctx);
            cas.grantServiceTicket(tgtId.getId(), svc, ctx);
            val st2Id = cas.grantServiceTicket(tgtId.getId(), svc, ctx);
            val assertion = cas.validateServiceTicket(st2Id.getId(), svc);
            val validationSpecification = new DefaultCasProtocolValidationSpecification(mock(ServicesManager.class), input -> true);
            assertTrue(validationSpecification.isSatisfiedBy(assertion, new MockHttpServletRequest()));
        }
This test simulates :
- a first authentication for a default service
- a second authentication with the renew parameter and the same service (and same credentials)
- a validation of the second ticket.
When supplemental authentications were returned with the chained authentications, the validation specification
failed as it only expects one authentication. Thus supplemental authentications should not be returned in the
chained authentications. Both concepts are orthogonal.
core/cas-server-core/src/test/java/org/apereo/cas/DefaultCentralAuthenticationServiceTests.java