public void SetUserDefaultOrganizationTest() { SCUser user = SCObjectGenerator.PrepareUserObject(); SCObjectOperations.Instance.AddUser(user, null); SCUser userLoaded = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID); SCOrganization root = SCOrganization.GetRoot(); SCOrganization org1 = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(org1, root); SCOrganization org2 = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(org2, root); SCObjectOperations.Instance.AddUserToOrganization(user, org1); SCObjectOperations.Instance.AddUserToOrganization(user, org2); SCObjectOperations.Instance.SetUserDefaultOrganization(user, org2); SCRelationObject relation1 = SchemaRelationObjectAdapter.Instance.Load(org1.ID, userLoaded.ID); SCRelationObject relation2 = SchemaRelationObjectAdapter.Instance.Load(org2.ID, userLoaded.ID); Assert.IsFalse(relation1.Default); Assert.IsTrue(relation2.Default); }
public void UpdateOrganizationNameTest() { SCOrganization root = SCOrganization.GetRoot(); SCOrganization newOrg = SCObjectGenerator.PrepareOrganizationObject(); SCUser user = SCObjectGenerator.PrepareUserObject(); SCObjectOperations.Instance.AddOrganization(newOrg, root); SchemaObjectBase objLoaded = SchemaObjectAdapter.Instance.Load(newOrg.ID); Assert.AreEqual(newOrg.Name, objLoaded.Properties.GetValue("Name", string.Empty)); Assert.IsTrue(objLoaded.CurrentParents.Count > 0); Assert.AreEqual(root.ID, objLoaded.CurrentParents[0].ID); SCObjectOperations.Instance.AddUser(user, newOrg); newOrg.ClearRelativeData(); newOrg.Name = "ChangedOrgName"; SCObjectOperations.Instance.UpdateOrganization(newOrg); Console.WriteLine("Org ID: {0}, User ID: {1}", newOrg.ID, user.ID); }
public void QueryDirectChildrenTest() { SCUser user = SCObjectGenerator.PrepareUserObject(); string ticks = DateTime.Now.Ticks.ToString(); SCOrganization parent3 = SCObjectGenerator.PrepareOrganizationObject("第三组织" + ticks, "第三组织"); SCObjectOperations.Instance.AddOrganization(parent3, SCOrganization.GetRoot()); SCOrganization parent32 = SCObjectGenerator.PrepareOrganizationObject("第三.二组织" + ticks, "第三.二组织"); SCObjectOperations.Instance.AddOrganization(parent32, parent3); SCUser user3 = SCObjectGenerator.PrepareUserObject("李", "琪" + ticks, "liqi"); SCObjectOperations.Instance.AddUser(user3, parent32); string path = string.Format(@"第三组织{0}\第三.二组织{0}\李琪{0}", ticks); SCObjectAndRelationCollection result = SCSnapshotAdapter.Instance.QueryObjectAndRelationByParentIDs(new string[0], new string[] { parent32.ID }, false, true, false, DateTime.MinValue); result.Sort((x, y) => (int)(x.InnerSort - y.InnerSort)); result.FillDetails(); Assert.IsTrue(result.Count > 0); Console.WriteLine(result[0].Detail.Properties.GetValue("Name", string.Empty)); Assert.AreEqual(user3.ID, result[0].Detail.ID); }
public void InheritAclPermissionsTest() { //准备组织数据 SCOrganization parent = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(parent, SCOrganization.GetRoot()); //准备应用 SCApplication application = SCObjectGenerator.PrepareApplicationObject(); SCObjectOperations.Instance.AddApplication(application); SCRole role1 = SCObjectGenerator.PrepareRoleObject(); //准备角色 SCObjectOperations.Instance.AddRole(role1, application); //准备人员 SCUser user1 = SCObjectGenerator.PrepareUserObject("RU1", "User1", "RoleUser1"); SCObjectOperations.Instance.AddUser(user1, parent); //将人员添加到角色 SCObjectOperations.Instance.AddMemberToRole(user1, role1); SCRole role2 = SCObjectGenerator.PrepareRoleObject(); //准备角色 SCObjectOperations.Instance.AddRole(role2, application); //准备人员 SCUser user2 = SCObjectGenerator.PrepareUserObject("RU1", "User1", "RoleUser1"); SCObjectOperations.Instance.AddUser(user2, parent); //将人员添加到角色 SCObjectOperations.Instance.AddMemberToRole(user2, role2); //准备Container SCAclContainer container = new SCAclContainer(parent); container.Members.Add("AddChildren", role1); container.Members.Add("AddChildren", role2); SCObjectOperations.Instance.UpdateObjectAcl(container); SCOrganization organization = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(organization, parent); SCAclMemberCollection members = SCAclAdapter.Instance.LoadByContainerID(organization.ID, DateTime.MinValue); Assert.IsTrue(members.ContainsKey("AddChildren", role1.ID)); Assert.AreEqual(SchemaObjectStatus.Normal, members["AddChildren", role1.ID].Status); Assert.IsTrue(members.ContainsKey("AddChildren", role2.ID)); Assert.AreEqual(SchemaObjectStatus.Normal, members["AddChildren", role2.ID].Status); }
public void DeleteAclMemberTest() { //准备组织数据 SCOrganization organization = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(organization, SCOrganization.GetRoot()); //准备应用 SCApplication application = SCObjectGenerator.PrepareApplicationObject(); SCObjectOperations.Instance.AddApplication(application); SCRole role1 = SCObjectGenerator.PrepareRoleObject(); //准备角色 SCObjectOperations.Instance.AddRole(role1, application); //准备人员 SCUser user1 = SCObjectGenerator.PrepareUserObject("RU1", "User1", "RoleUser1"); SCObjectOperations.Instance.AddUser(user1, organization); //将人员添加到角色 SCObjectOperations.Instance.AddMemberToRole(user1, role1); SCRole role2 = SCObjectGenerator.PrepareRoleObject(); //准备角色 SCObjectOperations.Instance.AddRole(role2, application); //准备人员 SCUser user2 = SCObjectGenerator.PrepareUserObject("RU1", "User1", "RoleUser1"); SCObjectOperations.Instance.AddUser(user2, organization); //将人员添加到角色 SCObjectOperations.Instance.AddMemberToRole(user2, role2); //准备Container SCAclContainer container = new SCAclContainer(organization); container.Members.Add("AddChildren", role1); container.Members.Add("AddChildren", role2); SCObjectOperations.Instance.UpdateObjectAcl(container); Console.WriteLine("ContainerID: {0}", container.ContainerID); SCObjectOperations.Instance.DeleteRole(role1); SCObjectOperations.Instance.DeleteRole(role2); SCAclMemberCollection members = SCAclAdapter.Instance.LoadByContainerID(organization.ID, DateTime.MinValue); Assert.IsFalse(members.ContainsKey("AddChildren", role1.ID)); Assert.IsFalse(members.ContainsKey("AddChildren", role2.ID)); }
public void AddOrganizationTest() { SCOrganization root = SCOrganization.GetRoot(); SCOrganization newOrg = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(newOrg, root); SchemaObjectBase objLoaded = SchemaObjectAdapter.Instance.Load(newOrg.ID); Assert.AreEqual(newOrg.Name, objLoaded.Properties.GetValue("Name", string.Empty)); Assert.IsTrue(objLoaded.CurrentParents.Count > 0); Assert.AreEqual(root.ID, objLoaded.CurrentParents[0].ID); }
public void MoveGroupTest() { SCOrganization root = SCOrganization.GetRoot(); SCGroup group = SCObjectGenerator.PrepareGroupObject(); SCObjectOperations.Instance.AddGroup(group, root); SCOrganization newOrg = SCObjectGenerator.PrepareOrganizationObject(); SCObjectOperations.Instance.AddOrganization(newOrg, root); SCObjectOperations.Instance.MoveObjectToOrganization(null, group, newOrg); group.ClearRelativeData(); newOrg.ClearRelativeData(); root.ClearRelativeData(); Assert.IsTrue(group.CurrentParents.ContainsKey(newOrg.ID)); Assert.IsTrue(newOrg.CurrentChildren.ContainsKey(group.ID)); Assert.IsFalse(root.CurrentChildren.ContainsKey(group.ID)); }
public void SCObjectSnapshotLoadParentInfoTest() { SCOrganization parent2 = SCObjectGenerator.PrepareOrganizationObject("第二组织", "第二组织"); SCObjectOperations.Instance.AddOrganization(parent2, SCOrganization.GetRoot()); SCOrganization parent22 = SCObjectGenerator.PrepareOrganizationObject("第二.二组织", "第二.二组织"); SCObjectOperations.Instance.AddOrganization(parent22, parent2); SCUser user2 = SCObjectGenerator.PrepareUserObject("徐", "磊", "xulei"); SCObjectOperations.Instance.AddUser(user2, parent22); SCOrganization parent3 = SCObjectGenerator.PrepareOrganizationObject("第三组织", "第三组织"); SCObjectOperations.Instance.AddOrganization(parent3, SCOrganization.GetRoot()); SCOrganization parent32 = SCObjectGenerator.PrepareOrganizationObject("第三.二组织", "第三.二组织"); SCObjectOperations.Instance.AddOrganization(parent32, parent3); SCUser user3 = SCObjectGenerator.PrepareUserObject("李", "琪", "liqi"); SCObjectOperations.Instance.AddUser(user3, parent32); Dictionary <string, SCSimpleObjectCollection> parents = SCSnapshotAdapter.Instance.LoadAllParentsInfo(false, user2.ID, user3.ID); Assert.AreEqual(2, parents.Count); foreach (KeyValuePair <string, SCSimpleObjectCollection> kp in parents) { IEnumerable <IOrganization> orgs = parents[kp.Key].ToOguObjects <IOrganization>(); Assert.AreEqual(2, orgs.Count()); Console.WriteLine(parents[kp.Key].JoinNameToFullPath()); orgs.ForEach(o => Console.WriteLine(o.DisplayName)); } }