public void Disassociate_All_PolicyGroups_ByDomain_Test()
        {
            InitDomainRecords();
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager groupMgr    = CreateManager();
            CertPolicyGroup        policyGroup = groupMgr.Get("PolicyGroup1");

            policyGroup.CertPolicies.Count.Should().Be(0);


            groupMgr.AssociateToOwner(policyGroup.Name, "domain1.test.com");
            groupMgr.AssociateToOwner(policyGroup.Name, "domain2.test.com");

            policyGroup = groupMgr.Get("PolicyGroup1");
            policyGroup.CertPolicyGroupDomainMaps.Count.Should().Be(2);

            //group2
            CertPolicyGroup policyGroup2 = groupMgr.Get("PolicyGroup2");

            policyGroup2.CertPolicies.Count.Should().Be(0);
            groupMgr.AssociateToOwner(policyGroup2.Name, "domain1.test.com");
            policyGroup2 = groupMgr.Get("PolicyGroup2");
            policyGroup2.CertPolicyGroupDomainMaps.Count.Should().Be(1);

            groupMgr.DisassociateFromDomain("domain1.test.com");

            policyGroup = groupMgr.Get("PolicyGroup1");
            policyGroup.CertPolicyGroupDomainMaps.Count.Should().Be(1);

            policyGroup = groupMgr.Get("PolicyGroup2");
            policyGroup.CertPolicyGroupDomainMaps.Count.Should().Be(0);
        }
예제 #2
0
 internal void PushPolicyGroup(string name, string description, bool checkForDupes)
 {
     try
     {
         if (!checkForDupes || !Client.Contains(name))
         {
             CertPolicyGroup certPolicyGroup = new CertPolicyGroup(name, description);
             Client.AddPolicyGroup(certPolicyGroup);
             WriteLine("Added {0}", certPolicyGroup.Name);
         }
         else
         {
             WriteLine("Exists {0}", name);
         }
     }
     catch (FaultException <ConfigStoreFault> ex)
     {
         if (ex.Detail.Error == ConfigStoreError.UniqueConstraint)
         {
             WriteLine("Exists {0}", name);
         }
         else
         {
             throw;
         }
     }
 }
예제 #3
0
 public void Print(CertPolicyGroup group)
 {
     CommandUI.Print("ID", group.ID);
     CommandUI.Print("Name", group.Name);
     CommandUI.Print("Description", group.Description);
     CommandUI.Print("CreateDate", group.CreateDate);
 }
        public void GetPolicyGroupByName()
        {
            InitCertPolicyGroupRecords();
            CertPolicyGroupManager mgr    = CreateManager();
            CertPolicyGroup        @group = mgr.Get("PolicyGroup1");

            @group.Name.Should().BeEquivalentTo("PolicyGroup1");
        }
예제 #5
0
 public void IDTest()
 {
     CertPolicyGroup target = new CertPolicyGroup();
     long expected = new Random().Next(1, 10);
     target.ID = expected;
     long actual = target.ID;
     Assert.Equal(expected, actual);
 }
예제 #6
0
 public void CreateDateTest()
 {
     CertPolicyGroup target = new CertPolicyGroup();
     DateTime expected = DateTime.UtcNow;
     target.CreateDate = expected;
     DateTime actual = target.CreateDate;
     Assert.Equal(expected, actual);
 }
예제 #7
0
 public void NameTest()
 {
     CertPolicyGroup target = new CertPolicyGroup();
     string expected = "Policy_Group_1";
     target.Name = expected;
     string actual = target.Name;
     Assert.Equal(expected, actual);
 }
예제 #8
0
        public void AddCertPolicyGroupTest()
        {
            CertPolicyGroup          target       = new CertPolicyGroup();
            CertPolicyGroupMap       targetChild  = new CertPolicyGroupMap();
            CertPolicyGroupDomainMap targetChild2 = new CertPolicyGroupDomainMap();

            target.CertPolicyGroupMaps.Add(targetChild);
            target.CertPolicyGroupDomainMaps.Add(targetChild2);
        }
예제 #9
0
        public void AddCertPolicyGroupTest()
        {
            CertPolicyGroup target = new CertPolicyGroup();
            CertPolicyGroupMap targetChild = new CertPolicyGroupMap();
            CertPolicyGroupDomainMap targetChild2 = new CertPolicyGroupDomainMap();

            target.CertPolicyGroupMaps.Add(targetChild);
            target.CertPolicyGroupDomainMaps.Add(targetChild2);
        }
예제 #10
0
        public void CreateDateTest()
        {
            CertPolicyGroup target   = new CertPolicyGroup();
            DateTime        expected = DateTime.UtcNow;

            target.CreateDate = expected;
            DateTime actual = target.CreateDate;

            Assert.Equal(expected, actual);
        }
