public void Initialize() { Mock <ISecurityRuleEngine> mock = new Mock <ISecurityRuleEngine>(); securityRuleEngine = mock.Object; securityController = new SecurityController(securityRuleEngine); var roleSecurity = new List <RoleSecurityModel>(); var permissions = new List <UserPermissionModel>(); permissions.Add(new UserPermissionModel() { PermissionID = 1, PermissionName = "Create" }); permissions.Add(new UserPermissionModel() { PermissionID = 2, PermissionName = "Delete" }); roleSecurity.Add(new RoleSecurityModel() { ModuleID = 1, ModuleName = "Registration", ComponentID = 1, ComponentName = "Demography", ModulePermissions = permissions }); var allRolesSeurity = new Response <RoleSecurityModel>() { DataItems = roleSecurity }; //Get User Role Security mock.Setup(r => r.GetUserRoleSecurity()).Returns(allRolesSeurity); }
/// <summary> /// Initializes a new instance of the <see cref="SecurityController"/> class. /// </summary> /// <param name="securityRuleEngine">The security rule engine.</param> public SecurityController(ISecurityRuleEngine securityRuleEngine) { this.securityRuleEngine = securityRuleEngine; }
public void Initialize() { Mock <ISecurityRuleEngine> mock = new Mock <ISecurityRuleEngine>(); securityRuleEngine = mock.Object; securityController = new SecurityController(securityRuleEngine); var roles = new List <RoleModel>(); roles.Add(new RoleModel() { RoleID = 1, Name = "Administrator" }); roles.Add(new RoleModel() { RoleID = 2, Name = "Front Desk-Clercial" }); roles.Add(new RoleModel() { RoleID = 3, Name = "Billing-Back Office" }); var allRoles = new Response <RoleModel>() { DataItems = roles }; //Get Role Response <RoleModel> roleResponse = new Response <RoleModel>(); roleResponse.DataItems = roles.Where(x => x.Name.Contains(roleName)).ToList(); mock.Setup(r => r.GetRoles(It.IsAny <string>())) .Returns(roleResponse); //Add Role allRoles.RowAffected = 1; mock.Setup(r => r.AddRole(It.IsAny <RoleModel>())) .Callback((RoleModel roleModel) => roles.Add(roleModel)) .Returns(allRoles); //Update Role mock.Setup(r => r.UpdateRole(It.IsAny <RoleModel>())) .Callback((RoleModel roleModel) => roles.Add(roleModel)) .Returns(allRoles); //Delete Role Response <RoleModel> deleteResponse = new Response <RoleModel>(); deleteResponse.RowAffected = 1; deleteResponse.DataItems = roles; mock.Setup(r => r.DeleteRole(It.IsAny <long>(), DateTime.UtcNow)) .Callback((long id) => roles.Remove(roles.Find(deletedRole => deletedRole.RoleID == id))) .Returns(deleteResponse); //Get Module var modules = new List <ModuleModel>(); modules.Add(new ModuleModel() { ModuleID = 1, Name = "Administrator" }); modules.Add(new ModuleModel() { ModuleID = 2, Name = "Front Desk-Clercial" }); modules.Add(new ModuleModel() { ModuleID = 3, Name = "Billing-Back Office" }); var allModules = new Response <ModuleModel>() { DataItems = modules }; mock.Setup(r => r.GetModule()) .Returns(allModules); //Get Role By Id Response <RoleModel> roleResponseById = new Response <RoleModel>(); roleResponseById.DataItems = roles.Where(x => x.RoleID == roleId).ToList(); mock.Setup(r => r.GetRoleById(It.IsAny <long>())) .Returns(roleResponseById); //Get Module By roleId var moduleRole = new List <RoleModuleModel>(); moduleRole.Add(new RoleModuleModel() { RoleId = 1, ModuleId = 1, RoleName = "Administrator", ModuleName = "Registration" }); moduleRole.Add(new RoleModuleModel() { RoleId = 1, ModuleId = 2, RoleName = "Administrator", ModuleName = "Registration" }); moduleRole.Add(new RoleModuleModel() { RoleId = 2, RoleName = "Administrator", ModuleName = "CPOE" }); var allModuleRole = new Response <RoleModuleModel>() { DataItems = moduleRole }; Response <RoleModuleModel> moduleResponseByRoleId = new Response <RoleModuleModel>(); moduleResponseByRoleId.DataItems = moduleRole.Where(x => x.RoleId == moduleRoleId).ToList(); mock.Setup(r => r.GetModuleByRoleId(It.IsAny <long>())) .Returns(moduleResponseByRoleId); //Assign Module To Role Response <RoleModuleModel> assignRoleResponse = new Response <RoleModuleModel>(); roleModules = moduleRole; assignRoleResponse.RowAffected = 1; assignRoleResponse.DataItems = moduleRole; mock.Setup(r => r.AssignModuleToRole(It.IsAny <List <RoleModuleModel> >())) .Returns(assignRoleResponse); //Get Assigned Permission By moduleId var listModuleModel = new List <ModuleModel>(); var lstModulePermissions = new List <PermissionModel>(); lstModulePermissions.Add(new PermissionModel() { PermissionID = 1, PermissionName = "P1" }); lstModulePermissions.Add(new PermissionModel() { PermissionID = 2, PermissionName = "P2" }); listModuleModel.Add(new ModuleModel() { ModuleID = 1, Permissions = lstModulePermissions }); listModuleModel.Add(new ModuleModel() { ModuleID = 2, Permissions = lstModulePermissions }); Response <PermissionModel> permissionResponseByModuleId = new Response <PermissionModel>(); permissionResponseByModuleId.DataItems = listModuleModel.Where(aa => aa.ModuleID == permissionModuleId).FirstOrDefault().Permissions; mock.Setup(r => r.GetAssignedPermissionByModuleId(It.IsAny <long>(), It.IsAny <long>())) .Returns(permissionResponseByModuleId); //Get Assigned Permission By FeatureId var listFeatureModel = new List <FeatureModel>(); var lstPermissions = new List <PermissionModel>(); lstPermissions.Add(new PermissionModel() { PermissionID = 1, PermissionName = "Create" }); lstPermissions.Add(new PermissionModel() { PermissionID = 2, PermissionName = "Delete" }); listFeatureModel.Add(new FeatureModel() { FeatureID = 1, Permissions = lstPermissions }); listFeatureModel.Add(new FeatureModel() { FeatureID = 2, Permissions = lstPermissions }); Response <PermissionModel> permissionResponseByFeatureId = new Response <PermissionModel>(); permissionResponseByFeatureId.DataItems = listFeatureModel.Where(aa => aa.FeatureID == permissionFeatureId).FirstOrDefault().Permissions; mock.Setup(r => r.GetAssignedPermissionByFeatureId(It.IsAny <long>(), It.IsAny <long>())).Returns(permissionResponseByFeatureId); //Get Feature by moduleId var featureModule = new List <ModuleFeatureModel>(); var featureName = new FeatureModel() { Name = "Feature" }; featureModule.Add(new ModuleFeatureModel() { ModuleId = 1, ModuleName = "Registration", FeatureName = "Additional Demography" }); featureModule.Add(new ModuleFeatureModel() { ModuleId = 2, ModuleName = "CPOE", FeatureName = "Laboratory" }); var allFeatureModule = new Response <ModuleFeatureModel>() { DataItems = featureModule }; Response <ModuleFeatureModel> FeatureResponseByModuleId = new Response <ModuleFeatureModel>(); FeatureResponseByModuleId.DataItems = featureModule.Where(x => x.ModuleId == FeatureModuleId).ToList(); mock.Setup(r => r.GetFeaturePermissionByModuleId(It.IsAny <long>(), It.IsAny <long>())) .Returns(FeatureResponseByModuleId); //Assign Role Permissions var rolePermissionList = new List <RolePermissionsModel>(); var rolePermission = new RolePermissionsModel(); rolePermission.Role = new RoleModel() { RoleID = 1 }; var modulePermission = new List <ModuleModel>(); modulePermission.Add(new ModuleModel() { ModuleID = 1 }); rolePermission.Modules = modulePermission; rolePermissionList.Add(rolePermission); var moduleFeature = new List <FeatureModel>(); var FeaturePermission = new List <PermissionModel>(); FeaturePermission.Add(new PermissionModel() { PermissionID = 1, PermissionName = "Create" }); moduleFeature.Add(new FeatureModel() { FeatureID = 1, Permissions = FeaturePermission }); rolePermission.Features = moduleFeature; rolePermissionList.Add(rolePermission); rolePermissionParam = rolePermission; var allRolePermission = new Response <RolePermissionsModel>() { DataItems = rolePermissionList }; Response <RolePermissionsModel> rolePermissionResponse = new Response <RolePermissionsModel>(); rolePermissionResponse.RowAffected = 1; rolePermissionResponse.DataItems = rolePermissionList; mock.Setup(r => r.AssignRolePermission(It.IsAny <RolePermissionsModel>())) .Returns(rolePermissionResponse); mock.Setup(r => r.GetFeaturePermissionByRoleId(It.IsAny <long>())) .Returns(FeatureResponseByModuleId); //Get Feature by moduleId var moduleModel = new List <ModuleModel>(); moduleModel.Add(new ModuleModel() { ModuleID = 1, Name = "Module1", Permissions = lstModulePermissions }); var allModule = new Response <ModuleModel>() { DataItems = moduleModel, RowAffected = 1 }; Response <ModuleModel> responseModule = new Response <ModuleModel>(); responseModule.DataItems = moduleModel.Where(x => x.ModuleID == ModuleId).ToList(); responseModule.RowAffected = 1; mock.Setup(r => r.GetModulePermissionByRoleId(It.IsAny <long>())) .Returns(responseModule); }