public async Task AcceptAllowedCallersArray(string allowedCallerClaimId, IList <string> allowList)
        {
            var validator = new AllowedSkillsClaimsValidator(allowList);

            if (allowedCallerClaimId != null)
            {
                var claims = CreateCallerClaims(allowedCallerClaimId);

                if (allowList != null)
                {
                    if (allowList.Contains(allowedCallerClaimId) || allowList.Contains("*"))
                    {
                        await validator.ValidateClaimsAsync(claims);
                    }
                    else
                    {
                        await ValidateUnauthorizedAccessException(allowedCallerClaimId, validator, claims);
                    }
                }
                else
                {
                    await ValidateUnauthorizedAccessException(allowedCallerClaimId, validator, claims);
                }
            }
        }
        private static async Task ValidateUnauthorizedAccessException(string allowedCallerClaimId, AllowedSkillsClaimsValidator validator, List <Claim> claims)
        {
            Exception ex = await Assert.ThrowsAsync <UnauthorizedAccessException>(() => validator.ValidateClaimsAsync(claims));

            Assert.Contains(allowedCallerClaimId, ex.Message);
        }