Beispiel #1
0
        public void Should_be_possible_to_create_objectTypes_by_combination_of_entities_for_only_one_objectType()
        {
            oval_definitions     definition = new LoadOvalDocument().GetFakeOvalDefinitions("definitionsSimple.xml");
            ObjectType           objecType  = ProbeHelper.GetOvalComponentByOvalID(definition, "oval:modulo:obj:7");
            IEnumerable <string> paths      = new List <string>()
            {
                @"c:\temp"
            };
            IEnumerable <string> fileNames = new List <string>()
            {
                "file.txt"
            };
            IEnumerable <string> trustee_names = new List <string>()
            {
                "Administrator"
            };

            FileEffectiveRightsObjectTypeFactory factory     = new FileEffectiveRightsObjectTypeFactory();
            IEnumerable <ObjectType>             objectTypes = factory.CreateObjectTypeByCombinationOfEntities((fileeffectiverights_object)objecType, paths, fileNames, trustee_names);

            Assert.AreEqual(1, objectTypes.Count());

            fileeffectiverights_object fileEffectiveRights = (fileeffectiverights_object)objectTypes.ElementAt(0);

            Assert.AreEqual(@"c:\temp", ((EntityObjectStringType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.path)).Value);
        }
Beispiel #2
0
        public void When_an_error_occurs_while_creating_items_to_collect_the_created_items_must_have_error_status()
        {
            var definitions   = new LoadOvalDocument().GetFakeOvalDefinitions("definitionsWithConstantVariable.xml");
            var objects       = definitions.objects.OfType <variable_object>().ToArray();
            var variables     = this.CreateVariable("oval:modulo:obj:4000", "oval:modulo:var:1002", new string[] { "c:\\temp" });
            var fakeException = new Exception("Timeout");
            var collectInfo   = ProbeHelper.CreateFakeCollectInfo(objects, variables, null);

            collectInfo.Variables = variables;
            var variableProber = this.CreateMockedVariableProber(fakeException);

            var result = variableProber.Execute(FakeContext, FakeTargetInfo, collectInfo);

            // Asserting Collected Objects
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.CollectedObjects);
            Assert.AreEqual(1, result.CollectedObjects.Count());

            // Asserting System Data
            var systemData = result.CollectedObjects.Single().SystemData;

            Assert.IsNotNull(systemData);
            Assert.AreEqual(1, systemData.Count);

            // Assert Colelcted Item
            var collectedItem = systemData.Single();

            Assert.IsInstanceOfType(collectedItem, typeof(variable_item));
            Assert.AreEqual(StatusEnumeration.error, collectedItem.status);
            Assert.IsNotNull(collectedItem.message);
            Assert.IsTrue(collectedItem.message.First().Value.Contains(fakeException.Message));
        }
Beispiel #3
0
 public void Should_not_possible_to_add_a_item_type_if_it_already_exists_in_the_collected_object()
 {
     oval_system_characteristics systemCharacteristics = new LoadOvalDocument().GetFakeOvalSystemCharacteristics("system_characteristics_with_local_variable.xml");
     CollectedObject             collectedObject       = new CollectedObject("oval:org.mitre.oval:obj:1000");
     ItemType registryItem1 = new registry_item()
     {
         status = StatusEnumeration.exists, id = "1"
     };
     ItemType registryItem2 = systemCharacteristics.GetSystemDataByReferenceId("2");
 }
Beispiel #4
0
        public void Should_be_possible_execute_a_variable_collect()
        {
            var definitions = new LoadOvalDocument().GetFakeOvalDefinitions("definitionsWithConstantVariable.xml");
            var objects     = definitions.objects.OfType <variable_object>().ToArray();
            var variables   = this.CreateVariable("oval:modulo:obj:4000", "oval:modulo:var:1002", new string[] { "c:\\temp" });
            var collectInfo = ProbeHelper.CreateFakeCollectInfo(objects, variables, null);

            collectInfo.Variables = variables;

            var collectedObjects = new VariableProber().Execute(FakeContext, FakeTargetInfo, collectInfo).CollectedObjects;

            Assert.AreEqual(1, collectedObjects.Count());
            Assert.AreEqual(1, collectedObjects.Single().SystemData.Count);
            var collectedItem = (variable_item)collectedObjects.Single().SystemData.First();

            Assert.AreEqual(StatusEnumeration.exists, collectedItem.status);
            Assert.AreEqual("c:\\temp", collectedItem.value[0].Value);
        }
