public void Should_be_possible_to_obtain_a_variable_by_ovalComponentId() { List <string> variableValues = new List <string>() { "Multiprocessor Free" }; VariableValue variable = new VariableValue("oval:org.mitre.oval:obj:6000", "oval:com.hp:var:1", variableValues); IEnumerable <VariableValue> variables = new List <VariableValue>() { variable }; VariablesEvaluated variablesEvaluated = new VariablesEvaluated(variables); CollectInfo collectInfo = new CollectInfo() { Variables = variablesEvaluated }; IEnumerable <VariableValue> variablesExpected = collectInfo.GetVariableValueForOvalComponent("oval:org.mitre.oval:obj:6000"); Assert.IsNotNull(variablesExpected, "the variable was not found"); variablesExpected = collectInfo.GetVariableValueForOvalComponent("oval:org.mitre.oval:obj:6005"); Assert.IsTrue(variablesExpected.Count() == 0, "the variable is not expected"); }
/// <summary> /// Executes a normal collect, using the system datasource for data collecting. /// </summary> /// <param name="ovalComponent">The oval component.</param> /// <param name="collectInfo">The collect info.</param> /// <param name="id">The id parameter is 'a sequencial number controlled by external scope.</param> /// <returns></returns> private CollectedObject ProcessCollect(Definitions.ObjectType ovalComponent, CollectInfo collectInfo, ProbeResultBuilder probeResultBuilder, ref int id) { CollectedObject collectedObject = null; var allItemsToCollect = this.TryToGetItemsToCollect(ovalComponent, collectInfo.Variables); if (allItemsToCollect.Count() > 0) { collectedObject = new CollectedObject(ovalComponent.id); foreach (var itemToCollect in allItemsToCollect) { var collectedItems = ObjectCollector.CollectDataForSystemItem(itemToCollect); foreach (var collectedItem in collectedItems) { var itemType = probeResultBuilder.GetItemType(collectedItem.ItemType); if (itemType == null) { collectedItem.ItemType.id = id.ToString(); id++; } else { collectedItem.ItemType = itemType; } collectedObject.AddItemToSystemData(collectedItem.ItemType); var variables = collectInfo.GetVariableValueForOvalComponent(collectedObject.ObjectType.id); collectedObject.AddVariableReference(variables); ExecutionLogBuilder.AddDetailInformation(collectedItem.ExecutionLog); } } collectedObject.UpdateCollectedObjectStatus(); } return(collectedObject); }