Skip to content

Commit 3747d54

Browse files
authored
Merge pull request #311 - Added tests for covering MyTested.AspNetCore.Mvc.Authentication
Added tests for covering MyTested.AspNetCore.Mvc.Authentication
2 parents c9a63c3 + f1eeb99 commit 3747d54

File tree

2 files changed

+222
-0
lines changed

2 files changed

+222
-0
lines changed
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
namespace MyTested.AspNetCore.Mvc.Test.BuildersTests.HttpRequestTests
2+
{
3+
using Microsoft.AspNetCore.Http;
4+
using MyTested.AspNetCore.Mvc.Test.Setups.Controllers;
5+
using System.Collections.Generic;
6+
using Xunit;
7+
8+
public class HttpRequestBuilderTests
9+
{
10+
[Fact]
11+
public void WithAuthenticatedUserShouldPopulateUserNameAndRolesFromListProperly()
12+
{
13+
MyController<MvcController>
14+
.Instance()
15+
.WithHttpRequest(request => request
16+
.WithUser("TestUserName", new List<string>
17+
{
18+
"Administrator",
19+
"Moderator"
20+
}))
21+
.ShouldPassForThe<HttpRequest>(builtRequest =>
22+
{
23+
Assert.Equal(0, builtRequest.Query.Count);
24+
Assert.False(builtRequest.HasFormContentType);
25+
Assert.Equal(0, builtRequest.Cookies.Count);
26+
});
27+
}
28+
29+
[Fact]
30+
public void WithAuthenticatedUserShouldPopulateUserNameAndRolesProperly()
31+
{
32+
MyController<MvcController>
33+
.Instance()
34+
.WithHttpRequest(request => request
35+
.WithUser("TestUserName", new string[]
36+
{
37+
"Administrator",
38+
"Moderator"
39+
}))
40+
.ShouldPassForThe<HttpRequest>(builtRequest =>
41+
{
42+
Assert.Equal(0, builtRequest.Query.Count);
43+
Assert.False(builtRequest.HasFormContentType);
44+
Assert.Equal(0, builtRequest.Cookies.Count);
45+
});
46+
}
47+
48+
[Fact]
49+
public void WithUserShouldPopulateUserIdentifierAndNameAndRolesProperly()
50+
{
51+
MyController<MvcController>
52+
.Instance()
53+
.WithHttpRequest(request => request
54+
.WithUser("TestIdentifier", "TestUserName", new List<string>
55+
{
56+
"Administrator",
57+
"Moderator"
58+
}))
59+
.ShouldPassForThe<HttpRequest>(builtRequest =>
60+
{
61+
Assert.Equal(0, builtRequest.Query.Count);
62+
Assert.False(builtRequest.HasFormContentType);
63+
Assert.Equal(0, builtRequest.Cookies.Count);
64+
});
65+
}
66+
67+
[Fact]
68+
public void WithAuthenticatedUserShouldPopulateUserIdentifierAndNameAndRolesProperly()
69+
{
70+
MyController<MvcController>
71+
.Instance()
72+
.WithHttpRequest(request => request
73+
.WithUser("TestIdentifier", "TestUserName", new string[]
74+
{
75+
"Administrator",
76+
"Moderator"
77+
}))
78+
.ShouldPassForThe<HttpRequest>(builtRequest =>
79+
{
80+
Assert.Equal(0, builtRequest.Query.Count);
81+
Assert.False(builtRequest.HasFormContentType);
82+
Assert.Equal(0, builtRequest.Cookies.Count);
83+
});
84+
}
85+
86+
[Fact]
87+
public void WithAuthenticatedUserShouldPopulateUserRolesProperly()
88+
{
89+
MyController<MvcController>
90+
.Instance()
91+
.WithHttpRequest(request => request
92+
.WithUser(new List<string>
93+
{
94+
"Administrator",
95+
"Moderator"
96+
}))
97+
.ShouldPassForThe<HttpRequest>(builtRequest =>
98+
{
99+
Assert.Equal(0, builtRequest.Query.Count);
100+
Assert.False(builtRequest.HasFormContentType);
101+
Assert.Equal(0, builtRequest.Cookies.Count);
102+
});
103+
}
104+
105+
[Fact]
106+
public void WithAuthenticatedUserShouldWorkCorrectly()
107+
{
108+
MyController<MvcController>
109+
.Instance()
110+
.WithHttpRequest(request => request
111+
.WithUser(user => user
112+
.WithIdentity(identity => identity
113+
.WithIdentifier("IdentityIdentifier")
114+
.WithUsername("IdentityUsername")
115+
.InRole("IdentityRole"))))
116+
.ShouldPassForThe<HttpRequest>(builtRequest =>
117+
{
118+
Assert.Equal(0, builtRequest.Query.Count);
119+
Assert.False(builtRequest.HasFormContentType);
120+
Assert.Equal(0, builtRequest.Cookies.Count);
121+
});
122+
}
123+
}
124+
}

