public async Task VstsAadNoninteractiveLogonTest()
        {
            TargetUri         targetUri         = DefaultTargetUri;
            AadAuthentication aadAuthentication = GetVstsAadAuthentication(RuntimeContext.Default, "aad-noninteractive");

            Assert.NotNull(await aadAuthentication.NoninteractiveLogon(targetUri, new PersonalAccessTokenOptions {
                RequireCompactToken = false
            }));

            Assert.NotNull(await aadAuthentication.PersonalAccessTokenStore.ReadCredentials(targetUri));
        }
        public async Task VstsAadGetCredentialsTest()
        {
            TargetUri         targetUri         = DefaultTargetUri;
            AadAuthentication aadAuthentication = GetVstsAadAuthentication(RuntimeContext.Default, "aad-get");

            Assert.Null(await aadAuthentication.GetCredentials(targetUri));

            await aadAuthentication.PersonalAccessTokenStore.WriteCredentials(targetUri, DefaultPersonalAccessToken);

            Assert.NotNull(await aadAuthentication.GetCredentials(targetUri));
        }
        public async Task VstsAadValidateCredentialsTest()
        {
            AadAuthentication aadAuthentication = GetVstsAadAuthentication(RuntimeContext.Default, "aad-validate");
            Credential        credentials       = null;

            Assert.False(await aadAuthentication.ValidateCredentials(DefaultTargetUri, credentials), "Credential validation unexpectedly failed.");

            credentials = DefaultCredentials;

            Assert.True(await aadAuthentication.ValidateCredentials(DefaultTargetUri, credentials), "Credential validation unexpectedly failed.");
        }
        public async Task VstsAadSetCredentialsTest()
        {
            TargetUri         targetUri         = DefaultTargetUri;
            AadAuthentication aadAuthentication = GetVstsAadAuthentication(RuntimeContext.Default, "aad-set");
            Credential        credentials       = DefaultCredentials;

            await aadAuthentication.SetCredentials(targetUri, credentials);

            Assert.Null(await aadAuthentication.PersonalAccessTokenStore.ReadCredentials(targetUri));
            Assert.Null(credentials = await aadAuthentication.GetCredentials(targetUri));
        }
        public async Task VstsAadDeleteCredentialsTest()
        {
            TargetUri         targetUri         = DefaultTargetUri;
            AadAuthentication aadAuthentication = GetVstsAadAuthentication(RuntimeContext.Default, "aad-delete");

            if (aadAuthentication.Authority is AuthorityFake fake)
            {
                fake.CredentialsAreValid = false;
            }

            await aadAuthentication.PersonalAccessTokenStore.WriteCredentials(targetUri, DefaultPersonalAccessToken);

            await aadAuthentication.DeleteCredentials(targetUri);

            Assert.Null(await aadAuthentication.PersonalAccessTokenStore.ReadCredentials(targetUri));

            await aadAuthentication.DeleteCredentials(targetUri);

            Assert.Null(await aadAuthentication.PersonalAccessTokenStore.ReadCredentials(targetUri));
        }