public void Handler_SearchTestsSuccess() { Dictionary <string, string> parameters = new Dictionary <string, string>(); // Create Objects To Search UserPrincipal up1 = Utility.CreateUser(workspaceName); UserPrincipal up2 = Utility.CreateUser(workspaceName); UserPrincipal up3 = Utility.CreateUser(workspaceName); UserPrincipal up4 = Utility.CreateUser(workspaceName); GroupPrincipal gp1 = Utility.CreateGroup(workspaceName); GroupPrincipal gp2 = Utility.CreateGroup(workspaceName); // Search For Users Console.WriteLine($"Searching For All Users In : [{workspaceName}]"); parameters.Clear(); parameters.Add("searchbase", workspaceName); parameters.Add("filter", "(objectClass=User)"); parameters.Add("attributes", @"[ ""objectGUID"", ""objectSid"" ]"); ActiveDirectoryHandlerResults result = Utility.CallPlan("Search", parameters); Assert.That(result.Results[0].Statuses[0].StatusId, Is.EqualTo(AdStatusType.Success)); Assert.That(result.Results[0].SearchResults.Results.Count, Is.EqualTo(4)); // Search For Groups Console.WriteLine($"Searching For All Groups In : [{workspaceName}]"); parameters.Clear(); parameters.Add("searchbase", workspaceName); parameters.Add("filter", "(objectClass=Group)"); parameters.Add("attributes", @"[ ""objectGUID"", ""objectSid"" ]"); result = Utility.CallPlan("Search", parameters); Assert.That(result.Results[0].Statuses[0].StatusId, Is.EqualTo(AdStatusType.Success)); Assert.That(result.Results[0].SearchResults.Results.Count, Is.EqualTo(2)); // Check Group Membership (GetAllGroups) DirectoryServices.AddToGroup(gp2.DistinguishedName, gp1.DistinguishedName, "group"); DirectoryServices.AddToGroup(gp1.DistinguishedName, up1.DistinguishedName, "user"); Console.WriteLine($"Searching For All Groups For User : [{up1.DistinguishedName}]"); parameters.Clear(); parameters.Add("distinguishedname", up1.DistinguishedName); result = Utility.CallPlan("GetAllGroups", parameters); Assert.That(result.Results[0].Statuses[0].StatusId, Is.EqualTo(AdStatusType.Success)); Assert.That(result.Results[0].SearchResults.Results.Count, Is.EqualTo(3)); // Delete Search Objects Utility.DeleteUser(up1.DistinguishedName); Utility.DeleteUser(up2.DistinguishedName); Utility.DeleteUser(up3.DistinguishedName); Utility.DeleteUser(up4.DistinguishedName); Utility.DeleteGroup(gp1.DistinguishedName); Utility.DeleteGroup(gp2.DistinguishedName); }
public void Core_AddNonExistantGroupToGroup() { // Get Group That Does Not Exist String groupName = $"testgroup_{Utility.GenerateToken( 8 )}"; String groupDistinguishedName = $"OU={groupName},{workspaceName}"; Console.WriteLine($"Adding Group [{groupDistinguishedName}] Which Should Not Exist To Group [{group.DistinguishedName}]."); AdException ex = Assert.Throws <AdException>(() => DirectoryServices.AddToGroup(group.DistinguishedName, groupDistinguishedName, "group")); Console.WriteLine($"Exception Message : {ex.Message}"); Assert.That(ex.Message, Contains.Substring("cannot be found")); }
public void Core_GroupManagementTestSuccess() { // Add User To Group UserPrincipal user = Utility.CreateUser(workspaceName); UserPrincipalObject upo = DirectoryServices.GetUser(user.DistinguishedName, true, false, false); int beforeCount = upo.Groups.Count; Console.WriteLine($"Adding User [{user.Name}] To Group [{group.Name}]."); DirectoryServices.AddToGroup(group.DistinguishedName, user.DistinguishedName, "user"); upo = DirectoryServices.GetUser(user.DistinguishedName, true, false, false); int afterCount = upo.Groups.Count; Assert.That(afterCount, Is.EqualTo(beforeCount + 1)); // Remove User From Group beforeCount = afterCount; Console.WriteLine($"Removing User [{user.Name}] From Group [{group.Name}]."); DirectoryServices.RemoveFromGroup(group.DistinguishedName, user.DistinguishedName, "user"); upo = DirectoryServices.GetUser(user.DistinguishedName, true, false, false); afterCount = upo.Groups.Count; Assert.That(afterCount, Is.EqualTo(beforeCount - 1)); // Delete User Utility.DeleteUser(user.DistinguishedName); // Add Group To Group GroupPrincipal newGroup = Utility.CreateGroup(workspaceName); GroupPrincipalObject gpo = DirectoryServices.GetGroup(newGroup.DistinguishedName, true, false, false); beforeCount = gpo.Groups.Count; Console.WriteLine($"Adding Group [{newGroup.Name}] To Group [{group.Name}]."); DirectoryServices.AddToGroup(group.DistinguishedName, newGroup.DistinguishedName, "group"); gpo = DirectoryServices.GetGroup(newGroup.DistinguishedName, true, false, false); afterCount = gpo.Groups.Count; Assert.That(afterCount, Is.EqualTo(beforeCount + 1)); // Remove Group From Group beforeCount = afterCount; Console.WriteLine($"Removing Group [{newGroup.Name}] From Group [{group.Name}]."); DirectoryServices.RemoveFromGroup(group.DistinguishedName, newGroup.DistinguishedName, "group"); gpo = DirectoryServices.GetGroup(newGroup.DistinguishedName, true, false, false); afterCount = gpo.Groups.Count; Assert.That(afterCount, Is.EqualTo(beforeCount - 1)); // Delete Groups Utility.DeleteGroup(newGroup.DistinguishedName); }