public void TestRequirementMissing() { var request = new LoginRequest14sp4(); var results = Validator.Validate(request); Assert.False(results.Success); Assert.IsType <FieldNotSetError>(results.Errors.Single()); }
public void TestMaxLengthSuccess() { var request = new LoginRequest14sp4() { UserId = new String('a', 161) }; var results = Validator.Validate(request); Assert.True(results.Success); }
public void TestMinLengthSuccess() { var request = new LoginRequest14sp4() { UserId = "a" }; var results = Validator.Validate(request); Assert.True(results.Success); }
public void TestRequirementMet() { var request = new LoginRequest14sp4() { UserId = "test" }; var results = Validator.Validate(request); Assert.True(results.Success); }
public void TestMaxLengthFailure() { var request = new LoginRequest14sp4() { UserId = new String('a', 162) }; var results = Validator.Validate(request); Assert.False(results.Success); Assert.IsType <MaxLengthError>(results.Errors.Single()); }
/// <summary> /// Perform login via V14 method /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> private async Task <UserDetails> Login14Async(CancellationToken cancellationToken = default) { var authRequest = new AuthenticationRequest { UserId = _username }; var authResponse = (await ExecuteCommandsAsync(new AuthenticationRequest[] { authRequest }, cancellationToken).ConfigureAwait(false)).First() as AuthenticationResponse; string signedPassword = null; if (authResponse.PasswordAlgorithm == DigitalSignatureAlgorithm.MD5) { signedPassword = Md5($"{authResponse.Nonce}:{Sha1(_password)}"); } else { throw new LoginException("Only MD5 supported for signing"); } var loginRequest = new LoginRequest14sp4 { UserId = _username, SignedPassword = signedPassword }; var loginResponse = (await ExecuteCommandsAsync(new LoginRequest14sp4[] { loginRequest }, cancellationToken).ConfigureAwait(false)).First() as LoginResponse14sp4; return(new UserDetails { LoginType = loginResponse.LoginType.ToString(), Locale = loginResponse.Locale, Encoding = loginResponse.Encoding, GroupId = loginResponse.GroupId, ServiceProviderId = loginResponse.ServiceProviderId, IsEnterprise = loginResponse.IsEnterprise, PasswordExpiresDays = loginResponse.PasswordExpiresDays, UserDomain = loginResponse.UserDomain }); }