public void GetUserNameReturnsName() { LoginRequest credentials = new LoginRequest(userName); ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication(); string result = authentication.GetUserName(credentials); Assert.AreEqual(userName, result); }
public void AddCredentialAddsToUnderlyingList() { LoginRequest request = new LoginRequest(); request.AddCredential(LoginRequest.PasswordCredential, "whoami"); string actual = NameValuePair.FindNamedValue(request.Credentials, LoginRequest.PasswordCredential); Assert.AreEqual("whoami", actual); }
public void TestMissingUserName() { UserNameAuthentication authentication = new UserNameAuthentication("janedoe"); LoginRequest credentials = new LoginRequest(); bool isValid = authentication.Authenticate(credentials); Assert.IsFalse(isValid); }
public LoginRequest GenerateCredentials() { string[] settings = SplitSettings(); LoginRequest credentials = new LoginRequest(settings[0]); credentials.AddCredential(LoginRequest.PasswordCredential, settings[1]); return credentials; }
public IResponse Execute(ICruiseRequest cruiseRequest) { Hashtable velocityContext = new Hashtable(); string userName = cruiseRequest.Request.GetText("userName"); string template = @"UserNameLogin.vm"; if (!string.IsNullOrEmpty(userName)) { try { LoginRequest credentials = new LoginRequest(userName); string password = cruiseRequest.Request.GetText("password"); if (!string.IsNullOrEmpty(password)) credentials.AddCredential(LoginRequest.PasswordCredential, password); string sessionToken = farmService.Login(cruiseRequest.ServerName, credentials); if (string.IsNullOrEmpty(sessionToken)) throw new CruiseControlException("Login failed!"); storer.StoreSessionToken(sessionToken); template = "LoggedIn.vm"; } catch (Exception error) { velocityContext["errorMessage"] = error.Message; } } velocityContext["hidePassword"] = hidePassword; return viewGenerator.GenerateView(template, velocityContext); }
public void TestValidUserName() { UserNameAuthentication authentication = new UserNameAuthentication("johndoe"); LoginRequest credentials = new LoginRequest("johndoe"); bool isValid = authentication.Authenticate(credentials); Assert.IsTrue(isValid); }
public void TestMissingUserName() { UserPasswordAuthentication authentication = new UserPasswordAuthentication("johndoe", "iknowyou"); LoginRequest credentials = new LoginRequest(); bool isValid = authentication.Authenticate(credentials); Assert.IsFalse(isValid); }
public void TestIncorrectUserName() { UserPasswordAuthentication authentication = new UserPasswordAuthentication("johndoe", "iknowyou"); LoginRequest credentials = new LoginRequest("janedoe"); credentials.AddCredential(LoginRequest.PasswordCredential, "iknowyou"); bool isValid = authentication.Authenticate(credentials); Assert.IsFalse(isValid); }
public void LoginReturnsUserName() { LoginRequest credentials = new LoginRequest("johndoe"); NullSecurityManager manager = new NullSecurityManager(); manager.Initialise(); string sessionToken = manager.Login(credentials); Assert.AreEqual(NameValuePair.FindNamedValue(credentials.Credentials, LoginRequest.UserNameCredential), sessionToken); }
public void GetDisplayNameReturnsUserName() { string userName = "******"; LoginRequest credentials = new LoginRequest(userName); UserNameAuthentication authentication = new UserNameAuthentication(); string result = authentication.GetDisplayName(credentials); Assert.AreEqual(userName, result); }
public void TestMissingUserName() { //todo pass in a stub/mock ldap service so we can test ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication("janedoe",null); LoginRequest credentials = new LoginRequest(); bool isValid = authentication.Authenticate(credentials); Assert.IsFalse(isValid); }
public void TestValidUserName() { //todo pass in a stub/mock ldap service so we can test ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication(userName, null); authentication.DomainName = domainName; LoginRequest credentials = new LoginRequest(userName); bool isValid = authentication.Authenticate(credentials); Assert.IsTrue(isValid); }
public void InitialiseRequestWithAUsernameSetsCorrectCredential() { LoginRequest request = new LoginRequest("johndoe"); string actual = NameValuePair.FindNamedValue(request.Credentials, LoginRequest.UserNameCredential); Assert.AreEqual("johndoe", actual); var credentials = new List<NameValuePair>(); request.Credentials = credentials; Assert.AreSame(credentials, request.Credentials); }
public void GetDisplayNameReturnsDisplayName() { string displayName = "John Doe"; LoginRequest credentials = new LoginRequest(userName); ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication(); authentication.DomainName = domainName; string result = authentication.GetDisplayName(credentials); Assert.AreEqual(displayName, result); }
public void FindCredentialHandlesMissingCredential() { var request = new LoginRequest(); request.Credentials = new List<NameValuePair> { new NameValuePair("name", "me") }; var credential = request.FindCredential("password"); Assert.IsNull(credential); }
public void ToStringSerialisesDefaultValues() { LoginRequest request = new LoginRequest(); string actual = request.ToString(); string expected = string.Format("<loginMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "timestamp=\"{2:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" source=\"{1}\" />", request.Identifier, request.SourceName, request.Timestamp); Assert.AreEqual(expected, actual); }
public void InvalidLoginReturnsNull() { LoginRequest credentials = new LoginRequest("johndoe"); Expect.Call(authenticationMock.Authenticate(credentials)).Return(false); Expect.Call(authenticationMock.GetUserName(credentials)).Return("johndoe"); mocks.ReplayAll(); manager.Initialise(); string sessionToken = manager.Login(credentials); Assert.IsNull(sessionToken); }
public void FindCredentialFindsExistingCredential() { var request = new LoginRequest(); var password = "******"; request.Credentials = new List<NameValuePair> { new NameValuePair("name", "me"), new NameValuePair("password", password) }; var credential = request.FindCredential("password"); Assert.IsNotNull(credential); Assert.AreEqual(password, credential.Value); }
public void ValidLoginReturnsSessionToken() { LoginRequest credentials = new LoginRequest("johndoe"); Expect.Call(authenticationMock.Authenticate(credentials)).Return(true); Expect.Call(authenticationMock.GetUserName(credentials)).Return("johndoe"); Expect.Call(authenticationMock.GetDisplayName(credentials)).Return("johndoe"); Expect.Call(sessionMock.AddToCache("johndoe")).Return(testSessionToken); Expect.Call(delegate { sessionMock.StoreSessionValue(string.Empty, string.Empty, string.Empty); }) .IgnoreArguments(); mocks.ReplayAll(); manager.Initialise(); string sessionToken = manager.Login(credentials); Assert.AreEqual(testSessionToken, sessionToken); }
public void ToStringSerialisesAllValues() { LoginRequest request = new LoginRequest(); request.Identifier = "identifier"; request.ServerName = "serverName"; request.SessionToken = "sessionToken"; request.SourceName = "sourceName"; request.Timestamp = DateTime.Now; request.AddCredential(LoginRequest.UserNameCredential, "johnDoe"); string actual = request.ToString(); string expected = string.Format("<loginMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "timestamp=\"{4:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" server=\"{1}\" source=\"{2}\" session=\"{3}\">" + "<credential name=\"userName\" value=\"johnDoe\" />" + "</loginMessage>", request.Identifier, request.ServerName, request.SourceName, request.SessionToken, request.Timestamp); Assert.AreEqual(expected, actual); }
public void ValidWildCardLoginReturnsSessionToken() { IAuthentication wildcardMock = mocks.DynamicMock<IAuthentication>(); SetupResult.For(wildcardMock.Identifier).Return("*doe"); manager.Users = new IAuthentication[]{ wildcardMock }; LoginRequest credentials = new LoginRequest("johndoe"); Expect.Call(wildcardMock.Authenticate(credentials)).Return(true); Expect.Call(wildcardMock.GetUserName(credentials)).Return("johndoe"); Expect.Call(wildcardMock.GetDisplayName(credentials)).Return("johndoe"); Expect.Call(sessionMock.AddToCache("johndoe")).Return(testSessionToken); Expect.Call(delegate { sessionMock.StoreSessionValue(string.Empty, string.Empty, string.Empty); }) .IgnoreArguments(); mocks.ReplayAll(); manager.Initialise(); string sessionToken = manager.Login(credentials); Assert.AreEqual(testSessionToken, sessionToken); }
public void UnknownLoginReturnsNull() { LoginRequest credentials = new LoginRequest("janedoe"); mocks.ReplayAll(); manager.Initialise(); string sessionToken = manager.Login(credentials); Assert.IsNull(sessionToken); }
/// <summary> /// Logs a user into the session and generates a session. /// </summary> /// <returns>True if the request is successful, false otherwise.</returns> public override bool Login(List<NameValuePair> Credentials) { SessionToken = null; // Generate the response and send it LoginRequest request = new LoginRequest(); request.Credentials.AddRange(Credentials); request.ServerName = TargetServer; LoginResponse resp = ValidateResponse( connection.SendMessage("Login", request)) as LoginResponse; ValidateResponse(resp); // Check the results if (!string.IsNullOrEmpty(resp.SessionToken)) { SessionToken = resp.SessionToken; return true; } else { return false; } }
public LoginRequest GenerateCredentials() { LoginRequest credentials = new LoginRequest(Environment.UserName); credentials.AddCredential(LoginRequest.DomainCredential, Environment.UserDomainName); return credentials; }
public string Login(string server, LoginRequest credentials) { var manager = GetCruiseManager(GetServerConfiguration(server), null); manager.Login(credentials.Credentials); return manager.SessionToken; }
/// <summary> /// Initialise a secure communications connection. /// </summary> /// <param name="request"></param> /// <returns></returns> public Response InitialiseSecureConnection(LoginRequest request) { // Decrypt the password var cp = new CspParameters(); cp.KeyContainerName = "CruiseControl.NET Server"; var provider = new RSACryptoServiceProvider(cp); var originalKey = request.FindCredential(LoginRequest.UserNameCredential).Value; var decryptedKey = UTF8Encoding.UTF8.GetString( provider.Decrypt(Convert.FromBase64String(originalKey), false)); var originalIv = request.FindCredential(LoginRequest.PasswordCredential).Value; var decryptedIv = UTF8Encoding.UTF8.GetString( provider.Decrypt(Convert.FromBase64String(originalIv), false)); // Generate the connection details var connection = new SecureConnection { Expiry = DateTime.Now.AddMinutes(15), IV = Convert.FromBase64String(decryptedIv), Key = Convert.FromBase64String(decryptedKey) }; connections[request.SourceName] = connection; // Generate a response var response = new Response(request); response.Result = ResponseResult.Success; return response; }
/// <summary> /// Logs a user into the session and generates a session. /// </summary> /// <param name="request"></param> /// <returns></returns> public LoginResponse Login(LoginRequest request) { return cruiseServer.Login(request); }
/// <summary> /// Logs a user into the session and generates a session. /// </summary> /// <param name="request"></param> /// <returns></returns> public virtual LoginResponse Login(LoginRequest request) { string sessionToken = null; LoginResponse response = new LoginResponse(RunServerRequest(request, null, null, delegate { sessionToken = securityManager.Login(request); })); response.SessionToken = sessionToken; return response; }
/// <summary> /// Retrieves the display name from the credentials. /// </summary> /// <param name="credentials">The credentials.</param> /// <returns>The name of the user from the credentials. If the credentials do not exist in the system /// then null will be returned.</returns> public string GetDisplayName(LoginRequest credentials) { string nameToReturn = displayName; if (string.IsNullOrEmpty(displayName)) nameToReturn = GetUserName(credentials); return nameToReturn; }
/// <summary> /// Retrieves the user name from the credentials. /// </summary> /// <param name="credentials">The credentials.</param> /// <returns>The name of the user from the credentials. If the credentials not not exist in the system /// then null will be returned.</returns> public string GetUserName(LoginRequest credentials) { string userName = NameValuePair.FindNamedValue(credentials.Credentials, LoginRequest.UserNameCredential); return userName; }