public void Should_be_possible_to_collect_a_wmi57_item()
        {
            var fakeWmi57ItemToCollect = new wmi57_item()
            {
                @namespace = OvalHelper.CreateItemEntityWithStringValue("root\\cimv2"), wql = OvalHelper.CreateItemEntityWithStringValue("Select Name, Domain From Win32_Account")
            };
            var wmi57ObjectCollector = CreateWmi57ObjectCollectorWithAFakeWmiDataProvider();

            var collectedItems = wmi57ObjectCollector.CollectDataForSystemItem(fakeWmi57ItemToCollect);

            Assert.AreEqual(1, collectedItems.Count());
            var collectedItem = (wmi57_item)collectedItems.Single().ItemType;

            Assert.AreEqual(StatusEnumeration.exists, collectedItem.status);

            Assert.AreEqual("root\\cimv2", [email protected]);
            Assert.AreEqual("Select Name, Domain From Win32_Account", collectedItem.wql.Value);
            Assert.AreEqual(2, collectedItem.result.Count());

            Assert.AreEqual(2, collectedItem.result[0].field.Count());
            Assert.AreEqual(ComplexDatatypeEnumeration.record, collectedItem.result[0].datatype);
            Assert.AreEqual("name", collectedItem.result[0].field[0].name);
            Assert.AreEqual("cpaiva", collectedItem.result[0].field[0].Value);
            Assert.AreEqual("domain", collectedItem.result[0].field[1].name);
            Assert.AreEqual("mss", collectedItem.result[0].field[1].Value);

            Assert.AreEqual(2, collectedItem.result[1].field.Count());
            Assert.AreEqual(ComplexDatatypeEnumeration.record, collectedItem.result[1].datatype);
            Assert.AreEqual("name", collectedItem.result[1].field[0].name);
            Assert.AreEqual("jcastro", collectedItem.result[1].field[0].Value);
            Assert.AreEqual("domain", collectedItem.result[1].field[1].name);
            Assert.AreEqual("local", collectedItem.result[1].field[1].Value);
        }
Esempio n. 2
0
        private void ConfigureWmiItemResult(wmi57_item wmiItemType, IEnumerable <WmiObject> wmiResult)
        {
            wmiItemType.result = new EntityItemRecordType[wmiResult.Count()];

            int i = 0;

            foreach (var wmiObj in wmiResult)
            {
                var fields = wmiObj.GetValues();
                wmiItemType.result[i]       = new EntityItemRecordType();
                wmiItemType.result[i].field = new EntityItemFieldType[fields.Count];
                int j = 0;
                foreach (var field in fields)
                {
                    var fieldName  = string.IsNullOrWhiteSpace(field.Key) ? string.Empty : field.Key;
                    var fieldValue = field.Value == null ? string.Empty : field.Value.ToString();

                    wmiItemType.result[i].field[j] = new EntityItemFieldType()
                    {
                        name = fieldName, Value = fieldValue
                    };
                    j++;
                }

                i++;
            }
        }
        public void When_the_wql_return_is_empty_an_item_with_doesNotExist_status()
        {
            var fakeWmi57ItemToCollect = new wmi57_item()
            {
                @namespace = OvalHelper.CreateItemEntityWithStringValue("root\\cimv2"), wql = OvalHelper.CreateItemEntityWithStringValue("Select Name, Domain From Win32_Account")
            };
            var wmi57ObjectCollector = CreateWmi57ObjectCollectorWithAFakeWmiDataProvider(true);

            var collectedItems = wmi57ObjectCollector.CollectDataForSystemItem(fakeWmi57ItemToCollect);

            var collectedItem = (wmi57_item)collectedItems.Single().ItemType;

            Assert.AreEqual(StatusEnumeration.doesnotexist, collectedItem.status, "Item with unexpected status was found.");
        }
        public void When_the_wql_return_is_empty_an_item_with_a_result_entity_with_doesNotExist_status()
        {
            var fakeWmi57ItemToCollect = new wmi57_item()
            {
                @namespace = OvalHelper.CreateItemEntityWithStringValue("root\\cimv2"), wql = OvalHelper.CreateItemEntityWithStringValue("Select Name, Domain From Win32_Account")
            };
            var wmi57ObjectCollector = CreateWmi57ObjectCollectorWithAFakeWmiDataProvider(true);

            var collectedItems = wmi57ObjectCollector.CollectDataForSystemItem(fakeWmi57ItemToCollect);

            Assert.AreEqual(1, collectedItems.Count());
            var collectedItem = (wmi57_item)collectedItems.Single().ItemType;

            Assert.AreEqual("root\\cimv2", [email protected]);
            Assert.AreEqual("Select Name, Domain From Win32_Account", collectedItem.wql.Value);
            Assert.AreEqual(1, collectedItem.result.Count());
            Assert.AreEqual(StatusEnumeration.doesnotexist, collectedItem.result[0].status);
            Assert.AreEqual(ComplexDatatypeEnumeration.record, collectedItem.result[0].datatype);
        }