Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 /// <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;
 }
Esempio n. 3
0
        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);
        }