private void ConfigureObjectCollectorInOrderToKeepTheNormalFlow( BaseObjectCollector fakeObjectCollector) { Expect.Call(fakeObjectCollector.CollectDataForSystemItem(null)) .IgnoreArguments() .CallOriginalMethod(OriginalCallOptions.NoExpectation); }
public void Should_be_possible_to_generate_itemTypes_from_objectTypes_with_variables() { string hiveHKLM = eHiveNames.HKEY_LOCAL_MACHINE.ToString(); string key = @"Software\Microsoft\Windows NT\CurrentVersion"; string name = "CurrentType"; var ovalObject = WindowsTestHelper.GetObjectFromDefinitions("definitionsWithLocalVariable.xml", "oval:org.mitre.oval:obj:4000"); BaseObjectCollector fakeDataSource = WindowsTestHelper.GetDataSourceFakewithoutRegex(); WmiDataProvider wmiDataProvider = new WmiDataProviderExpectFactory().GetFakeWmiDataProviderForTestInvokeMethodEnumKeyWithReturnSuccess(); VariableValue variable = new VariableValue(ovalObject.id, "oval:org.mitre.oval:var:4000", new List <string>() { key }); VariablesEvaluated variables = new VariablesEvaluated(new List <VariableValue>() { variable }); var itemGenerator = new RegistryItemTypeGenerator() { SystemDataSource = fakeDataSource, WmiDataProvider = wmiDataProvider }; var itemsToCollect = itemGenerator.GetItemsToCollect(ovalObject, variables); Assert.IsTrue(itemsToCollect.Count() == 1, "the quantity of items is not expected"); this.AssertGeneratedRegistryItem(itemsToCollect.ElementAt(0), hiveHKLM, key, name); }
private void CreateExpectationForObjectCollector( BaseObjectCollector objectCollector, CollectedItem[] fakeCollectedItemsToReturn) { Expect.Call(objectCollector.CollectDataForSystemItem(null)) .IgnoreArguments() .Return(fakeCollectedItemsToReturn); }
private void ConfigureProber( ProbeBase probeToConfigure, IConnectionManager fakeConnectionManager, IItemTypeGenerator fakeItemTypeGenerator, BaseObjectCollector fakeObjectCollector) { probeToConfigure.ConnectionManager = fakeConnectionManager; probeToConfigure.ItemTypeGenerator = fakeItemTypeGenerator; probeToConfigure.ObjectCollector = fakeObjectCollector; }
public BaseObjectCollector GetDataSourceFakeyWithNotFoundKeys() { IList <String> fakeFoundKeys = null; MockRepository mocks = new MockRepository(); BaseObjectCollector fakeDataSource = mocks.DynamicMock <BaseObjectCollector>(); Expect.Call(fakeDataSource.GetValues(new Dictionary <string, object>())).IgnoreArguments().Return(fakeFoundKeys); mocks.ReplayAll(); return(fakeDataSource); }
private void CreateObjectCollector() { if (base.ObjectCollector == null) { base.ObjectCollector = new FileContentSystemDataSource(TargetInfo.GetAddress()); var wmiConnectionScope = this.FileDataSource = new FileObjectCollector() { WmiDataProvider = CreateWmiDataProvider() }; } }
protected override void ConfigureObjectCollector() { if (base.ObjectCollector == null) { var connectionScope = ((FileConnectionProvider)FileConnectionProvider).ConnectionScope; var newWmiDataProvider = new WmiDataProvider(connectionScope); var newFileProvider = new WindowsFileProvider(TargetInfo) { WmiDataProvider = newWmiDataProvider }; ObjectCollector = new TextFileContentObjectCollector() { FileContentProvider = newFileProvider, TargetInfo = TargetInfo }; FileDataSource = new FileObjectCollector() { WmiDataProvider = newWmiDataProvider }; } if (base.ItemTypeGenerator == null) { var newFileProvider = new WindowsFileProvider(this.TargetInfo) { WmiDataProvider = WmiDataProviderFactory .CreateWmiDataProviderForFileSearching(this.TargetInfo) }; var newOperationEvaluator = new TextFileContentEntityOperationEvaluator(ObjectCollector, newFileProvider, FamilyEnumeration.windows); ItemTypeGenerator = new TextFileContentItemTypeGenerator() { OperationEvaluator = newOperationEvaluator }; } }
public void Should_be_possible_to_generate_itemTypes_from_objectTypes_with_regex_operation() { string hiveHKLM = eHiveNames.HKEY_LOCAL_MACHINE.ToString(); string startKey = "SOFTWARE\\Microsoft\\Windows"; var obj50003 = WindowsTestHelper.GetObjectFromDefinitions(DEFINITIONS_REGEX_ON_VALUE, OBJ_50003_ID); BaseObjectCollector fakeDataSource = WindowsTestHelper.GetDataSourceFakeWithRegex(startKey, 2); WmiDataProvider wmiDataProvider = new WmiDataProviderExpectFactory().GetFakeWmiDataProviderForTestInvokeMethodEnumKeyWithReturnSuccess(); RegistryItemTypeGenerator itemGenerator = new RegistryItemTypeGenerator() { SystemDataSource = fakeDataSource, WmiDataProvider = wmiDataProvider }; var itemsToCollect = itemGenerator.GetItemsToCollect(obj50003, VariableHelper.CreateEmptyEvaluatedVariables()).Cast <registry_item>(); Assert.AreEqual(4, itemsToCollect.Count()); this.AssertGeneratedRegistryItem(itemsToCollect.ElementAt(0), hiveHKLM, "SOFTWARE\\Microsoft\\Windows\\CurrentBuild", "CurrentBuild"); this.AssertGeneratedRegistryItem(itemsToCollect.ElementAt(1), hiveHKLM, "SOFTWARE\\Microsoft\\Windows\\CurrentBuild", "LastBuild"); this.AssertGeneratedRegistryItem(itemsToCollect.ElementAt(2), hiveHKLM, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "CurrentBuild"); this.AssertGeneratedRegistryItem(itemsToCollect.ElementAt(3), hiveHKLM, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "LastBuild"); }
/// <summary> /// This is a temporary code in order to keep unit tests and oval interpreter prototype compatible. /// This method should be replace by dependency injection pattern. /// </summary> protected override void ConfigureObjectCollector() { if (base.ObjectCollector == null) { var newWmiProvider = this.CreateWmiProviderFromProberConnection(); base.ObjectCollector = new FileEffectiveRightsObjectCollector() { WmiDataProvider = newWmiProvider }; this.FileSystemDataSource = new FileObjectCollector() { WmiDataProvider = newWmiProvider }; } if (base.ItemTypeGenerator == null) { base.ItemTypeGenerator = new FileEffectiveRightsItemTypeGenerator() { SystemDataSource = base.ObjectCollector, FileDataSource = FileSystemDataSource } } ; }
public TextFileContentObjectCollectorTests() { this.ObjectCollector = GetTextFileContentObjectCollectorWithMockBehavior( new string[] { "Line 1", "Line 2", "Line 3", "Line N", "" }); }
public FileContentEntityOperationEvaluator(BaseObjectCollector systemDataSource, IFileProvider fileProvider) { this.systemDataSource = systemDataSource; pathOperatorEvaluator = new PathOperatorEvaluator(fileProvider, FamilyEnumeration.windows); }
public FileEffectiveRightsOperationEvaluator(BaseObjectCollector sytemDataSource, IFileProvider fileProvider) { this.systemDataSource = sytemDataSource; this.pathOperatorEvaluator = new PathOperatorEvaluator(fileProvider, FamilyEnumeration.windows); }
public RegistryEntityOperationEvaluator(BaseObjectCollector systemDataSource, WmiDataProvider wmiDataProvider) { this.systemDataSource = systemDataSource; this.wmiDataProvider = wmiDataProvider; }
public TextFileContentEntityOperationEvaluator(BaseObjectCollector systemDataSource, IFileProvider fileDataSource, FamilyEnumeration platform) { this.TextFileContentDataSource = systemDataSource; this.PathOperatorEvaluator = new PathOperatorEvaluator(fileDataSource, platform); }