public void Should_be_possible_to_generate_items_to_collect_from_a_fileeffetiverights_object_with_pattern_match_on_trusteeSid_entity()
        {
            var objectSample        = GetFilEffectiveRightsObjectWithPatternMatchOnTrusteeSid(".*");
            var mockObjectCollector = CreateObjectCollectorToGetAllTargetUsers(".*", OperationEnumeration.patternmatch);
            var itemTypeGenerator   = new FileEffectiveRights53ItemTypeGenerator(null, mockObjectCollector);

            var generatedItems = itemTypeGenerator.GetItemsToCollect(objectSample, null).ToArray();

            ItemTypeChecker.DoBasicAssertForItems(generatedItems, 2, typeof(fileeffectiverights_item));
            Assert.AreEqual("1", generatedItems.ElementAt(0).id);
            Assert.AreEqual("2", generatedItems.ElementAt(1).id);
        }
        public void Should_be_possible_to_generate_items_to_collect_from_a_fileeffetiverights_object_with_path_but_no_filename()
        {
            var objectSample =
                new FileEffectiveRights53ObjectFactory()
                .CreateFileEffectiveRightsObject("c:\\windows", null, "S-1-1", false);
            var itemTypeGenerator = new FileEffectiveRights53ItemTypeGenerator(null, null);

            var generatedItems = itemTypeGenerator.GetItemsToCollect(objectSample, null).ToArray();

            ItemTypeChecker.DoBasicAssertForItems(generatedItems, 1, typeof(fileeffectiverights_item), StatusEnumeration.notcollected);
            var itemsToAssert = generatedItems.OfType <fileeffectiverights_item>();

            AssertGeneratedItem(itemsToAssert.ElementAt(0), "c:\\windows", "c:\\windows", null, "S-1-1");
        }
        public void Should_be_possible_to_generate_items_to_collect_from_a_fileeffetiverights_object_with_pattern_match_on_filepath_entity()
        {
            var objectSample      = GetFileEffectiveRightsObjectWithPatternMatchOnFilepath("c:\\^windows.*\\odbc.ini");
            var mockFileProvider  = this.CreateWindowsFileProviderMockingDirectorySearch();
            var itemTypeGenerator = new FileEffectiveRights53ItemTypeGenerator(mockFileProvider, null);

            var generatedItems = itemTypeGenerator.GetItemsToCollect(objectSample, null).ToArray();

            ItemTypeChecker.DoBasicAssertForItems(generatedItems, 2, typeof(fileeffectiverights_item), StatusEnumeration.notcollected);
            var itemsToAssert = generatedItems.OfType <fileeffectiverights_item>();

            AssertGeneratedItem(itemsToAssert.ElementAt(0), "c:\\windows\\odbc.ini", "c:\\windows", "odbc.ini", "S-1-1");
            AssertGeneratedItem(itemsToAssert.ElementAt(1), "c:\\windows NT\\odbc.ini", "c:\\windows NT", "odbc.ini", "S-1-1");
        }
        public void Should_be_possible_to_generate_items_to_collect_from_a_fileeffetiverights_object_with_pattern_match_on_path_and_filename_entities()
        {
            var objectSample      = GetFileEffectiveRightsObjectWithPatternMatchOnPathAndFilename("c:\\windows\\^system.*", ".*.dll");
            var mockFileProvider  = this.CreateWindowsFileProviderMockingDirectoryAndFileSearches();
            var itemTypeGenerator = new FileEffectiveRights53ItemTypeGenerator(mockFileProvider, null);

            var generatedItems = itemTypeGenerator.GetItemsToCollect(objectSample, null).ToArray();

            ItemTypeChecker.DoBasicAssertForItems(generatedItems, 4, typeof(fileeffectiverights_item), StatusEnumeration.notcollected);
            var itemsToAssert = generatedItems.OfType <fileeffectiverights_item>();

            AssertGeneratedItem(itemsToAssert.ElementAt(0), "c:\\windows\\system\\b.dll", "c:\\windows\\system", "b.dll", "S-1-1");
            AssertGeneratedItem(itemsToAssert.ElementAt(1), "c:\\windows\\system\\c.dll", "c:\\windows\\system", "c.dll", "S-1-1");
            AssertGeneratedItem(itemsToAssert.ElementAt(2), "c:\\windows\\system32\\b.dll", "c:\\windows\\system32", "b.dll", "S-1-1");
            AssertGeneratedItem(itemsToAssert.ElementAt(3), "c:\\windows\\system32\\c.dll", "c:\\windows\\system32", "c.dll", "S-1-1");
        }
        public FileEffectiveRightsItemTypeGeneratorTests()
        {
            var ovalDefinitions = ProbeHelper.GetFakeOvalDefinitions("definitionsSimple");

            this.FileEffectiveRightsObjectSamples = ovalDefinitions.objects.OfType <fileeffectiverights53_object>();
            this.ItemTypeGenerator = new FileEffectiveRights53ItemTypeGenerator(null, null);
            this.ObjectFactory     = new FileEffectiveRights53ObjectFactory();

            this.FakeVariables = new Dictionary <string, IEnumerable <string> >();
            FakeVariables.Add("oval:modsic.test:var:1", new string[] { "c:\\windows\\odbc.ini" });
            FakeVariables.Add("oval:modsic.test:var:2", new string[] { "c:\\windows" });
            FakeVariables.Add("oval:modsic.test:var:3", new string[] { "odbc.ini" });
            FakeVariables.Add("oval:modsic.test:var:4", new string[] { "S-1-1-0" });

            this.FakeMultiVariables = new Dictionary <string, IEnumerable <string> >();
            FakeMultiVariables.Add("oval:modsic.test:var:1", new string[] { "c:\\windows", "c:\\windows NT" });
            FakeMultiVariables.Add("oval:modsic.test:var:2", new string[] { "odbc.ini" });
            FakeMultiVariables.Add("oval:modsic.test:var:3", new string[] { "S-1-0", "S-1-1" });
        }