From d770bea2912e9fe02644183dce424193fe87ab7d Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Mon, 12 Jan 2009 15:33:56 +0000 Subject: Enhanced LoginServiceTests to test for authentication and response Expanded TestUserDataPlugin to cover new methods From: Arthur Rodrigo S Valadares --- OpenSim/Tests/Common/Mock/TestUserDataPlugin.cs | 134 +++++++++++++++++++----- 1 file changed, 108 insertions(+), 26 deletions(-) (limited to 'OpenSim/Tests') diff --git a/OpenSim/Tests/Common/Mock/TestUserDataPlugin.cs b/OpenSim/Tests/Common/Mock/TestUserDataPlugin.cs index 6be7b3d..8dccacc 100644 --- a/OpenSim/Tests/Common/Mock/TestUserDataPlugin.cs +++ b/OpenSim/Tests/Common/Mock/TestUserDataPlugin.cs @@ -38,7 +38,7 @@ namespace OpenSim.Tests.Common.Mock /// tests are single threaded. /// public class TestUserDataPlugin : IUserDataPlugin - { + { public string Version { get { return "0"; } } public string Name { get { return "TestUserDataPlugin"; } } @@ -49,64 +49,146 @@ namespace OpenSim.Tests.Common.Mock /// /// User profiles keyed by uuid - /// + /// private Dictionary m_userProfilesByUuid = new Dictionary(); + /// + /// User profiles and their agents + /// + private Dictionary m_agentByProfileUuid = new Dictionary(); + + /// + /// Friends list by uuid + /// + private Dictionary> m_friendsListByUuid = new Dictionary>(); + public void Initialise() {} public void Dispose() {} - - public void AddNewUserProfile(UserProfileData user) + + public void AddNewUserProfile(UserProfileData user) { UpdateUserProfile(user); } - - public UserProfileData GetUserByUUID(UUID user) + + public UserProfileData GetUserByUUID(UUID user) { UserProfileData userProfile = null; m_userProfilesByUuid.TryGetValue(user, out userProfile); - - return userProfile; + + return userProfile; } - public UserProfileData GetUserByName(string fname, string lname) - { + public UserProfileData GetUserByName(string fname, string lname) + { UserProfileData userProfile = null; m_userProfilesByName.TryGetValue(fname + " " + lname, out userProfile); - + return userProfile; - } + } - public bool UpdateUserProfile(UserProfileData user) - { + public bool UpdateUserProfile(UserProfileData user) + { m_userProfilesByUuid[user.ID] = user; m_userProfilesByName[user.FirstName + " " + user.SurName] = user; - + return true; } public List GeneratePickerResults(UUID queryID, string query) { return null; } - public UserAgentData GetAgentByUUID(UUID user) { return null; } + public UserAgentData GetAgentByUUID(UUID user) + { + UserAgentData userAgent = null; + m_agentByProfileUuid.TryGetValue(user, out userAgent); - public UserAgentData GetAgentByName(string name) { return null; } + return userAgent; + } - public UserAgentData GetAgentByName(string fname, string lname) { return null; } + public UserAgentData GetAgentByName(string name) + { + UserProfileData userProfile = null; + m_userProfilesByName.TryGetValue(name, out userProfile); + UserAgentData userAgent = null; + m_agentByProfileUuid.TryGetValue(userProfile.ID, out userAgent); + + return userAgent; + } + + public UserAgentData GetAgentByName(string fname, string lname) + { + UserProfileData userProfile = GetUserByName(fname,lname); + UserAgentData userAgent = null; + m_agentByProfileUuid.TryGetValue(userProfile.ID, out userAgent); + + return userAgent; + } public void StoreWebLoginKey(UUID agentID, UUID webLoginKey) {} - public void AddNewUserAgent(UserAgentData agent) {} + public void AddNewUserAgent(UserAgentData agent) + { + m_agentByProfileUuid[agent.ProfileID] = agent; + } + public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) + { + FriendListItem newfriend = new FriendListItem(); + newfriend.FriendPerms = perms; + newfriend.Friend = friend; + newfriend.FriendListOwner = friendlistowner; + + if (!m_friendsListByUuid.ContainsKey(friendlistowner)) + { + List friendslist = new List(); + m_friendsListByUuid[friendlistowner] = friendslist; + + } + m_friendsListByUuid[friendlistowner].Add(newfriend); + } - public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) {} - - public void RemoveUserFriend(UUID friendlistowner, UUID friend) {} + public void RemoveUserFriend(UUID friendlistowner, UUID friend) + { + if (m_friendsListByUuid.ContainsKey(friendlistowner)) + { + List friendslist = m_friendsListByUuid[friendlistowner]; + foreach (FriendListItem frienditem in friendslist) + { + if (frienditem.Friend == friend) + { + friendslist.Remove(frienditem); + break; + } + } + } + } - public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) {} + public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) + { + if (m_friendsListByUuid.ContainsKey(friendlistowner)) + { + List friendslist = m_friendsListByUuid[friendlistowner]; + foreach (FriendListItem frienditem in friendslist) + { + if (frienditem.Friend == friend) + { + frienditem.FriendPerms = perms; + break; + } + } + } + } - public List GetUserFriendList(UUID friendlistowner) + public List GetUserFriendList(UUID friendlistowner) { - return new List(); + if (m_friendsListByUuid.ContainsKey(friendlistowner)) + { + return m_friendsListByUuid[friendlistowner]; + } + else + return new List(); + + } - + public Dictionary GetFriendRegionInfos(List uuids) { return null; } public bool MoneyTransferRequest(UUID from, UUID to, uint amount) { return false; } -- cgit v1.1