@Test
    void verifyOperation() throws Throwable {
        val policy = new OidcAssuranceScopeAttributeReleasePolicy();
        assertEquals(OidcConstants.StandardScopes.ASSURANCE.getScope(), policy.getScopeType());
        assertNotNull(policy.getAllowedAttributes());
        val attributes = CollectionUtils.<String, List<Object>>wrap("birth_family_name", List.of("Johnson"),
            "title", List.of("MRS"), "place_of_birth", List.of("London"));
        val principal = CoreAuthenticationTestUtils.getPrincipal(UUID.randomUUID().toString(), attributes);

        val registeredService = getOidcRegisteredService(UUID.randomUUID().toString(), randomServiceUrl());
        registeredService.setAttributeReleasePolicy(policy);
        servicesManager.save(registeredService);
        
        val releasePolicyContext = RegisteredServiceAttributeReleasePolicyContext.builder()
            .registeredService(registeredService)
            .service(CoreAuthenticationTestUtils.getService())
            .principal(principal)
            .applicationContext(applicationContext)
            .build();
        val attrs = policy.getAttributes(releasePolicyContext);
        assertTrue(principal.getAttributes().keySet().stream().allMatch(attrs::containsKey));
    }
This is {@link OidcAssuranceScopeAttributeReleasePolicyTests}.

@author Misagh Moayyed
@since 7.0.0
support/cas-server-support-oidc/src/test/java/org/apereo/cas/oidc/claims/OidcAssuranceScopeAttributeReleasePolicyTests.java