test/MyTested.AspNetCore.Mvc.Authentication.Test/BuildersTests/ViewComponentsTests/ViewComponentBuilderTests.cs

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace MyTested.AspNetCore.Mvc.Test.BuildersTests.ViewComponentsTests
22
{
33
using Setups.ViewComponents;
4+
using System.Collections.Generic;
45
using System.Security.Claims;
56
using Xunit;
67

@@ -63,5 +64,102 @@ public void WithAuthenticatedUserShouldPopulateProperUserWhenUserWithUserBuilder
6364
});
6465
}
6566

67+
[Fact]
68+
public void WithAuthenticatedUserShouldPopulateUserRoleProperly()
69+
{
70+
MyViewComponent<UserComponent>
71+
.Instance()
72+
.WithUser(new List<string>
73+
{
74+
"Administrator"
75+
})
76+
.InvokedWith(c => c.Invoke())
77+
.ShouldReturn()
78+
.View()
79+
.ShouldPassForThe<UserComponent>(viewComponent =>
80+
{
81+
var user = viewComponent.User as ClaimsPrincipal;
82+
83+
Assert.NotNull(user);
84+
Assert.True(user.IsInRole("Administrator"));
85+
Assert.Equal("Passport", user.Identity.AuthenticationType);
86+
Assert.True(user.Identity.IsAuthenticated);
87+
});
88+
}
89+
90+
[Fact]
91+
public void WithAuthenticatedUserShouldPopulateUserNameAndRoleProperly()
92+
{
93+
MyViewComponent<UserComponent>
94+
.Instance()
95+
.WithUser("NewUserName", new List<string>
96+
{
97+
"Administrator"
98+
})
99+
.InvokedWith(c => c.Invoke())
100+
.ShouldReturn()
101+
.View()
102+
.ShouldPassForThe<UserComponent>(viewComponent =>
103+
{
104+
var user = viewComponent.User as ClaimsPrincipal;
105+
106+
Assert.NotNull(user);
107+
Assert.True(user.IsInRole("Administrator"));
108+
Assert.Equal("NewUserName", user.Identity.Name);
109+
Assert.True(user.HasClaim(ClaimTypes.Name, "NewUserName"));
110+
Assert.Equal("Passport", user.Identity.AuthenticationType);
111+
Assert.True(user.Identity.IsAuthenticated);
112+
});
113+
}
114+
115+
[Fact]
116+
public void WithAuthenticatedUserShouldPopulateIdAndUserNameAndRoleProperly()
117+
{
118+
MyViewComponent<UserComponent>
119+
.Instance()
120+
.WithUser("IdentityIdentifier", "NewUserName", new List<string>
121+
{
122+
"Administrator"
123+
})
124+
.InvokedWith(c => c.Invoke())
125+
.ShouldReturn()
126+
.View()
127+
.ShouldPassForThe<UserComponent>(viewComponent =>
128+
{
129+
var user = viewComponent.User as ClaimsPrincipal;
130+
var usernameClaim = viewComponent.User.Identity;
131+
132+
Assert.NotNull(user);
133+
Assert.True(user.IsInRole("Administrator"));
134+
Assert.True(user.HasClaim(ClaimTypes.NameIdentifier, "IdentityIdentifier"));
135+
Assert.Equal("NewUserName", user.Identity.Name);
136+
Assert.True(user.HasClaim(ClaimTypes.Name, "NewUserName"));
137+
Assert.Equal("Passport", user.Identity.AuthenticationType);
138+
Assert.True(user.Identity.IsAuthenticated);
139+
});
140+
}
141+
142+
[Fact]
143+
public void WithAuthenticatedUserShouldPopulateRoleProperly()
144+
{
145+
MyViewComponent<UserComponent>
146+
.Instance()
147+
.WithUser(new string[]
148+
{
149+
"Administrator"
150+
})
151+
.InvokedWith(c => c.Invoke())
152+
.ShouldReturn()
153+
.View()
154+
.ShouldPassForThe<UserComponent>(viewComponent =>
155+
{
156+
var user = viewComponent.User as ClaimsPrincipal;
157+
158+
Assert.NotNull(user);
159+
Assert.True(user.IsInRole("Administrator"));
160+
Assert.Equal("Passport", user.Identity.AuthenticationType);
161+
Assert.True(user.Identity.IsAuthenticated);
162+
});
163+
}
66164
}
67165
}

0 commit comments

Comments
 (0)