public void Should_be_possible_to_generate_FileItems_from_FileObject_with_FilePathEntity_defined_with_PatternMatchOperation() { #region Oval File Object // <file_object id="oval:modulo:obj:5009" version="1" xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5#windows"> // <filepath operation="pattern match">c:\windows\^system.*\drivers\^driv.*</filepath> // </file_object> #endregion // Arrange string[] fakeFoundPaths = new string[] { "c:\\windows\\xsystem\\drivers\\driver.exe", "c:\\windows\\system\\drivers\\vgadriver.exe", @"c:\windows\system\drivers\driverx.exe", @"c:\windows\system 32\drivers\driver.dll", @"c:\windows\system 32\drivers\drivery.exe", "c:\\windows\\system 32\\drivers\\x64" }; file_object fileObj50009; FileItemTypeGenerator fileItemsGenerator = this.GetMockedFileItemTypeGenerator(OBJ_50009_ID, fakeFoundPaths, out fileObj50009); // Act IList <ItemType> itemsToCollect = fileItemsGenerator.GetItemsToCollect(fileObj50009, null).ToList(); Assert.IsNotNull(itemsToCollect, "The generated items cannot be null."); Assert.AreEqual(3, itemsToCollect.Count, "The number of generated items is not expected."); this.AssertGeneratedFileItem(itemsToCollect[0], @"c:\windows\system\drivers\driverx.exe", null, null); this.AssertGeneratedFileItem(itemsToCollect[1], @"c:\windows\system 32\drivers\driver.dll", null, null); this.AssertGeneratedFileItem(itemsToCollect[2], @"c:\windows\system 32\drivers\drivery.exe", null, null); }
public void Should_be_possible_to_generate_FileItems_from_FileObject_with_FilePathEntity_defined_with_reference_to_variable() { #region Oval File Object // <file_object id="oval:modulo:obj:50010" version="1" xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5#windows"> // <filepath var_ref="oval:modulo:var:50010"></filepath> // </file_object> // <constant_variable id="oval:modulo:var:50010" datatype="string" version="1" comment="..."> // <value>c:\windows\system32\vgadriver.dll</value> // </constant_variable> #endregion // Arrange string fakeVariableValue = @"c:\windows\system32\vgadriver.dll"; var fileObj50010 = (file_object)WindowsTestHelper.GetObjectFromDefinitions(DEFINITIONS_REGEX_ON_VALUE, OBJ_50010_ID); var vars = VariableHelper.CreateVariableWithOneValue(OBJ_50010_ID, "oval:modulo:var:50010", fakeVariableValue); var fileItemsGenerator = new FileItemTypeGenerator() { SystemDataSource = WindowsTestHelper.GetDataSourceFakewithoutRegex() }; // Act IList <ItemType> itemsToCollect = fileItemsGenerator.GetItemsToCollect(fileObj50010, vars).ToList(); // Assert Assert.IsNotNull(itemsToCollect, "The generated items cannot be null."); Assert.AreEqual(1, itemsToCollect.Count, "The number of generated items is not expected."); this.AssertGeneratedFileItem(itemsToCollect[0], fakeVariableValue, null, null); }
public void Should_be_possible_to_generate_FileItems_from_FileObject_with_operation_in_path_and_variableReference_in_filename() { #region Oval File Object and Variable // <file_object id="oval:modulo:obj:50007" version="1" xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5#windows"> // <path operation="pattern match">c:\windows\^system.*\drivers</path> // <filename var_ref="oval:modulo:var:50007"></filename> // </file_object> // <constant_variable id="oval:modulo:var:50007" datatype="string" version="1" comment="..."> // <value>driver.dll</value> // </constant_variable> #endregion // Arrange string[] fakeFoundPaths = new string[] { "c:\\windows\\xsystem\\drivers\\driver.exe", "c:\\windows\\system\\drivers\\vgadriver.exe", "c:\\windows\\system\\drivers\\driverx.exe", @"c:\windows\system 32\drivers\driver.dll", "c:\\windows\\system 32\\drivers\\drivery.exe", "c:\\windows\\system 32\\drivers\\x64" }; file_object fileObj50007; VariablesEvaluated vars = VariableHelper.CreateVariableWithOneValue(OBJ_50007_ID, "oval:modulo:var:50007", "driver.dll"); FileItemTypeGenerator fileItemsGenerator = this.GetMockedFileItemTypeGenerator(OBJ_50007_ID, fakeFoundPaths, out fileObj50007); // Act IList <ItemType> itemsToCollect = fileItemsGenerator.GetItemsToCollect(fileObj50007, vars).ToList(); // Assert Assert.IsNotNull(itemsToCollect, "The generated items cannot be null."); Assert.AreEqual(1, itemsToCollect.Count, "The number of generated items is not expected."); this.AssertGeneratedFileItem(itemsToCollect[0], null, @"c:\windows\system 32\drivers", "driver.dll"); }
public void Should_be_possible_to_generate_file_items_from_object_types_with_regex_on_all_entities() { #region Oval File Object // <file_object id="oval:modulo:obj:50005" version="1" xmlns="#windows"> // <path operation="pattern match">c:\windows\^system.*\drivers</path> // <filename operation="pattern match">.*driver.exe</filename> // </file_object> #endregion // Arrange string[] fakeFoundPaths = new string[] { "c:\\windows\\xsystem\\drivers\\driver.exe", @"c:\windows\system\drivers\vgadriver.exe", "c:\\windows\\system\\drivers\\driverx.exe", @"c:\windows\system 32\drivers\xptodriver.exe", "c:\\windows\\system 32\\drivers\\drivery.exe", "c:\\windows\\system 32\\drivers\\x64" }; file_object fileObj50005; FileItemTypeGenerator fileItemsGenerator = this.GetMockedFileItemTypeGenerator(OBJ_50005_ID, fakeFoundPaths, out fileObj50005); // Act IList <ItemType> itemsToCollect = fileItemsGenerator.GetItemsToCollect(fileObj50005, null).ToList(); // Assert Assert.IsNotNull(itemsToCollect, "The return of GetItemsToCollect method cannot be null."); Assert.AreEqual(2, itemsToCollect.Count, "The number of generated items is not expected."); this.AssertGeneratedFileItem(itemsToCollect[0], null, @"c:\windows\system\drivers", "vgadriver.exe"); this.AssertGeneratedFileItem(itemsToCollect[1], null, @"c:\windows\system 32\drivers", "xptodriver.exe"); }
public void Should_possible_to_collect_directory_passing_nil_filename() { var fileObject = (file_object)WindowsTestHelper.GetObjectFromDefinitions("definitionsSimple.xml", "oval:com.modulo.IIS6:obj:6877401"); var fakeFileProvider = CreateFileProviderToAlwaysReturnThatTheFileExists(); var fakeEvaluatedVars = VariableHelper.CreateVariableWithOneValue(fileObject.id, "oval:com.modulo.IIS6:var:687741", @"c:\System32\Inetsrv\Iisadmpwd"); var fileItemTypeGenerator = new FileItemTypeGenerator() { FileProvider = fakeFileProvider }; var itemsToCollect = fileItemTypeGenerator.GetItemsToCollect(fileObject, fakeEvaluatedVars).ToList(); ItemTypeChecker.DoBasicAssertForItems(itemsToCollect, 1, typeof(file_item)); var fileItem = (file_item)itemsToCollect.Single(); ItemTypeEntityChecker.AssertItemTypeEntity(fileItem.path, @"c:\System32\Inetsrv\Iisadmpwd", "path"); ItemTypeEntityChecker.AssertItemTypeEntity(fileItem.filename, string.Empty, "filename"); }
public void Should_be_possible_to_generate_file_items_from_object_types() { // Arrange var fileObject = (file_object)WindowsTestHelper.GetObjectFromDefinitions(DEFINITIONS_REGEX_ON_VALUE, OBJ_50004_ID); var fakeFileProvider = CreateFileProviderToAlwaysReturnThatTheFileExists(); var fileItemTypeGenerator = new FileItemTypeGenerator() { FileProvider = fakeFileProvider }; // Act var itemsToCollect = fileItemTypeGenerator.GetItemsToCollect(fileObject, null).ToList(); // Assert Assert.IsNotNull(itemsToCollect, "The return of GetItemsToCollect cannot be null."); Assert.AreEqual(1, itemsToCollect.Count, "The number of items to collect is unexpected."); this.AssertGeneratedFileItem(itemsToCollect[0], null, "c:\\windows", "foo.exe"); }
public void Should_be_possible_to_generate_FileItems_from_FileObject_with_FilePathEntity_defined() { #region Oval File Object // <file_object id="oval:modulo:obj:50008" version="1" xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5#windows"> // <filepath>c:\windows\foo.exe</filepath> // </file_object> #endregion // Arrange file_object fileObj50008 = (file_object)WindowsTestHelper.GetObjectFromDefinitions(DEFINITIONS_REGEX_ON_VALUE, OBJ_50008_ID); var fileItemsGenerator = new FileItemTypeGenerator() { SystemDataSource = WindowsTestHelper.GetDataSourceFakewithoutRegex() }; // Act IList <ItemType> itemsToCollect = fileItemsGenerator.GetItemsToCollect(fileObj50008, null).ToList(); Assert.IsNotNull(itemsToCollect, "The generated items cannot be null."); Assert.AreEqual(1, itemsToCollect.Count, "The number of generated items is not expected."); this.AssertGeneratedFileItem(itemsToCollect[0], @"c:\windows\foo.exe", null, null); }