1: using System.Collections.Specialized;
2: using System.Web.Security;
3: using MembershipExample.Infrastructure.Entities;
4: using MembershipExample.Infrastructure.Services;
5: using NUnit.Framework;
6:
7: namespace MembershipUnitTestExample
8: {
9: [TestFixture]
10: public class LogInServiceTest
11: {
12: private const string Username = "Testuser";
13: private const string Password = "Test123!";
14: private const string Email = "Testuser@noname.de";
15:
16: [SetUp]
17: public void SetUp()
18: {
19: MyMembershipProvider provider = new MyMembershipProvider();
20:
21: NameValueCollection config = new NameValueCollection();
22: config.Add("applicationName", "MyProvider");
23: config.Add("name", "MyMembershipProvider" );
24: config.Add("requiresQuestionAndAnswer", "false");
25: config.Add("connectionStringName", "MyProviderConnectionString");
26:
27: provider.Initialize(config["name"], config);
28:
29: MembershipCreateStatus createStatus;
30: provider.CreateUser(Username, Password, Email, null, null, true, null, out createStatus);
31: }
32:
33: [TearDown]
34: public void TearDown()
35: {
36: MyMembershipProvider provider = new MyMembershipProvider();
37:
38: NameValueCollection config = new NameValueCollection();
39: config.Add("applicationName", "MyProvider");
40: config.Add("name", "MyMembershipProvider");
41: config.Add("requiresQuestionAndAnswer", "false");
42: config.Add("connectionStringName", "MyProviderConnectionString");
43:
44: provider.Initialize(config["name"], config);
45:
46: provider.DeleteUser(Username, true);
47: }
48:
49: [Test]
50: public void User_is_authenticated()
51: {
52: // Arrange
53: UserAccount userAccount = new UserAccount();
54: userAccount.Name = Username;
55: userAccount.Password = Password;
56:
57: // Act
58: bool result = LogInService.IsUserAuthenticated(userAccount);
59:
60: // Assert
61: Assert.IsNotNull(result);
62: Assert.IsTrue(result);
63: Assert.IsTrue(Membership.ValidateUser(userAccount.Name, userAccount.Password));
64: }
65:
66: [Test]
67: public void User_is_not_authenticated()
68: {
69: // Arrange
70: UserAccount userAccount = new UserAccount();
71: userAccount.Name = "WrongName";
72: userAccount.Password = "NotRight!";
73:
74: // Act
75: bool result = LogInService.IsUserAuthenticated(userAccount);
76:
77: // Assert
78: Assert.IsNotNull(result);
79: Assert.IsFalse(result);
80: Assert.IsFalse(Membership.ValidateUser(userAccount.Name, userAccount.Password));
81: }
82: }
83: }