[bcl] Remove more NET_2_0 checks from class libs
[mono.git] / mcs / class / System.Web / Test / mainsoft / NunitWeb / NunitWeb / FakeMembershipProvider.cs
1
2 using System;
3 using System.Web.Security;
4 using System.Collections.Specialized;
5 using System.Text;
6
7 namespace MonoTests.SystemWeb.Framework
8 {
9         public sealed class FakeMembershipProvider : MembershipProvider
10         {
11                 public bool requiresQuestionAndAnswer = true;
12
13                 public override void Initialize (string name, NameValueCollection config)
14                 {
15                         base.Initialize (name, config);
16                 }
17
18                 public override string ApplicationName
19                 {
20                         get { return "/"; }
21                         set { }
22                 }
23
24                 public override bool EnablePasswordReset
25                 {
26                         get { return true; }
27                 }
28
29
30                 public override bool EnablePasswordRetrieval
31                 {
32                         get { return true; }
33                 }
34
35
36                 public override bool RequiresQuestionAndAnswer
37                 {
38                         get { return requiresQuestionAndAnswer; }
39                 }
40
41
42                 public override bool RequiresUniqueEmail
43                 {
44                         get { return true; }
45                 }
46
47
48                 public override int MaxInvalidPasswordAttempts
49                 {
50                         get { return 10; }
51                 }
52
53
54                 public override int PasswordAttemptWindow
55                 {
56                         get { return 10; }
57                 }
58
59
60                 public override MembershipPasswordFormat PasswordFormat
61                 {
62                         get { return MembershipPasswordFormat.Clear; }
63                 }
64
65                 public override int MinRequiredNonAlphanumericCharacters
66                 {
67                         get { return 10; }
68                 }
69
70                 public override int MinRequiredPasswordLength
71                 {
72                         get { return 10; }
73                 }
74
75                 public override string PasswordStrengthRegularExpression
76                 {
77                         get { return ""; }
78                 }
79
80                 public override bool ChangePassword (string username, string oldPwd, string newPwd)
81                 {
82                         if (username == "WrongUser")
83                                 return false;
84                         return true;
85                 }
86
87                 public override bool ChangePasswordQuestionAndAnswer (string username,
88                         string password,
89                         string newPwdQuestion,
90                         string newPwdAnswer)
91                 {
92                         return true;
93                 }
94
95                 public override MembershipUser CreateUser (string username,
96                         string password,
97                         string email,
98                         string passwordQuestion,
99                         string passwordAnswer,
100                         bool isApproved,
101                         object providerUserKey,
102                         out MembershipCreateStatus status)
103                 {
104
105                         if (username == "duplicate") {
106                                 status = MembershipCreateStatus.DuplicateUserName;
107                                 return null;
108                         }
109
110                         if (username == "incorrect") {
111                                 status = MembershipCreateStatus.InvalidUserName;
112                                 return null;
113                         }
114                         
115                         if (password == "incorrect") {
116                                 status = MembershipCreateStatus.InvalidPassword;
117                                 return null;
118                         }
119
120                         if (email == "incorrect") {
121                                 status = MembershipCreateStatus.InvalidEmail;
122                                 return null;
123                         }
124
125                         if (email == "duplicate") {
126                                 status = MembershipCreateStatus.DuplicateEmail;
127                                 return null;
128                         }
129
130                         if (passwordQuestion == "incorrect") {
131                                 status = MembershipCreateStatus.InvalidQuestion;
132                                 return null;
133                         }
134
135                         if (passwordAnswer == "incorrect") {
136                                 status = MembershipCreateStatus.InvalidAnswer;
137                                 return null;
138                         }
139
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;
142                         return u;
143                 }
144
145                 public override bool DeleteUser (string username, bool deleteAllRelatedData)
146                 {
147                         return true;
148                 }
149
150                 public override MembershipUserCollection GetAllUsers (int pageIndex, int pageSize, out int totalRecords)
151                 {
152                         totalRecords = 0;
153                         return new MembershipUserCollection ();
154                 }
155
156                 public override int GetNumberOfUsersOnline ()
157                 {
158                         return 123;
159                 }
160
161                 public override string GetPassword (string username, string answer)
162                 {
163                         return "123";
164                 }
165
166                 public override MembershipUser GetUser (string username, bool userIsOnline)
167                 {
168                         MembershipUser u = new MembershipUser ("FakeProvider", username, null, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
169                         return u;
170                 }
171
172                 public override MembershipUser GetUser (object providerUserKey, bool userIsOnline)
173                 {
174                         MembershipUser u = new MembershipUser ("", "", providerUserKey, "name@email.com", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
175                         return u;
176                 }
177
178                 public override bool UnlockUser (string username)
179                 {
180                         return true;
181                 }
182
183                 public override string GetUserNameByEmail (string email)
184                 {
185                         return "heh";
186                 }
187
188                 public override string ResetPassword (string username, string answer)
189                 {
190                         return "123";
191                 }
192
193                 public override void UpdateUser (MembershipUser user)
194                 {
195                 }
196
197                 public override bool ValidateUser (string username, string password)
198                 {
199                         if (password == "incorrect")
200                                 return false;
201
202                         return true;
203                 }
204
205                 private bool CheckPassword (string password, string dbpassword)
206                 {
207                         return true;
208                 }
209
210                 private string EncodePassword (string password)
211                 {
212                         return "123";
213                 }
214
215                 private string UnEncodePassword (string encodedPassword)
216                 {
217                         return "123";
218                 }
219
220                 public override MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
221                 {
222                         totalRecords = 0;
223                         return new MembershipUserCollection ();
224                 }
225
226                 public override MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
227                 {
228                         totalRecords = 0;
229                         return new MembershipUserCollection ();
230                 }
231         }
232 }
233