Skip to content

Commit efcec29

Browse files
committed
Add test initial data.
1 parent 8b7a805 commit efcec29

File tree

5 files changed

+55
-10
lines changed

5 files changed

+55
-10
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace DynamicRoleBasedAuthorization.Tests
2+
{
3+
public class DynamicAuthorizationFilterTests
4+
{
5+
}
6+
}

test/DynamicRoleBasedAuthorization.Tests/Startup.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
using Microsoft.AspNetCore.Builder;
2-
using Microsoft.AspNetCore.Hosting;
1+
using DynamicRoleBasedAuthorization.Tests.TestSetup;
2+
using Microsoft.AspNetCore.Builder;
33
using Microsoft.AspNetCore.Identity;
44
using Microsoft.EntityFrameworkCore;
55
using Microsoft.Extensions.Configuration;
66
using Microsoft.Extensions.DependencyInjection;
7+
using Microsoft.Extensions.Hosting;
78

89
namespace DynamicRoleBasedAuthorization.Tests
910
{
@@ -26,9 +27,11 @@ public void ConfigureServices(IServiceCollection services)
2627
.AddDefaultTokenProviders();
2728

2829
services.AddControllersWithViews();
30+
31+
services.AddScoped<DbInitializer>();
2932
}
3033

31-
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
34+
public void Configure(IApplicationBuilder app, IHostApplicationLifetime applicationLifetime)
3235
{
3336
app.UseRouting();
3437

@@ -44,6 +47,13 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
4447
name: "default",
4548
pattern: "{controller=Home}/{action=Index}/{id?}");
4649
});
50+
51+
applicationLifetime.ApplicationStarted.Register(() =>
52+
{
53+
using var scope = app.ApplicationServices.CreateScope();
54+
var dbInitializer = scope.ServiceProvider.GetService<DbInitializer>();
55+
dbInitializer.InitializeDb();
56+
});
4757
}
4858
}
4959
}
Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
1-
namespace DynamicRoleBasedAuthorization.Tests.TestSetup
1+
using Microsoft.AspNetCore.Identity;
2+
3+
namespace DynamicRoleBasedAuthorization.Tests.TestSetup
24
{
3-
internal static class DbInitializer
5+
internal class DbInitializer
46
{
5-
public static void InitializeDb(ApplicationDbContext context)
7+
private readonly UserManager<IdentityUser> _userManager;
8+
private readonly RoleManager<IdentityRole> _roleManager;
9+
10+
public DbInitializer(UserManager<IdentityUser> userManager, RoleManager<IdentityRole> roleManager)
611
{
7-
//foreach (var user in InitialUserList.Users)
8-
// context.Users.Add(user);
12+
_userManager = userManager;
13+
_roleManager = roleManager;
14+
}
915

10-
//context.SaveChanges();
16+
public void InitializeDb()
17+
{
18+
_userManager.CreateAsync(InitialData.SuperUser, "123@Qaz45").GetAwaiter().GetResult();
19+
_userManager.CreateAsync(InitialData.AdminUser, "123@Qaz45").GetAwaiter().GetResult();
20+
_userManager.CreateAsync(InitialData.OrdinaryUser, "123@Qaz45").GetAwaiter().GetResult();
21+
_roleManager.CreateAsync(InitialData.AdminRole).GetAwaiter().GetResult();
22+
_roleManager.CreateAsync(InitialData.RestrictedRole).GetAwaiter().GetResult();
1123
}
1224
}
1325
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using Microsoft.AspNetCore.Identity;
2+
3+
namespace DynamicRoleBasedAuthorization.Tests.TestSetup
4+
{
5+
public class InitialData
6+
{
7+
public static IdentityUser SuperUser => new IdentityUser("[email protected]");
8+
9+
public static IdentityUser AdminUser => new IdentityUser("[email protected]");
10+
11+
public static IdentityUser OrdinaryUser => new IdentityUser("[email protected]");
12+
13+
public static IdentityRole AdminRole => new IdentityRole("AdminRole");
14+
15+
public static IdentityRole RestrictedRole => new IdentityRole("RestrictedRole");
16+
}
17+
}

test/DynamicRoleBasedAuthorization.Tests/TestSetup/TestingWebApplicationFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ protected override void ConfigureWebHost(IWebHostBuilder builder)
2222

2323
try
2424
{
25-
DbInitializer.InitializeDb(db);
25+
//DbInitializer.InitializeDb(db);
2626
}
2727
catch (Exception ex)
2828
{

0 commit comments

Comments
 (0)