コード例 #1
0
ファイル: UserFacadeTest.cs プロジェクト: wooln/AK47Source
        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);
        }
コード例 #2
0
ファイル: OrgFacadeTest.cs プロジェクト: wooln/AK47Source
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
        }
コード例 #6
0
ファイル: OrgFacadeTest.cs プロジェクト: wooln/AK47Source
        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);
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        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));
            }
        }