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); }
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"))); }
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); }
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)); }
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)); }
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); }