Exemple #1
0
        public void CloneTemplateTest()
        {
            MockObjectRepository repo = TestDataGenerator.GenerateMockDataset1();
            var      user             = repo.FindOrAddUser("test.user", repo.FindOrAddOrganization("LCG"));
            Template firstTemplate    = repo.Templates.First();

            Template secondTemplate = firstTemplate.CloneTemplate(repo, user.Id);

            repo.Templates.AddObject(secondTemplate);
            Assert.AreNotEqual(firstTemplate.Name, secondTemplate.Name, "Title for the first template should be different than the cloned template.");
            Assert.AreEqual(firstTemplate.Oid + ".1", secondTemplate.Oid, "Expected the second template's oid to have .1 added to it.");

            // Test that other properties were copied
            Assert.AreEqual(firstTemplate.ImplementationGuideTypeId, secondTemplate.ImplementationGuideTypeId);
            Assert.AreEqual(firstTemplate.TemplateTypeId, secondTemplate.TemplateTypeId);
            Assert.AreEqual(firstTemplate.OwningImplementationGuideId, secondTemplate.OwningImplementationGuideId);
            Assert.AreEqual(firstTemplate.ImpliedTemplateId, secondTemplate.ImpliedTemplateId);
            Assert.AreEqual(firstTemplate.PrimaryContext, secondTemplate.PrimaryContext);
            Assert.AreEqual(firstTemplate.PrimaryContextType, secondTemplate.PrimaryContextType);
            Assert.AreEqual(firstTemplate.IsOpen, secondTemplate.IsOpen);

            // Test that making more than 10 copies properly generates the title and oid
            Template lastCopiedTemplate = null;
            int      count = 1;

            while (count < 11)
            {
                lastCopiedTemplate = firstTemplate.CloneTemplate(repo, user.Id);
                repo.Templates.AddObject(lastCopiedTemplate);
                count++;
            }

            Assert.AreEqual(firstTemplate.Oid + ".12", lastCopiedTemplate.Oid, "Generated oid for copied templates is not working when there are more than 10 copies.");
            Assert.AreEqual(firstTemplate.Name + " (Copy 11)", lastCopiedTemplate.Name, "Genrated title for copied templates is not working when there are more than 10 copies.");
        }
        public void CheckPoint_CheckHL7Roles()
        {
            MockObjectRepository mockRepo = TestDataGenerator.GenerateMockDataset1();

            mockRepo.FindOrAddUser("testuser", mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL));
            mockRepo.AddRole("Users");
            mockRepo.AddRole("HL7 Members");
            mockRepo.AssociateUserWithRole("testuser", mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL).Id, "Users");

            //With Role Restriction added, try to add role, Assert role did not get added
            Role role = mockRepo.Roles.Single(y => y.Name == "HL7 Members");

            role.Restrictions.Add(new RoleRestriction()
            {
                Role           = role,
                RoleId         = role.Id,
                OrganizationId = mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL).Id,
                Organization   = mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL)
            });

            DBContext.Instance = mockRepo;
            CheckPoint.Instance.CheckHL7Roles("testuser", "ismember");

            User user = mockRepo.Users.SingleOrDefault(y => y.UserName == "testuser" && y.Organization.Name == Helper.AUTH_EXTERNAL);

            Assert.IsTrue(user.UserName == "testuser");
            Assert.IsTrue(user.Roles.Count(y => y.Role.Name == "Users") > 0);
            Assert.IsFalse(user.Roles.Count(y => y.Role.Name == "HL7 Members") > 0);


            //Test for: Remove Role Restriction, try to modify role, Assert the role gets added

            role.Restrictions.Remove(role.Restrictions.SingleOrDefault(y => y.Organization.Name == Helper.AUTH_EXTERNAL));

            DBContext.Instance = mockRepo;
            CheckPoint.Instance.CheckHL7Roles("testuser", "ismember");

            Assert.IsTrue(user.UserName == "testuser");
            Assert.IsTrue(user.Roles.Count(y => y.Role.Name == "HL7 Members") > 0);

            //Should the old role be removed?
            //Assert.IsFalse(user.Roles.Count(y => y.Role.Name == "Users") > 0);
        }