Beispiel #5
0
        public void Should_be_possible_to_execute_a_registry_collect_with_Set_element()
        {
            var fakeDefinitions = ProbeHelper.GetFakeOvalDefinitions("definitionsWithSet.xml");
            var fakeObjects     = fakeDefinitions.objects.OfType <registry_object>().ToArray();
            oval_system_characteristics fakeSystemCharacteristics = new LoadOvalDocument().GetFakeOvalSystemCharacteristics("system_characteristics_with_sets.xml");
            CollectInfo    fakeCollectedInfo = ProbeHelper.CreateFakeCollectInfo(fakeObjects, null, fakeSystemCharacteristics);
            registry_item  fakeRegistryItem  = this.GetFakeRegistryItem(@"Software\Microsoft\Windows NT\CurrentVersion", "CurrentVersion", eValueTypes.STRING, "6.0");
            RegistryProber registryProber    = this.GetMockedRegistryProber(fakeRegistryItem);


            IEnumerable <CollectedObject> result = registryProber.Execute(fakeContext, fakeTarget, fakeCollectedInfo).CollectedObjects;


            Assert.IsNotNull(result, "the result is not expected");
            CollectedObject collectedObject = result.Where <CollectedObject>(obj => obj.ObjectType.id == "oval:org.mitre.oval:obj:6000").SingleOrDefault();

            Assert.IsNotNull(collectedObject, "the element was not found");
            Assert.AreEqual(collectedObject.ObjectType.reference.Count(), 3, "the quantity of object referenced is not expected");
        }
Beispiel #6
0
        public void Should_be_possible_to_create_xmlfilecontent_items_for_unix_platform()
        {
            var mocks        = new MockRepository();
            var pathOperator = mocks.DynamicMock <PathOperatorEvaluator>(new object[] { null, FamilyEnumeration.unix });

            pathOperator.FileProvider = mocks.DynamicMock <IFileProvider>();
            Expect.Call(pathOperator.FileProvider.FileExists(null)).IgnoreArguments().Return(true);
            Expect.Call(pathOperator.ProcessOperationsPaths(null)).IgnoreArguments().Return(new[] { "/etc/webapps" });
            Expect.Call(pathOperator.ProcessOperationFileName(null, null, false)).IgnoreArguments().Return(new[] { "server.xml" });
            mocks.ReplayAll();
            var sampleObject      = new LoadOvalDocument().GetFakeOvalDefinitions("definitions_all_unix.xml").objects.Single(obj => obj.id == "oval:modulo:obj:333");
            var itemtypeGenerator = new XmlFileContentItemTypeGenerator(null)
            {
                PathOperatorEvaluator = pathOperator
            };

            var itemsToCollect = itemtypeGenerator.GetItemsToCollect(sampleObject, null);

            var xmlFileContentItem = (xmlfilecontent_item)itemsToCollect.Single();

            Assert.AreEqual("/etc/webapps/server.xml", xmlFileContentItem.filepath.Value);
        }
Beispiel #7
0
        public static Definitions.ObjectType GetObjectFromDefinitions(string definitionsFileName, string componentID)
        {
            oval_definitions fakeDefinitions = new LoadOvalDocument().GetFakeOvalDefinitions(definitionsFileName);

            return(fakeDefinitions.objects.Where(obj => obj.id.Equals(componentID)).Single());
        }
        private oval_definitions getFakeDefinitions(string fileName)
        {
            LoadOvalDocument docLoader = new LoadOvalDocument();

            return(docLoader.GetFakeOvalDefinitions(fileName));
        }