From 3e4933e9c281b29830bfbf1d967388ab5b419835 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Mon, 11 Dec 2023 07:21:08 +0100 Subject: [PATCH] refactoring, improvements, fixes... --- TIAM.Database.Test/DatabaseTest.cs | 29 +------------- TIAM.Database.Test/ServiceProviderDalTest.cs | 16 ++++---- TIAM.Database.Test/UserDalTests.cs | 38 +------------------ .../ServiceProviders/ServiceProviderDal.cs | 1 + .../ServiceProviderDalExtension.cs | 9 +++++ .../DbContexts/Users/UserDbContext.cs | 3 +- .../Users/AssignedUserDbSetExtensions.cs | 9 ----- 7 files changed, 22 insertions(+), 83 deletions(-) diff --git a/TIAM.Database.Test/DatabaseTest.cs b/TIAM.Database.Test/DatabaseTest.cs index 22009b9c..6e4975e2 100644 --- a/TIAM.Database.Test/DatabaseTest.cs +++ b/TIAM.Database.Test/DatabaseTest.cs @@ -7,9 +7,8 @@ using TIAM.Database.DbContexts.Users; namespace TIAM.Database.Test { [TestClass] - public class DatabaseTest //: DatabaseTestModelBase + public class DatabaseTest : AcDatabaseTestBase { - [TestInitialize] public void Setup() { @@ -20,31 +19,5 @@ namespace TIAM.Database.Test public void TearDown() { } - - [TestMethod] - public void MsTest_Test() - { - Assert.IsTrue(true); - } - - [TestMethod] - public void DatabaseExistsTest() - { - using var ctx = new TransferDestinationDbContext(); - //ctx.Database.OpenConnection(); - - var isConnected = ctx.Database.CanConnect(); - Assert.IsTrue(isConnected); - } - - - [TestMethod] - public void UserDalTest() - { - using var ctx = new UserDbContext(); - - var isConnected = ctx.Database.CanConnect(); - Assert.IsTrue(isConnected); - } } } \ No newline at end of file diff --git a/TIAM.Database.Test/ServiceProviderDalTest.cs b/TIAM.Database.Test/ServiceProviderDalTest.cs index e4d6c3b2..955c301d 100644 --- a/TIAM.Database.Test/ServiceProviderDalTest.cs +++ b/TIAM.Database.Test/ServiceProviderDalTest.cs @@ -12,14 +12,11 @@ using TIAM.Database.DbContexts.ServiceProviders; namespace TIAM.Database.Test { [TestClass] - public class ServiceProviderDalTest : DatabaseTestModelBase + public class ServiceProviderDalTest : AcDatabaseTestModelBase { - private ServiceProviderDal _serviceProviderDal; - [TestInitialize] public void Setup() { - _serviceProviderDal = new ServiceProviderDal(); } [TestCleanup] @@ -27,14 +24,15 @@ namespace TIAM.Database.Test { } [TestMethod] - //[DataRow(Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00")] - public async Task GetPermissionContextMappingByContext_ReturnsPermissionContextMapping_WhenPermissionContextMappingExists()//(Guid contextId) + [DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")] + public async Task GetPermissionContextMappingByContext_ReturnsPermissionContextMapping_WhenPermissionContextMappingExists(string contextIdString) { - var contextId = Guid.Parse("540271F6-C604-4C16-8160-D5A7CAFEDF00"); + var contextId = Guid.Parse(contextIdString); - var permMapping = await _serviceProviderDal.GetPermissionContextMappingByContextIdAsync(contextId); + var permMapping = await Dal.GetPermissionContextMappingByContextIdAsync(contextId); - Assert.IsNotNull(permMapping); + Assert.IsNotNull(permMapping, "Result is null"); + Assert.IsTrue(permMapping.Count > 0, "Result count: 0"); } } } diff --git a/TIAM.Database.Test/UserDalTests.cs b/TIAM.Database.Test/UserDalTests.cs index 980d69d3..d0356850 100644 --- a/TIAM.Database.Test/UserDalTests.cs +++ b/TIAM.Database.Test/UserDalTests.cs @@ -1,5 +1,6 @@ using AyCode.Database.DataLayers; using AyCode.Database.Tests; +using AyCode.Database.Tests.Users; using Microsoft.EntityFrameworkCore; using Microsoft.VisualStudio.TestPlatform.ObjectModel; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -11,10 +12,9 @@ using TIAM.Entities.Users; namespace TIAM.Database.Test { [TestClass] - public class UserDalTests : DatabaseTestModelBase + public class UserDalTests : AcUserDalTestBase { private Mock _mockContext; - private UserDal _userDal; [TestInitialize] public void TestInitialize() @@ -29,40 +29,6 @@ namespace TIAM.Database.Test //_mockContext.Setup(c => c.Users).Returns(mockSet.Object); //_userDal = new UserDal(_mockContext.Object); - - _userDal = PooledDal.CreateDal(); - } - - [TestMethod] - [DataRow("test@tiam.hu")] - public void GetUserByEmail_ReturnsUser_WhenUserExists(string email) - { - //var userDal = PooledDal.CreateDal(); - var user = _userDal.GetUserByEmail(email); - - Assert.IsNotNull(user); - Assert.AreEqual(email, user.EmailAddress); - } - - [TestMethod] - [DataRow("test@tiam.hu")] - public async Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email) - { - User? user = null; - //var userDal = PooledDal.CreateDal(); - - user = await _userDal.GetUserByEmailAsync(email).ConfigureAwait(false); - - //user = await _userDal.SessionAsync(ctx => ctx.Users.FirstOrDefault(x => x.EmailAddress == email)).ConfigureAwait(false); - - //await using (var ctx = _userDal.Context) - //{ - // user = await ctx.Users.FirstOrDefaultAsync(x => x.EmailAddress == email).ConfigureAwait(false); - //} - - - Assert.IsNotNull(user); - Assert.AreEqual(email, user.EmailAddress); } //[TestMethod] diff --git a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs index fc2e1df0..fe0f5266 100644 --- a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs +++ b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs @@ -13,6 +13,7 @@ using TIAM.Entities.Users; using TIAM.Database.DbContexts.ServiceProviders; using TIAM.Database.DbSets.Permissions; using TIAM.Database.DbSets.Users; +using AyCode.Database.DataLayers; namespace TIAM.Database.DataLayers.ServiceProviders diff --git a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDalExtension.cs b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDalExtension.cs index 133cb0e8..597c4d93 100644 --- a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDalExtension.cs +++ b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDalExtension.cs @@ -10,6 +10,15 @@ namespace TIAM.Database.DataLayers.ServiceProviders; public static class ServiceProviderDalExtension { + public static IQueryable GetAssignedUsersByPermissionGroupId(this ServiceProviderDbContext ctx, Guid permissionGroupId) + { + return ctx.AssignedUsers + .Where(user => ctx.PermissionGroupUserMappings + .Where(x => x.PermissionGroupId == permissionGroupId) + .Select(x => x.AssignedUserId) + .Contains(user.Id)); + } + public static IQueryable GetPermissionContextMappingByContextId(this IServiceProviderDbContext ctx, Guid contextId) { var subjectIds = ctx.GetAssignedUsersByContextId(contextId).Select(x => x.Id). diff --git a/TIAM.Database/DbContexts/Users/UserDbContext.cs b/TIAM.Database/DbContexts/Users/UserDbContext.cs index e010c49c..25a46a25 100644 --- a/TIAM.Database/DbContexts/Users/UserDbContext.cs +++ b/TIAM.Database/DbContexts/Users/UserDbContext.cs @@ -15,9 +15,10 @@ namespace TIAM.Database.DbContexts.Users { public class UserDbContext : DbContextBase, IUserDbContext { - public virtual DbSet Users { get; set; } + public DbSet Users { get; set; } public DbSet UserTokens { get; set; } + public UserDbContext() //: this(string.Empty) { diff --git a/TIAM.Database/DbSets/Users/AssignedUserDbSetExtensions.cs b/TIAM.Database/DbSets/Users/AssignedUserDbSetExtensions.cs index c8d13e02..3efa6a95 100644 --- a/TIAM.Database/DbSets/Users/AssignedUserDbSetExtensions.cs +++ b/TIAM.Database/DbSets/Users/AssignedUserDbSetExtensions.cs @@ -5,15 +5,6 @@ namespace TIAM.Database.DbSets.Users; public static class AssignedUserDbSetExtensions { - public static IQueryable GetAssignedUsersByPermissionGroupId(this ServiceProviderDbContext ctx, Guid permissionGroupId) - { - return ctx.AssignedUsers - .Where(user => ctx.PermissionGroupUserMappings - .Where(x => x.PermissionGroupId == permissionGroupId) - .Select(x => x.AssignedUserId) - .Contains(user.Id)); - } - public static AssignedUser? GetAssignedUserById(this IAssignedUserDbSet ctx, Guid assignedUserId) => ctx.AssignedUsers.FirstOrDefault(x => x.Id == assignedUserId);