public virtual IEnumerable<ItemType> GetItemsToCollect(Definitions.ObjectType objectType, VariablesEvaluated variables)
        {
            var fileEffectiveRights53Object = (fileeffectiverights53_object)objectType;

            if (fileEffectiveRights53Object.HasVariableDefined())
            {
                var objectTypes = new FileEffectiveRights53EntityVariableEvaluator(variables).ProcessVariables(objectType);
                return this.OperationEvaluator.ProcessOperation(objectTypes).ToList();
            }

            return OperationEvaluator.ProcessOperation(fileEffectiveRights53Object).ToList();
        }
Beispiel #2
0
        public virtual IEnumerable <ItemType> GetItemsToCollect(Definitions.ObjectType objectType, VariablesEvaluated variables)
        {
            var fileEffectiveRights53Object = (fileeffectiverights53_object)objectType;

            if (fileEffectiveRights53Object.HasVariableDefined())
            {
                var objectTypes = new FileEffectiveRights53EntityVariableEvaluator(variables).ProcessVariables(objectType);
                return(this.OperationEvaluator.ProcessOperation(objectTypes).ToList());
            }

            return(OperationEvaluator.ProcessOperation(fileEffectiveRights53Object).ToList());
        }
        public void Should_be_possible_to_evaluate_variable_for_path_entity_when_filename_is_nil()
        {
            var sourceObject = ProbeHelper.GetOvalComponentByOvalID(this.Definitions, ConstantHelper.OBJECT_ID_1071);
            var pathVariableID = this.GetVariableReferenceID(sourceObject.id, ConstantHelper.PathEntityName);
            var pathVariableValue = this.GetVariableValue(pathVariableID);
            var variablesAndValues = new Dictionary<String, IEnumerable<String>>();
            variablesAndValues.Add(pathVariableID, new string[] { pathVariableValue });
            var evaluatedVariables = VariableHelper.CreateEvaluatedVariables(sourceObject.id, variablesAndValues);
            var variableEvaluator = new FileEffectiveRights53EntityVariableEvaluator(evaluatedVariables);

            var evaluationResult = variableEvaluator.ProcessVariables(sourceObject);

            Assert.IsNotNull(evaluationResult);
            Assert.AreEqual(1, evaluationResult.Count());
            var entities = evaluationResult.Single().GetEntityBaseTypes();
            Assert.AreEqual(3, entities.Count());
            var pathEntity = entities.ElementAt(0);
            Assert.IsNotNull(pathEntity);
            Assert.AreEqual(GetVariableValue(GetVariableReferenceID(sourceObject.id, "path")), pathEntity.Value);
            var filenameEntity = entities.ElementAt(1);
            Assert.IsNotNull(filenameEntity);
            Assert.AreEqual(string.Empty, filenameEntity.Value);
            var trusteeSidEntity = entities.ElementAt(2);
            Assert.IsNotNull(trusteeSidEntity);
            Assert.AreEqual("S-1-15-500", trusteeSidEntity.Value);
        }
        public void Should_be_possible_to_evaluate_variable_for_all_entities_at_same_time()
        {
            var sourceObject = ProbeHelper.GetOvalComponentByOvalID(this.Definitions, ConstantHelper.OBJECT_ID_1050);
            var variablesAndValues = this.CreateVariableAndValuesDictionary(sourceObject.id);
            var evaluatedVariables = VariableHelper.CreateEvaluatedVariables(sourceObject.id, variablesAndValues);
            var variableEvaluator = new FileEffectiveRights53EntityVariableEvaluator(evaluatedVariables);

            var evaluationResult = variableEvaluator.ProcessVariables(sourceObject);

            DoBasicAssertForVariableProcessing(evaluationResult, 1, typeof(fileeffectiverights53_object));
            var pathVariableValue = this.GetVariableValue(variablesAndValues.ElementAt(0).Key);
            AssertObjectEntity(evaluationResult.First(), ConstantHelper.PathEntityName, pathVariableValue);
            var filenameVariableValue = this.GetVariableValue(variablesAndValues.ElementAt(1).Key);
            AssertObjectEntity(evaluationResult.First(), ConstantHelper.FilenameEntityName, filenameVariableValue);
            var trusteeSIDVariableValue = this.GetVariableValue(variablesAndValues.ElementAt(2).Key);
            AssertObjectEntity(evaluationResult.First(), ConstantHelper.TrusteeSIDEntityName, trusteeSIDVariableValue);
            AssertCorrectnessOfFileEntities((fileeffectiverights53_object)evaluationResult.First());
        }