Exemplo n.º 1
0
        public void ExtraMembersInTargetAreNotIncludedInTheResultTest()
        {
            var sourceMemberList = new List <FirewallObject>
            {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")),
                new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var targetMemberList = new List <FirewallObject>
            {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")),
                new AddressObject("host2", IPAddress.Parse("10.10.10.2")),
                new AddressObject("host3", IPAddress.Parse("10.10.10.3"))
            };
            var sourceGroup = new AddressGroupObject("group", sourceMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = sourceMemberList
            };
            var targetGroup = new AddressGroupObject("group", targetMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = targetMemberList
            };

            var delta = sourceGroup.GetDelta(targetGroup);

            Assert.IsNotNull(delta);
            Assert.IsTrue(delta.Count == 0);
        }
Exemplo n.º 2
0
        public void IpMismatchGroupsTest()
        {
            var sourceMemberList = new List <FirewallObject>
            {
                new AddressObject("host1", IPAddress.Parse("10.10.10.3")),
                new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var targetMemberList = new List <FirewallObject>
            {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")),
                new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var sourceGroup = new AddressGroupObject("group", sourceMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = sourceMemberList
            };
            var targetGroup = new AddressGroupObject("group", targetMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = targetMemberList
            };

            var delta = sourceGroup.GetDelta(targetGroup);

            Assert.IsNotNull(delta);
            Assert.IsTrue(delta.Count == 1);
            Assert.AreEqual(delta[0], new AddressObject("host1", IPAddress.Parse("10.10.10.3")));
        }
Exemplo n.º 3
0
        public void ShallowEqualsTest()
        {
            // Identical members
            var membersSource = new List <string> {
                "host1", "host2"
            };
            var membersTarget = new List <string> {
                "host1", "host2"
            };
            var groupSource = new AddressGroupObject("test", membersSource);
            var groupTarget = new AddressGroupObject("test", membersTarget);

            Assert.AreEqual(groupSource, groupTarget);

            // Identical members but potentially different order
            groupSource.Members = new List <string> {
                "host1", "host2"
            };
            groupTarget.Members = new List <string> {
                "host2", "host1"
            };
            Assert.AreEqual(groupSource, groupTarget);

            // Identical members, but different case
            // Case Sensetive !!!
            groupSource.Members = new List <string> {
                "host1", "host2"
            };
            groupTarget.Members = new List <string> {
                "Host1", "Host2"
            };
            Assert.AreNotEqual(groupSource, groupTarget);

            // Missing member
            groupSource.Members = new List <string> {
                "host1", "host2"
            };
            groupTarget.Members = new List <string> {
                "host1"
            };
            Assert.AreNotEqual(groupSource, groupTarget);

            // Different member
            groupSource.Members = new List <string> {
                "host1", "host2"
            };
            groupTarget.Members = new List <string> {
                "host1", "host3"
            };
            Assert.AreNotEqual(groupSource, groupTarget);
        }
Exemplo n.º 4
0
        public void AddressObjectListsCompareTestIdenticalObjectsDifferentOrder()
        {
            var sourceMemberList = new List <FirewallObject> {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")), new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var targetMemberList = new List <FirewallObject> {
                new AddressObject("host2", IPAddress.Parse("10.10.10.2")), new AddressObject("host1", IPAddress.Parse("10.10.10.1"))
            };
            var sourceGroup = new AddressGroupObject("group", sourceMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = sourceMemberList
            };
            var targetGroup = new AddressGroupObject("group", targetMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = targetMemberList
            };

            Assert.IsTrue(sourceGroup.DeepCompare(targetGroup));
        }
Exemplo n.º 5
0
        public void EqualGroupsTest()
        {
            var sourceMemberList = new List <FirewallObject> {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")), new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var targetMemberList = new List <FirewallObject> {
                new AddressObject("host1", IPAddress.Parse("10.10.10.1")), new AddressObject("host2", IPAddress.Parse("10.10.10.2"))
            };
            var sourceGroup = new AddressGroupObject("group", sourceMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = sourceMemberList
            };
            var targetGroup = new AddressGroupObject("group", targetMemberList.Select(a => a.Name).ToList())
            {
                MemberObjects = targetMemberList
            };

            Assert.IsNull(sourceGroup.GetDelta(targetGroup));
        }
Exemplo n.º 6
0
        public AddressGroupObject AddressGroupFromDomainControllersInRootDomain(string addressGroupName)
        {
            var context = Credential != null ?
                          new DirectoryContext(DirectoryContextType.Forest, ForestName, Credential.UserName, Credential.GetNetworkCredential().Password) :
                          new DirectoryContext(DirectoryContextType.Forest, ForestName);

            var forest            = Forest.GetForest(context);
            var domainControllers = forest.RootDomain.DomainControllers;

            var domainControllersAddressObjects = domainControllers.Cast <DomainController>().
                                                  Select(domainController => dnsRepository.IpV4AddressObjectFromFqdn(domainController.Name)).
                                                  Where(address => address != null).
                                                  Cast <FirewallObject>().
                                                  ToList();

            var result = new AddressGroupObject(
                addressGroupName,
                domainControllersAddressObjects.Select(d => d.Name).ToList())
            {
                MemberObjects = domainControllersAddressObjects
            };

            return(result);
        }