예제 #11
0
        private CertPolicyGroup GetCertPolicyGroup(string name)
        {
            CertPolicyGroup certPolicy = Client.GetPolicyGroupByName(name);

            if (certPolicy == null)
            {
                throw new ArgumentException(string.Format("CertPolicy {0} not found", name));
            }
            return(certPolicy);
        }
예제 #12
0
        public void NameTest()
        {
            CertPolicyGroup target   = new CertPolicyGroup();
            string          expected = "Policy_Group_1";

            target.Name = expected;
            string actual = target.Name;

            Assert.Equal(expected, actual);
        }
예제 #13
0
        public void IDTest()
        {
            CertPolicyGroup target   = new CertPolicyGroup();
            long            expected = new Random().Next(1, 10);

            target.ID = expected;
            long actual = target.ID;

            Assert.Equal(expected, actual);
        }
예제 #14
0
 public void UpdateGroupAttributes(CertPolicyGroup policyGroup)
 {
     try
     {
         Store.CertPolicyGroups.Update(policyGroup);
     }
     catch (Exception ex)
     {
         throw CreateFault("UpdateGroupAttributes", ex);
     }
 }
        public void AddPolicyGroup()
        {
            InitCertPolicyGroupRecords();
            CertPolicyGroupManager mgr = CreateManager();

            CertPolicyGroup expectedPolicy   = new CertPolicyGroup("UnitTestPolicyGroup", "UnitTest PolicyGroup Description");
            CertPolicyGroup actualCertPolicy = mgr.Add(expectedPolicy);

            expectedPolicy.Name.Should().BeEquivalentTo("UnitTestPolicyGroup");
            expectedPolicy.CreateDate.Should().BeCloseTo(actualCertPolicy.CreateDate);
        }
예제 #16
0
 public CertPolicyGroup AddPolicyGroup(CertPolicyGroup policyGroup)
 {
     try
     {
         CertPolicyGroup certPolicyGroup = new CertPolicyGroup(policyGroup);
         return(Store.CertPolicyGroups.Add(certPolicyGroup));
     }
     catch (Exception ex)
     {
         throw CreateFault("AddPolicyGroup", ex);
     }
 }
예제 #17
0
        public void AssociatePolicyGroupToDomain_Test()
        {
            InitDomainRecords();
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager groupMgr    = CreateManager();
            CertPolicyGroup        policyGroup = groupMgr.Get("PolicyGroup1");

            policyGroup.CertPolicies.Count.Should().Be(0);

            groupMgr.AssociateToOwner(policyGroup.Name, "domain1.test.com");
            groupMgr.AssociateToOwner(policyGroup.Name, "domain2.test.com");

            policyGroup = groupMgr.Get("PolicyGroup1");
            policyGroup.CertPolicyGroupDomainMaps.Count.Should().Be(2);
        }
        public void AssociatePolicyToGroupSessionTest()
        {
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            using (ConfigDatabase db = CreateConfigDatabase(CertPolicyGroupManager.DataLoadOptions))
            {
                CertPolicyGroupManager mgr         = CreateManager();
                CertPolicyGroup        policyGroup = mgr.Get(db, "PolicyGroup1");
                policyGroup.CertPolicies.Count.Should().Be(0);
                CertPolicyManager policyMgr  = CreatePolicyManager();
                CertPolicy        certPolicy = policyMgr.Get("Policy1");

                policyGroup.CertPolicies.Add(certPolicy);
                db.SubmitChanges();
                policyGroup = mgr.Get("PolicyGroup1");
                policyGroup.CertPolicies.Count.Should().Be(1);
            }
        }
        public void UpdatePolicyGroupDescriptionTest()
        {
            InitCertPolicyGroupRecords();
            CertPolicyGroupManager mgr = CreateManager();

            CertPolicyGroup newCertPolicyGroup = new CertPolicyGroup("UnitTestPolicyGroup", "UnitTest Policy Description");

            mgr.Add(newCertPolicyGroup);
            CertPolicyGroup actualCertPolicy = mgr.Get("UnitTestPolicyGroup");

            actualCertPolicy.Should().NotBeNull();

            actualCertPolicy.Description = "blank";
            mgr.Update(actualCertPolicy);

            CertPolicyGroup updatedCertPolicy = mgr.Get("UnitTestPolicyGroup");

            updatedCertPolicy.Description.ShouldAllBeEquivalentTo("blank");
        }
