public IEnumerable<WmiObject> GetWmiObjectsForNetworkInterfacesAdapter() { WmiObject networkInterfaceAdapter = new WmiObject(); networkInterfaceAdapter.Add("Index", 6); networkInterfaceAdapter.Add("PhysicalAdapter", true); networkInterfaceAdapter.Add("AdapterTypeId", 0); List<WmiObject> wmiObjects = new List<WmiObject>(); wmiObjects.Add(networkInterfaceAdapter); return wmiObjects; }
public IEnumerable<WmiObject> GetWmiObjectsForComputerSystemQuery() { WmiObject system = new WmiObject(); system.Add("SystemType", "X86-based PC"); system.Add("DNSHostName", "MSS-RJ-220"); system.Add("PartOfDomain", true); system.Add("Domain", "mss.modulo.com.br"); system.Add("Name","MSS-RJ-220"); List<WmiObject> wmiObjects = new List<WmiObject>(); wmiObjects.Add(system); return wmiObjects; }
public void Should_be_possible_to_collect_FileEffectiveRights() { // Arrange WmiObject fakeWmiObject = new WmiObject(); fakeWmiObject.Add("Descriptor.DACL.AccessMask", (uint)128); fakeWmiObject.Add("Descriptor.DACL.AceFlags", (uint)123); fakeWmiObject.Add("Descriptor.DACL.Trustee.SID", "{500}"); fakeWmiObject.Add("Descriptor.DACL.Trustee.Domain", "mss"); fakeWmiObject.Add("Descriptor.DACL.Trustee.Name", "lfernandes"); MockRepository mocks = new MockRepository(); WmiDataProvider fakeWmiDataProvider = mocks.DynamicMock<WmiDataProvider>(); Expect.Call(fakeWmiDataProvider.InvokeMethodByWmiPath(null)).IgnoreArguments().Return(new WmiObject[] { fakeWmiObject }); FileEffectiveRightsObjectCollector fileEffectiveRightsSysDataSource = new FileEffectiveRightsObjectCollector(); fileEffectiveRightsSysDataSource.WmiDataProvider = fakeWmiDataProvider; mocks.ReplayAll(); // Act IEnumerable<CollectedItem> collectedItem = fileEffectiveRightsSysDataSource.CollectDataForSystemItem(this.getFakeFileItem()); Assert.IsNotNull(collectedItem, "The return of collect data cannot be null"); Assert.AreEqual(1, collectedItem.Count(), "Unexpected collected items count."); Assert.IsNotNull(collectedItem.ElementAt(0).ItemType, "The file item cannot be null."); Assert.IsInstanceOfType(collectedItem.ElementAt(0).ItemType, typeof(fileeffectiverights_item), "The item of collected item must be file_item"); fileeffectiverights_item collectedFileEffectiveRights = (fileeffectiverights_item)collectedItem.ElementAt(0).ItemType; Assert.AreEqual("{500}", collectedFileEffectiveRights.trustee_sid.Value, "Unexpected item value."); Assert.AreEqual("1", collectedFileEffectiveRights.file_read_attributes.Value, "Unexpected file attribute found."); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_append_data, false, "file_append_data"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_delete_child, false, "file_delete_child"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_execute, false, "file_execute"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_read_data, false, "file_read_data"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_read_ea, false, "file_read_ea"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_write_attributes, false, "file_write_attributes"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_write_data, false, "file_write_data"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.file_write_ea, false, "file_write_ea"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.generic_all, true, "generic_all"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.generic_execute, true, "generic_execute"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.generic_read, true, "generic_read"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.generic_write, false, "generic_write"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.standard_delete, false, "standard_delete"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.standard_read_control, false, "standard_delete"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.standard_synchronize, false, "standard_sync"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.standard_write_dac, false, "standard_write_dac"); this.AssertFileEffectiveRight(collectedFileEffectiveRights.standard_write_owner, false, "standard_write_owner"); }
private WmiObject createWmiObjectsFromSingleObject(ManagementObject managementObject) { WmiObject wmiObject = new WmiObject(); foreach (PropertyData property in managementObject.Properties) { wmiObject.Add(property.Name, managementObject.GetPropertyValue(property.Name)); } return(wmiObject); }
private WmiObject createWmiObjectWithProperties( ManagementBaseObject systemObject, string parentPropertyName, IList <String> outParameters) { WmiObject wmiObject = new WmiObject(); foreach (var outParameterName in outParameters) { string newResultItemKey = string.Format("{0}.{1}", parentPropertyName, outParameterName); object newResultItemValue = this.getInvokeResultItemValue(systemObject, outParameterName); wmiObject.Add(newResultItemKey, newResultItemValue); } return(wmiObject); }
private IEnumerable <WmiObject> createWmiObjectsFromObjectSearcher(ManagementObjectSearcher wmiObjectSearcher) { List <WmiObject> wmiObjects = new List <WmiObject>(); foreach (ManagementObject managementObject in wmiObjectSearcher.Get()) { WmiObject wmiObject = new WmiObject(); foreach (PropertyData property in managementObject.Properties) { wmiObject.Add(property.Name, managementObject.GetPropertyValue(property.Name)); } wmiObjects.Add(wmiObject); } return(wmiObjects); }
private IEnumerable<WmiObject> CreateFakeWmiObjectList(string wmiFieldName, string[] wmiFieldValues) { var result = new List<WmiObject>(); foreach (var wmiFieldValue in wmiFieldValues) { var fakeWmiObject = new WmiObject(); fakeWmiObject.Add(wmiFieldName, wmiFieldValue); result.Add(fakeWmiObject); } return result; }
private WmiObject createFakeWmiObject(string accountDomain, string accountName, string isLocalAccount, string wmiClassName) { WmiObject fakeWmiObject = new WmiObject(); fakeWmiObject.Add("__CLASS", wmiClassName); fakeWmiObject.Add("Description", "Administrator have complete and unrestricted access to the computer/domain"); fakeWmiObject.Add("Domain", accountDomain); fakeWmiObject.Add("Name", accountName); fakeWmiObject.Add("InstallDate", null); fakeWmiObject.Add("LocalAccount", Boolean.Parse(isLocalAccount)); fakeWmiObject.Add(@"Caption", string.Format(@"{0}\{1}", accountDomain, accountName)); fakeWmiObject.Add("SID", Guid.NewGuid().ToString()); fakeWmiObject.Add("SIDType", (UInt16)4); fakeWmiObject.Add("Status", "OK"); return fakeWmiObject; }
private IEnumerable<WmiObject> CreateFakeWmiReturn() { var wmiObject = new WmiObject(); wmiObject.Add("name", "cpaiva"); wmiObject.Add("domain", "mss"); var wmiObject2 = new WmiObject(); wmiObject2.Add("name", "jcastro"); wmiObject2.Add("domain", "local"); return new WmiObject[] { wmiObject, wmiObject2 }; }
private WmiObject NewWmiObjectForFakeGroupUser(string name) { var partComponent = String.Format("\\\\{0}\\root\\cimv2:Win32_UserAccount.Domain=\"{0}\",Name=\"{1}\"", FAKE_COMPUTER_NAME, name); var newWmiObject = new WmiObject(); newWmiObject.Add("PartComponent", partComponent); return newWmiObject; }
private WmiDataProvider GetWmiProviderMock(string usernameReturn, bool userDisabledReturn, params string[] groupNamesReturn) { var fakeWqlResult = new List<WmiObject>(); if (usernameReturn != null) { var fakeWmiObject = new WmiObject(); fakeWmiObject.Add("Domain", "fakeDomainOrComputername"); fakeWmiObject.Add("Name", usernameReturn); fakeWmiObject.Add("Disabled", userDisabledReturn); fakeWqlResult.Add(fakeWmiObject); } var mocks = new MockRepository(); var fakeWmiProvider = mocks.DynamicMock<WmiDataProvider>(); Expect.Call(fakeWmiProvider.ExecuteWQL(null)).IgnoreArguments().Return(fakeWqlResult); mocks.ReplayAll(); return fakeWmiProvider; }
private WmiObject createWmiObjectWithProperties( ManagementBaseObject systemObject, string parentPropertyName, IList<String> outParameters) { WmiObject wmiObject = new WmiObject(); foreach (var outParameterName in outParameters) { string newResultItemKey = string.Format("{0}.{1}", parentPropertyName, outParameterName); object newResultItemValue = this.getInvokeResultItemValue(systemObject, outParameterName); wmiObject.Add(newResultItemKey, newResultItemValue); } return wmiObject; }
private WmiObject createWmiObjectsFromSingleObject(ManagementObject managementObject) { WmiObject wmiObject = new WmiObject(); foreach (PropertyData property in managementObject.Properties) wmiObject.Add(property.Name, managementObject.GetPropertyValue(property.Name)); return wmiObject; }
private IEnumerable<WmiObject> createWmiObjectsFromObjectSearcher(ManagementObjectSearcher wmiObjectSearcher) { List<WmiObject> wmiObjects = new List<WmiObject>(); foreach (ManagementObject managementObject in wmiObjectSearcher.Get()) { WmiObject wmiObject = new WmiObject(); foreach (PropertyData property in managementObject.Properties) { wmiObject.Add(property.Name, managementObject.GetPropertyValue(property.Name)); } wmiObjects.Add(wmiObject); } return wmiObjects; }
private WmiObject createFakeWmiObject() { WmiObject fakeWmiObject = new WmiObject(); fakeWmiObject.Add(FILE_SIZE, 50); fakeWmiObject.Add(C_DATE, "20081217165939.013961 - 120"); fakeWmiObject.Add(M_DATE, "20090116171121.673899 - 120"); fakeWmiObject.Add(A_DATE, "20081217171525.895263 - 120"); fakeWmiObject.Add(VERSION, "1"); fakeWmiObject.Add(FILE_TYPE, "Text Document"); fakeWmiObject.Add(COMPANY, "Modulo"); return fakeWmiObject; }
private WmiObject CreateFakeWmiObject(string completeFileName, string fileType, int fileSize) { var fakeWmiObject = new WmiObject(); fakeWmiObject.Add("Name", completeFileName); fakeWmiObject.Add(GeneratedFileItemAttributes.FileSize.ToString(), fileSize); fakeWmiObject.Add(GeneratedFileItemAttributes.CreationDate.ToString(), "20081217165939.013961 - 120"); fakeWmiObject.Add(GeneratedFileItemAttributes.LastModified.ToString(), "20090116171121.673899 - 120"); fakeWmiObject.Add(GeneratedFileItemAttributes.LastAccessed.ToString(), "20081217171525.895263 - 120"); fakeWmiObject.Add(GeneratedFileItemAttributes.Version.ToString(), "1"); fakeWmiObject.Add(GeneratedFileItemAttributes.FileType.ToString(), fileType); fakeWmiObject.Add(GeneratedFileItemAttributes.Manufacturer.ToString(), "Modulo"); return fakeWmiObject; }
public IEnumerable<WmiObject> GetWmiObjectsForOperatingSystemQuery() { WmiObject os = new WmiObject(); os.Add("Version", "6.0.6002"); os.Add("Name", "Microsoft® Windows Server® 2008 Enterprise |C:\\Windows|\\Device\\Harddisk0\\Partition2"); os.Add("ServicePackMajorVersion", (ushort) 2); os.Add("ServicePackMinorVersion", (ushort) 0); List<WmiObject> wmiObjects = new List<WmiObject>(); wmiObjects.Add(os); return wmiObjects; }
private WmiDataProvider GetWmiProviderMockWithNoWmiResultBehavior() { // This mocked WmiDataProvider must be used in order to test GetAllGroupsByUser method. var mocks = new MockRepository(); var fakeWmiProvider = mocks.StrictMock<WmiDataProvider>(); // Create expectation for first calling (to get computer name). var wqlToGetComputerName = new WQLBuilder().WithWmiClass("Win32_ComputerSystem").Build(); var fakeWin32ComputerSystemRecord = new WmiObject(); fakeWin32ComputerSystemRecord.Add("Name", FAKE_COMPUTER_NAME); fakeWin32ComputerSystemRecord.Add("DomainRole", 1); Expect.Call(fakeWmiProvider.ExecuteWQL(wqlToGetComputerName)).Return(new[] { fakeWin32ComputerSystemRecord }); // Create expectation for second calling (to get all local groups); var wqlToGetAllLocalGroups = new WQLBuilder().WithWmiClass("Win32_Group").AddParameter("localaccount", "1").Build(); var fakeWin32GroupRecords = new List<WmiObject>(); fakeWin32GroupRecords.Add(NewWmiObjectForFakeLocalGroup("Administrators", "S-1-5-32-544")); fakeWin32GroupRecords.Add(NewWmiObjectForFakeLocalGroup("Backup Operators", "S-1-5-32-551")); fakeWin32GroupRecords.Add(NewWmiObjectForFakeLocalGroup("Users", "S-1-5-32-545")); Expect.Call(fakeWmiProvider.ExecuteWQL(wqlToGetAllLocalGroups)).Return(fakeWin32GroupRecords); // Create expectation for each get group component calling... CreateExpectationForGetGroupComponent(fakeWmiProvider, "Administrators"); CreateExpectationForGetGroupComponent(fakeWmiProvider, "Backup Operators"); CreateExpectationForGetGroupComponent(fakeWmiProvider, "Users"); // Create expectation for each get user details calling (3 first times) and get user SID (3 last times) Expect.Call(fakeWmiProvider.ExecuteWQL(null)).IgnoreArguments().Repeat.Times(6).Return(null); var wqlAllGetBuiltinAccounts = new WQLBuilder().WithWmiClass("Win32_SystemAccount").Build(); Expect.Call(fakeWmiProvider.ExecuteWQL(wqlAllGetBuiltinAccounts)).Return(null); mocks.ReplayAll(); return fakeWmiProvider; }
public IEnumerable<WmiObject> GetWmiObjectsForNetworkInterfaces() { WmiObject networkInterface = new WmiObject(); networkInterface.Add("Index", 6); networkInterface.Add("InterfaceIndex",10); networkInterface.Add("Description", "Intel(R) 82567LM-3 Gigabit Network Connection"); networkInterface.Add("MACAddress", "00 - 23 - AE - B6 - 6F - BF"); networkInterface.Add("DHCPEnabled", true); networkInterface.Add("IPAddress", new String[] { "172.16.3.166", "fe80::99ab:a003:a78e:103b" }); networkInterface.Add("IPSubnet", new String[] { "255.255.254.0", "64" }); networkInterface.Add("IPUseZeroBroadcast", false); List<WmiObject> wmiObjects = new List<WmiObject>(); wmiObjects.Add(networkInterface); return wmiObjects; }
private WmiObject NewWmiObjectForFakeLocalGroup(string groupName, string sid) { var newWmiObject = new WmiObject(); newWmiObject.Add("Name", groupName); newWmiObject.Add("SID", sid); return newWmiObject; }