3 using System.Web.Security;
4 using System.Collections.Specialized;
7 namespace MonoTests.SystemWeb.Framework
9 public sealed class FakeMembershipProvider : MembershipProvider
11 public bool requiresQuestionAndAnswer = true;
13 public override void Initialize (string name, NameValueCollection config)
15 base.Initialize (name, config);
18 public override string ApplicationName
24 public override bool EnablePasswordReset
30 public override bool EnablePasswordRetrieval
36 public override bool RequiresQuestionAndAnswer
38 get { return requiresQuestionAndAnswer; }
42 public override bool RequiresUniqueEmail
48 public override int MaxInvalidPasswordAttempts
54 public override int PasswordAttemptWindow
60 public override MembershipPasswordFormat PasswordFormat
62 get { return MembershipPasswordFormat.Clear; }
65 public override int MinRequiredNonAlphanumericCharacters
70 public override int MinRequiredPasswordLength
75 public override string PasswordStrengthRegularExpression
80 public override bool ChangePassword (string username, string oldPwd, string newPwd)
82 if (username == "WrongUser")
87 public override bool ChangePasswordQuestionAndAnswer (string username,
89 string newPwdQuestion,
95 public override MembershipUser CreateUser (string username,
98 string passwordQuestion,
99 string passwordAnswer,
101 object providerUserKey,
102 out MembershipCreateStatus status)
105 if (username == "duplicate") {
106 status = MembershipCreateStatus.DuplicateUserName;
110 if (username == "incorrect") {
111 status = MembershipCreateStatus.InvalidUserName;
115 if (password == "incorrect") {
116 status = MembershipCreateStatus.InvalidPassword;
120 if (email == "incorrect") {
121 status = MembershipCreateStatus.InvalidEmail;
125 if (email == "duplicate") {
126 status = MembershipCreateStatus.DuplicateEmail;
130 if (passwordQuestion == "incorrect") {
131 status = MembershipCreateStatus.InvalidQuestion;
135 if (passwordAnswer == "incorrect") {
136 status = MembershipCreateStatus.InvalidAnswer;
140 MembershipUser u = new MembershipUser ("FakeProvider", username, "", email, passwordQuestion, "", isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
141 status = MembershipCreateStatus.Success;
145 public override bool DeleteUser (string username, bool deleteAllRelatedData)
150 public override MembershipUserCollection GetAllUsers (int pageIndex, int pageSize, out int totalRecords)
153 return new MembershipUserCollection ();
156 public override int GetNumberOfUsersOnline ()
161 public override string GetPassword (string username, string answer)
166 public override MembershipUser GetUser (string username, bool userIsOnline)
168 MembershipUser u = new MembershipUser ("FakeProvider", username, null, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
172 public override MembershipUser GetUser (object providerUserKey, bool userIsOnline)
174 MembershipUser u = new MembershipUser ("", "", providerUserKey, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
178 public override bool UnlockUser (string username)
183 public override string GetUserNameByEmail (string email)
188 public override string ResetPassword (string username, string answer)
193 public override void UpdateUser (MembershipUser user)
197 public override bool ValidateUser (string username, string password)
199 if (password == "incorrect")
205 private bool CheckPassword (string password, string dbpassword)
210 private string EncodePassword (string password)
215 private string UnEncodePassword (string encodedPassword)
220 public override MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
223 return new MembershipUserCollection ();
226 public override MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
229 return new MembershipUserCollection ();