コード例 #1
0
 private void AssertRunlevelItem(
     runlevel_item runlevelItemToAssert,
     string expectedServiceName,
     string expectedRunlevelValue)
 {
     ItemTypeEntityChecker.AssertItemTypeEntity(runlevelItemToAssert.service_name, expectedServiceName);
     ItemTypeEntityChecker.AssertItemTypeEntity(runlevelItemToAssert.runlevel, expectedRunlevelValue);
     Assert.IsNull(runlevelItemToAssert.start);
     Assert.IsNull(runlevelItemToAssert.kill);
 }
コード例 #2
0
        public virtual IEnumerable <ItemType> GetItemsToCollect(OVAL.Definitions.ObjectType objectType, VariablesEvaluated variables)
        {
            var serviceNameEntity = ((runlevel_object)objectType).GetItemValue("service_name");
            var serviceNameValues = this.EvaluateVariable((EntityObjectStringType)serviceNameEntity, variables);

            IEnumerable <string> serviceUniverse = null;

            var operation = ((EntitySimpleBaseType)serviceNameEntity).operation;

            if (operation == OperationEnumeration.patternmatch)
            {
                serviceUniverse   = GetServiceUniverse();
                serviceNameValues = this.DoPatternMatch(serviceNameValues, serviceUniverse);
            }
            else if (operation == OperationEnumeration.notequal)
            {
                serviceUniverse   = GetServiceUniverse();
                serviceNameValues = this.NotEqualOperation(serviceNameValues, serviceUniverse);
            }

            var runLevelEntity = ((runlevel_object)objectType).GetItemValue("runlevel");
            var runLevelValues = this.EvaluateVariable((EntityObjectStringType)runLevelEntity, variables);

            var runLevelOperation = ((EntitySimpleBaseType)runLevelEntity).operation;

            if (runLevelOperation == OperationEnumeration.patternmatch)
            {
                var runlevelUniverse = GetRunlevelUniverse();
                runLevelValues = this.DoPatternMatch(runLevelValues, runlevelUniverse);
            }
            else if (runLevelOperation == OperationEnumeration.notequal)
            {
                var runlevelUniverse = GetRunlevelUniverse();
                runLevelValues = this.NotEqualOperation(runLevelValues, runlevelUniverse);
            }

            var itemsToCollect = new List <ItemType>();

            foreach (var serviceName in serviceNameValues)
            {
                foreach (var runLevelName in runLevelValues)
                {
                    var newItemToCollect = new runlevel_item()
                    {
                        service_name = OvalHelper.CreateItemEntityWithStringValue(serviceName),
                        runlevel     = OvalHelper.CreateItemEntityWithStringValue(runLevelName)
                    };
                    itemsToCollect.Add(newItemToCollect);
                }
            }

            return(itemsToCollect);
        }