예제 #1
0
        public void VerifyPhoneTokenUsingVoiceEndpoint()
        {
            var phoneCredential    = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber, new KeyValuePair <string, string>("phonecall", "true"));
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <PhoneFeatureType>(phoneCredential.TokenRequestId.Value, phoneCredential.TokenDetails.VerificationToken);

            Assert.IsTrue(verificationResult.Success);
        }
예제 #2
0
        public void TryAndPassInvalidNewAccountValidationCode()
        {
            var phoneCredential    = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <PhoneFeatureType>(phoneCredential.TokenRequestId.Value, Guid.NewGuid().ToString().Substring(0, 6));

            Assert.IsFalse(verificationResult.Success);
        }
예제 #3
0
        public void GetErrorWhenCreatingDuplicateCredentials()
        {
            var phoneCredential    = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);
            var phoneCredentialTwo = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);

            Assert.IsFalse(phoneCredentialTwo.IsSuccess);
        }
예제 #4
0
        public void VerifyEmailToken()
        {
            var emailCredential    = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <EmailFeatureType>(emailCredential.TokenRequestId.Value, emailCredential.TokenDetails.VerificationToken);

            Assert.IsTrue(verificationResult.Success);
        }
예제 #5
0
        public void VerifyTokenWorksWithMultiplePendingRequests()
        {
            var emailCredential    = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <EmailFeatureType>(emailCredential.TokenRequestId.Value, emailCredential.TokenDetails.VerificationToken);

            Assert.IsTrue(verificationResult.Success);

            var totalCredentialsCreated            = 0;
            var tokenRequestPos                    = new Random().Next(25, 75);
            FactorsTokenRequestResult tokenRequest = null;

            while (totalCredentialsCreated < 100 || tokenRequest == null)
            {
                totalCredentialsCreated++;

                if (totalCredentialsCreated == tokenRequestPos)
                {
                    tokenRequest = Factors.ForUser(_userAccount).BeginTokenRequest <EmailFeatureType>(_userEmailAddress);
                }
                else
                {
                    Factors.ForUser(_userAccount).BeginTokenRequest <EmailFeatureType>(_userEmailAddress);
                }
            }

            var tokenResult = Factors.ForUser(_userAccount).VerifyToken <EmailFeatureType>(tokenRequest.TokenRequestId.Value, tokenRequest.TokenDetails.VerificationToken);

            Assert.IsTrue(tokenResult.Success);
        }
예제 #6
0
        public void GetErrorWhenCreatingDuplicateCredentials()
        {
            var emailCredential    = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);
            var emailCredentialTwo = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);

            Assert.IsFalse(emailCredentialTwo.IsSuccess);
        }
예제 #7
0
        public void VerifyEmailAccountIsNotValidated()
        {
            var emailCredential = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);
            var accounts        = Factors.ForUser(_userAccount).ListUnverifiedAccounts <EmailFeatureType>();

            Assert.IsTrue(accounts.Count() > 0);
        }
예제 #8
0
        public void VerifyPhoneToken()
        {
            var phoneCredential    = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <PhoneFeatureType>(phoneCredential.TokenRequestId.Value, phoneCredential.TokenDetails.VerificationToken);

            Assert.IsTrue(verificationResult.Success);
        }
예제 #9
0
        public void VerifyPhoneAccountIsNotValidated()
        {
            var phoneCredential = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);
            var accounts        = Factors.ForUser(_userAccount).ListUnverifiedAccounts <PhoneFeatureType>();

            Assert.IsTrue(accounts.Count() > 0);
        }
예제 #10
0
        public void CreatePhoneCredential()
        {
            var phoneCredential = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);

            Assert.IsNotNull(phoneCredential);
            Assert.IsTrue(phoneCredential.IsSuccess);
            Assert.IsNotNull(phoneCredential.TokenDetails);
        }
예제 #11
0
        public void CreateEmailCredential()
        {
            var emailCredential = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);

            Assert.IsNotNull(emailCredential);
            Assert.IsTrue(emailCredential.IsSuccess);
            Assert.IsNotNull(emailCredential.TokenDetails);
        }
예제 #12
0
        public void VerifyEmailAccountIsValidated()
        {
            var emailCredential    = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <EmailFeatureType>(emailCredential.TokenRequestId.Value, emailCredential.TokenDetails.VerificationToken);

            var accounts = Factors.ForUser(_userAccount).ListVerifiedAccounts <EmailFeatureType>();

            Assert.IsTrue(accounts.Count() > 0);
        }
예제 #13
0
        public void VerifyPhoneAccountIsValidated()
        {
            var phoneCredential    = Factors.ForUser(_userAccount).CreateCredential <PhoneFeatureType>(_userPhoneNumber);
            var verificationResult = Factors.ForUser(_userAccount).VerifyToken <PhoneFeatureType>(phoneCredential.TokenRequestId.Value, phoneCredential.TokenDetails.VerificationToken);

            var accounts = Factors.ForUser(_userAccount).ListVerifiedAccounts <PhoneFeatureType>();

            Assert.IsTrue(accounts.Count() > 0);
        }
예제 #14
0
        public void VerifyTokenHasNoNumbers()
        {
            var emailCredential = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);

            Assert.IsNotNull(emailCredential);
            Assert.IsTrue(emailCredential.IsSuccess);
            Assert.IsNotNull(emailCredential.TokenDetails);

            Assert.IsTrue(Regex.IsMatch(emailCredential.TokenDetails.VerificationToken, @"^[a-zA-Z]+$"));
        }
예제 #15
0
        public void VerifyTokenIsNumber()
        {
            var emailCredential = Factors.ForUser(_userAccount).CreateCredential <EmailFeatureType>(_userEmailAddress);

            Assert.IsNotNull(emailCredential);
            Assert.IsTrue(emailCredential.IsSuccess);
            Assert.IsNotNull(emailCredential.TokenDetails);

            Assert.IsTrue(Int32.TryParse(emailCredential.TokenDetails.VerificationToken, out int testTokenValue));
        }
예제 #16
0
 public void VerifyInitalization()
 {
     Assert.IsNotNull(Factors.ForUser(_userAccount));
 }
예제 #17
0
 public void VerifyIsInitalized()
 {
     Assert.IsTrue(!String.IsNullOrWhiteSpace(Factors.ForUser(_userAccount).UserAccount));
 }