예제 #20
0
        public void GetIncomingAndOutgoingCertPolicieByOwnerAndUsage_Test()
        {
            CertPolicyGroupManager groupMgr     = CreatePolicyGroupManager();
            CertPolicyGroup        policyGroup1 = groupMgr.Get("PolicyGroup1");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            CertPolicyGroup policyGroup2 = groupMgr.Get("PolicyGroup2");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            policyGroup2.CertPolicies.Count.Should().Be(0);



            //
            // Map cert policy group to domains
            //
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain1.test.com");
            groupMgr.AssociateToOwner(policyGroup2.Name, "domain2.test.com");
            //
            // Map cert policy group to policy
            //
            groupMgr.AddPolicyUse("Policy1", "PolicyGroup1", CertPolicyUse.TRUST, true, true);
            groupMgr.AddPolicyUse("Policy2", "PolicyGroup1", CertPolicyUse.PRIVATE_RESOLVER, true, false);


            CertPolicyManager policyMgr = CreateManager();

            CertPolicy[] policies = policyMgr.GetIncomingByOwner("domain1.test.com", CertPolicyUse.TRUST);
            policies.Length.Should().Be(1);
            policies = policyMgr.GetIncomingByOwner("domain1.test.com", CertPolicyUse.PUBLIC_RESOLVER);
            policies.Length.Should().Be(0);
            policies = policyMgr.GetOutgoingByOwner("domain1.test.com", CertPolicyUse.TRUST);
            policies.Length.Should().Be(1);
            policies = policyMgr.GetOutgoingByOwner("domain1.test.com", CertPolicyUse.PRIVATE_RESOLVER);
            policies.Length.Should().Be(0);

            policies = policyMgr.GetIncomingByOwner("domain2.test.com", CertPolicyUse.PRIVATE_RESOLVER);
            policies.Length.Should().Be(0);

            policies = policyMgr.GetIncomingByOwner("domain3.test.com", CertPolicyUse.PRIVATE_RESOLVER);
            policies.Length.Should().Be(0);
        }
        public void GetPolicyGroupsByDomains()
        {
            InitDomainRecords();
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager groupMgr     = CreateManager();
            CertPolicyGroup        policyGroup1 = groupMgr.Get("PolicyGroup1");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            CertPolicyGroup policyGroup2 = groupMgr.Get("PolicyGroup2");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            policyGroup2.CertPolicies.Count.Should().Be(0);

            //
            // Map cert policy group to domains
            //
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain1.test.com");
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain2.test.com");
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain3.test.com");
            groupMgr.AssociateToOwner(policyGroup2.Name, "domain2.test.com");

            CertPolicyGroup[] policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com" });
            policyGroups.Length.Should().Be(1);
            policyGroups[0].CertPolicyGroupDomainMaps.Count.Should().Be(1);

            policyGroups = groupMgr.GetByDomains(new string[] { "domain2.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Where(cpg => cpg.Name == "PolicyGroup1").Select(cpg => cpg.CertPolicyGroupDomainMaps).ToList().Count.Should().Be(1);
            policyGroups.Where(cpg => cpg.Name == "PolicyGroup2").Select(cpg => cpg.CertPolicyGroupDomainMaps).ToList().Count.Should().Be(1);

            policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com", "domain2.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupDomainMaps.Count.Should().Be(1);

            policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com", "domain2.test.com", "domain3.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(3);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupDomainMaps.Count.Should().Be(1);
        }
예제 #22
0
        public void DisassociatePolicyFromGroupTest()
        {
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager mgr = CreateManager();

            //act
            mgr.AddPolicyUse("Policy1", "PolicyGroup1", CertPolicyUse.TRUST, true, true);

            CertPolicyGroup policyGroup = mgr.Get("PolicyGroup1");

            policyGroup.CertPolicies.Count.Should().Be(1);

            CertPolicyGroupMap[] map = new CertPolicyGroupMap[] { policyGroup.CertPolicyGroupMaps.First() };
            mgr.RemovePolicy(map);

            policyGroup = mgr.Get("PolicyGroup1");
            policyGroup.CertPolicies.Count.Should().Be(0);
        }
예제 #23
0
        public void DeletePolicyWithAssociations()
        {
            CertPolicyGroupManager groupMgr    = CreatePolicyGroupManager();
            CertPolicyGroup        policyGroup = groupMgr.Get("PolicyGroup1");

            policyGroup.CertPolicies.Count.Should().Be(0);

            CertPolicyManager policyMgr = CreateManager();

            policyMgr.Get("Policy1").Should().NotBeNull();

            groupMgr.AddPolicyUse("Policy1", "PolicyGroup1", CertPolicyUse.PRIVATE_RESOLVER, true, true);

            policyGroup = groupMgr.Get("PolicyGroup1");
            policyGroup.CertPolicies.Count.Should().Be(1);

            CertPolicyManager mgr    = CreateManager();
            CertPolicy        policy = mgr.Get("Policy1");

            mgr.Remove(policy.ID);
            policyMgr.Get("Policy1").Should().BeNull();
        }
예제 #24
0
        public void AddPolicyUseTest()
        {
            //arrange
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager mgr = CreateManager();

            //act
            mgr.AddPolicyUse("Policy1", "PolicyGroup1", CertPolicyUse.TRUST, true, true);

            //assert 1
            CertPolicyGroup policyGroup = mgr.Get("PolicyGroup1");

            policyGroup.CertPolicies.Count.Should().Be(1);

            //act
            mgr.AddPolicyUse("Policy2", "PolicyGroup1", CertPolicyUse.TRUST, false, true);

            //assert 2
            policyGroup = mgr.Get("PolicyGroup1");
            policyGroup.CertPolicies.Count.Should().Be(2);
        }
예제 #25
0
        public void AddPolicyGroup()
        {
            InitCertPolicyGroupRecords();
            CertPolicyGroupManager mgr = CreateManager();

            CertPolicyGroup expectedPolicy = new CertPolicyGroup("UnitTestPolicyGroup", "UnitTest PolicyGroup Description");
            CertPolicyGroup actualCertPolicy = mgr.Add(expectedPolicy);
            
            expectedPolicy.Name.Should().BeEquivalentTo("UnitTestPolicyGroup");
            expectedPolicy.CreateDate.Should().BeCloseTo(actualCertPolicy.CreateDate);
        }
예제 #26
0
        public void UpdatePolicyGroupDescriptionTest()
        {
            InitCertPolicyGroupRecords();
            CertPolicyGroupManager mgr = CreateManager();

            CertPolicyGroup newCertPolicyGroup = new CertPolicyGroup("UnitTestPolicyGroup", "UnitTest Policy Description");
            mgr.Add(newCertPolicyGroup);
            CertPolicyGroup actualCertPolicy = mgr.Get("UnitTestPolicyGroup");
            actualCertPolicy.Should().NotBeNull();

            actualCertPolicy.Description = "blank";
            mgr.Update(actualCertPolicy);

            CertPolicyGroup updatedCertPolicy = mgr.Get("UnitTestPolicyGroup");
            updatedCertPolicy.Description.ShouldAllBeEquivalentTo("blank");
        }
        public void GetPolicyGroupsByDomainsWithPoliciesTest()
        {
            InitDomainRecords();
            InitCertPolicyRecords();
            InitCertPolicyGroupRecords();

            CertPolicyGroupManager groupMgr     = CreateManager();
            CertPolicyGroup        policyGroup1 = groupMgr.Get("PolicyGroup1");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            CertPolicyGroup policyGroup2 = groupMgr.Get("PolicyGroup2");

            policyGroup1.CertPolicies.Count.Should().Be(0);
            policyGroup2.CertPolicies.Count.Should().Be(0);



            //
            // Map cert policy group to domains
            //
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain1.test.com");
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain2.test.com");
            groupMgr.AssociateToOwner(policyGroup1.Name, "domain3.test.com");
            groupMgr.AssociateToOwner(policyGroup2.Name, "domain2.test.com");
            //
            // Map cert policy group to policy
            //
            groupMgr.AddPolicyUse("Policy1", "PolicyGroup1", CertPolicyUse.PUBLIC_RESOLVER, true, true);
            groupMgr.AddPolicyUse("Policy2", "PolicyGroup1", CertPolicyUse.PUBLIC_RESOLVER, true, true);
            groupMgr.AddPolicyUse("Policy2", "PolicyGroup2", CertPolicyUse.PUBLIC_RESOLVER, true, true);

            CertPolicyGroup[] policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com" });
            policyGroups.Length.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicies.Count.Should().Be(2);
            foreach (var policy in policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicies)
            {
                Console.WriteLine(policy.Name);
                Console.WriteLine(policy.Data.ToUtf8String());
            }

            policyGroups = groupMgr.GetByDomains(new string[] { "domain2.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupDomainMaps.Count.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupMaps.Count.Should().Be(1);

            policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com", "domain2.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupDomainMaps.Count.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupMaps.Count.Should().Be(1);

            policyGroups = groupMgr.GetByDomains(new string[] { "domain1.test.com", "domain2.test.com", "domain3.test.com" });
            policyGroups.Length.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupDomainMaps.Count.Should().Be(3);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup1").CertPolicyGroupMaps.Count.Should().Be(2);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupDomainMaps.Count.Should().Be(1);
            policyGroups.Single(cpg => cpg.Name == "PolicyGroup2").CertPolicyGroupMaps.Count.Should().Be(1);
        }