4 using System.Web.Security;
5 using System.Collections.Specialized;
8 namespace MonoTests.SystemWeb.Framework
10 public sealed class FakeMembershipProvider : MembershipProvider
12 public bool requiresQuestionAndAnswer = true;
14 public override void Initialize (string name, NameValueCollection config)
16 base.Initialize (name, config);
19 public override string ApplicationName
25 public override bool EnablePasswordReset
31 public override bool EnablePasswordRetrieval
37 public override bool RequiresQuestionAndAnswer
39 get { return requiresQuestionAndAnswer; }
43 public override bool RequiresUniqueEmail
49 public override int MaxInvalidPasswordAttempts
55 public override int PasswordAttemptWindow
61 public override MembershipPasswordFormat PasswordFormat
63 get { return MembershipPasswordFormat.Clear; }
66 public override int MinRequiredNonAlphanumericCharacters
71 public override int MinRequiredPasswordLength
76 public override string PasswordStrengthRegularExpression
81 public override bool ChangePassword (string username, string oldPwd, string newPwd)
83 if (username == "WrongUser")
88 public override bool ChangePasswordQuestionAndAnswer (string username,
90 string newPwdQuestion,
96 public override MembershipUser CreateUser (string username,
99 string passwordQuestion,
100 string passwordAnswer,
102 object providerUserKey,
103 out MembershipCreateStatus status)
106 if (username == "duplicate") {
107 status = MembershipCreateStatus.DuplicateUserName;
111 if (username == "incorrect") {
112 status = MembershipCreateStatus.InvalidUserName;
116 if (password == "incorrect") {
117 status = MembershipCreateStatus.InvalidPassword;
121 if (email == "incorrect") {
122 status = MembershipCreateStatus.InvalidEmail;
126 if (email == "duplicate") {
127 status = MembershipCreateStatus.DuplicateEmail;
131 if (passwordQuestion == "incorrect") {
132 status = MembershipCreateStatus.InvalidQuestion;
136 if (passwordAnswer == "incorrect") {
137 status = MembershipCreateStatus.InvalidAnswer;
141 MembershipUser u = new MembershipUser ("FakeProvider", username, "", email, passwordQuestion, "", isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
142 status = MembershipCreateStatus.Success;
146 public override bool DeleteUser (string username, bool deleteAllRelatedData)
151 public override MembershipUserCollection GetAllUsers (int pageIndex, int pageSize, out int totalRecords)
154 return new MembershipUserCollection ();
157 public override int GetNumberOfUsersOnline ()
162 public override string GetPassword (string username, string answer)
167 public override MembershipUser GetUser (string username, bool userIsOnline)
169 MembershipUser u = new MembershipUser ("FakeProvider", username, null, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
173 public override MembershipUser GetUser (object providerUserKey, bool userIsOnline)
175 MembershipUser u = new MembershipUser ("", "", providerUserKey, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
179 public override bool UnlockUser (string username)
184 public override string GetUserNameByEmail (string email)
189 public override string ResetPassword (string username, string answer)
194 public override void UpdateUser (MembershipUser user)
198 public override bool ValidateUser (string username, string password)
200 if (password == "incorrect")
206 private bool CheckPassword (string password, string dbpassword)
211 private string EncodePassword (string password)
216 private string UnEncodePassword (string encodedPassword)
221 public override MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
224 return new MembershipUserCollection ();
227 public override MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
230 return new MembershipUserCollection ();