private void SubmitXpath(XPathQueryGroup group, string expectedXpath, params ResourceObject[] matchResources) { Assert.AreEqual(expectedXpath, group.ToString()); XPathExpression expression = new XPathExpression(UnitTestHelper.ObjectTypeUnitTestObjectName, group); ISearchResultCollection results = client.GetResources(expression.ToString()); if (results.Count == 0) { if (matchResources != null && matchResources.Length > 0) { Assert.Fail("The query returned no results"); } } if (matchResources == null || matchResources.Length == 0) { Assert.Fail("The query returned results where none were expectedXpath"); } if (results.Count != matchResources.Length) { Assert.Fail("The query returned an unexpected number of results"); } if (!results.All(t => matchResources.Any(u => u.ObjectID == t.ObjectID))) { Assert.Fail("The query did not return the correct results"); } }
private void SubmitXpath(object value, string expected, string attributeName, ComparisonOperator xpathOp, GroupOperator queryOp, params ResourceObject[] matchResources) { XPathQuery predicate = new XPathQuery(attributeName, xpathOp, value); string xpath = XPathFilterBuilder.CreateFilter(UnitTestHelper.ObjectTypeUnitTestObjectName, queryOp, predicate); Assert.AreEqual(expected, xpath); ISearchResultCollection results = client.GetResources(xpath); if (results.Count == 0) { if (matchResources != null && matchResources.Length > 0) { Assert.Fail("The query returned no results"); } } if (matchResources == null || matchResources.Length == 0) { Assert.Fail("The query returned results where none were expectedXpath"); } if (results.Count != matchResources.Length) { Assert.Fail("The query returned an unexpected number of results"); } if (!results.All(t => matchResources.Any(u => u.ObjectID == t.ObjectID))) { Assert.Fail("The query did not return the correct results"); } }
private void SubmitXpath(XPathExpression expression, string expectedXpath, params ResourceObject[] matchResources) { Assert.AreEqual(expectedXpath, expression.ToString()); ISearchResultCollection results = client.GetResources(expression.ToString()); if (results.Count == 0) { if (matchResources != null && matchResources.Length > 0) { Assert.Fail("The query returned no results"); } } if (matchResources == null || matchResources.Length == 0) { Assert.Fail("The query returned results where none were expectedXpath"); } if (results.Count != matchResources.Length) { Assert.Fail("The query returned an unexpected number of results. Expected {0}, Actual {1}", matchResources.Length, results.Count); } if (!results.All(t => matchResources.Any(u => u.ObjectID == t.ObjectID))) { Assert.Fail("The query did not return the correct results"); } }
private async void ProcessingChanges(DateTime RequestsSince) { WriteDebug("Starting Processing changes"); ISearchResultCollection requests = await GetRequestsAsync(RequestsSince); foreach (ResourceObject request in requests) { List <ObserverRequest> observerRequests; if (request.Attributes["TargetObjectType"].StringValue == " msidmCompositeType") { WriteVerbose(String.Format("Detected new msidmCompositeType with ID {0} and operation {1}", request.ObjectID.Value, request.Attributes["Operation"].StringValue)); observerRequests = GetObserverRequestFromCompositeRequest(request); } else { WriteVerbose(String.Format("Detected new request with ID {0} and operation {1}", request.ObjectID.Value, request.Attributes["Operation"].StringValue)); observerRequests = new List <ObserverRequest> { new ObserverRequest( request.Attributes["Target"].ReferenceValue, request.Attributes["TargetObjectType"].StringValue, request.Attributes["Operation"].StringValue) }; } foreach (ObserverRequest observerRequest in observerRequests) { var observerObjectSetting = RMObserverSetting.ObserverObjectSettings.Where(c => c.ObjectType == observerRequest.TargetObjectType).FirstOrDefault(); if (observerObjectSetting == null) { WriteVerbose("Change is skipped. No ObserverConfiguration for this ObjectType is configured."); continue; } // ^(Create|Get|Put|Delete|Enumerate|Pull|SystemEvent)$ switch (observerRequest.RequestOperationType) { case "Create": var filesCreated = ProcessingCreate(observerRequest.TargetObjectID, observerObjectSetting); WriteModificationToConsole(filesCreated); break; case "Put": var filesModifications = ProcessingPut(observerRequest.TargetObjectID, observerObjectSetting); WriteModificationToConsole(filesModifications); break; case "Delete": var filesDeleted = ProcessingDelete(observerRequest.TargetObjectID, observerObjectSetting); WriteModificationToConsole(filesDeleted); break; default: break; } } } }
protected override void ProcessRecord() { ISearchResultCollection results = RmcWrapper.Client.GetApprovals(this.Status); foreach (ResourceObject result in results) { this.WriteObject(new RmaObject(result)); } }
public SearchService( IGraphQLService graphQlService, ICachingService cachingService, ISearchResultCollection searchResultCollection) { _graphQLService = graphQlService; _cachingService = cachingService; _searchResultCollection = searchResultCollection; }
protected override void ProcessRecord() { IEnumerable <string> attributes = null; string filter = this.GetQueryString(); attributes = new List <string>() { "ObjectID" }; ISearchResultCollection results = RmcWrapper.Client.GetResources(filter, 0, attributes); this.WriteObject(results.Count); }
public void SearchTestSync() { ResourceManagementClient c = new ResourceManagementClient(); ISearchResultCollection results = c.GetResources("/Set", 200); Debug.WriteLine("Getting {0} results", results.Count); int count = 0; foreach (ResourceObject o in results) { Debug.WriteLine("UT got object " + o.ObjectID); count++; } Assert.AreEqual(results.Count, count); }
private void CheckTimer_Elapsed(object sender, ElapsedEventArgs e) { try { ResourceManagementClient c = new ResourceManagementClient(this.HostName); string xpath; if (this.lastCheckDateTime == null) { xpath = "/Request"; this.Trace("No watermark available. Querying for latest request history item"); } else { xpath = string.Format("/Request[msidmCompletedTime > '{0}']", this.lastCheckDateTime.Value.ToResourceManagementServiceDateFormat(false)); this.Trace($"Searching for changes since {this.lastCheckDateTime.Value.ToResourceManagementServiceDateFormat(false)}"); } ISearchResultCollection r = c.GetResources(xpath, 1, new[] { "msidmCompletedTime" }, "msidmCompletedTime", false); this.Trace($"Found {r.Count} change{r.Count.Pluralize()}"); if (r.Count <= 0) { return; } this.lastCheckDateTime = r.First().Attributes["msidmCompletedTime"].DateTimeValue; this.Fire(MARunProfileType.DeltaImport, "default"); } catch (Exception ex) { this.LogError("Change detection failed", ex); if (MessageSender.CanSendMail()) { string messageContent = MessageBuilder.GetMessageBody(this.ManagementAgentName, this.Type, this.Description, DateTime.Now, false, ex); MessageSender.SendMessage($"{this.ManagementAgentName}: {this.Type} trigger error", messageContent); } } }
public void SearchTestAsyncNoResults() { ResourceManagementClient c = new ResourceManagementClient(); ISearchResultCollection results = c.GetResourcesAsync("Set[DisplayName='...!!!...']", 200); Debug.WriteLine("Getting {0} results", results.Count); int count = 0; foreach (ResourceObject o in results) { Debug.WriteLine("UT got object " + o.ObjectID); count++; } Assert.AreEqual(results.Count, count); Assert.AreEqual(0, count); }
public void SearchTestSyncSortedDesc() { ResourceManagementClient c = new ResourceManagementClient(); List <SortingAttribute> sortAttributes = new List <SortingAttribute>(); sortAttributes.Add(new SortingAttribute("AccountName", false)); string query = String.Format("/{0}[starts-with('{1}', 'reftest')]", UnitTestHelper.ObjectTypeUnitTestObjectName, AttributeNames.AccountName); ISearchResultCollection results = c.GetResources(query, -1, new string[] { "AccountName" }, sortAttributes); ResourceObject[] arrayResults = results.ToArray(); Assert.AreEqual(6, results.Count); Assert.AreEqual("reftest6", arrayResults[0].Attributes[AttributeNames.AccountName].StringValue); Assert.AreEqual("reftest5", arrayResults[1].Attributes[AttributeNames.AccountName].StringValue); Assert.AreEqual("reftest4", arrayResults[2].Attributes[AttributeNames.AccountName].StringValue); Assert.AreEqual("reftest3", arrayResults[3].Attributes[AttributeNames.AccountName].StringValue); Assert.AreEqual("reftest2", arrayResults[4].Attributes[AttributeNames.AccountName].StringValue); Assert.AreEqual("reftest1", arrayResults[5].Attributes[AttributeNames.AccountName].StringValue); }
public void SearchBadFilter() { ResourceManagementClient c = new ResourceManagementClient(); try { ISearchResultCollection results = c.GetResources("!not a filter!", 200); Debug.WriteLine("Getting {0} results", results.Count); foreach (ResourceObject o in results) { Debug.WriteLine("UT got object " + o.ObjectID); } } catch (CannotProcessFilterException) { return; } Assert.Fail("The expected exception was not thrown"); }
public void SearchTestSyncRestrictedAttributeList() { ResourceManagementClient c = new ResourceManagementClient(); List <string> attributesToGet = new List <string>(); attributesToGet.Add("ObjectID"); attributesToGet.Add("ObjectType"); attributesToGet.Add("DisplayName"); ISearchResultCollection results = c.GetResources("/Group", 200, attributesToGet); Debug.WriteLine("Getting {0} results", results.Count); int count = 0; foreach (ResourceObject o in results) { Debug.WriteLine("UT got object " + o.ObjectID); count++; } Assert.AreEqual(results.Count, count); }
public void DeleteAllGroups() { ResourceManagementClient client = new ResourceManagementClient(); // We are performing a delete, so we are only interested in the object ID and object type List <string> attributesToGet = new List <string>() { "ObjectID", "ObjectType" }; // Get all the group objects to delete ISearchResultCollection resources = client.GetResources("/Group", attributesToGet); try { client.DeleteResources(resources); } catch (Exception) { // An error occurred while deleting the resources throw; } }
protected override void Because() { this.Result = this.Sut.FindAll(); }