//Uncomment the following line to cleanup kvp //[TestMethod] public void CleanupKVP() { using (var vm = WMIHelper.QueryFirstInstacne(@"root\virtualization\v2", "Msvm_ComputerSystem ", "enabledstate = 2 and caption = 'Virtual Machine'")) { Assert.IsNotNull(vm); Console.WriteLine("Clean up kvp for: " + vm.Properties["ElementName"].Value); var writer = KeyValuePairWriter.CreateInstance(new KvpConfiguration()); var NULL = new Object(); var data = new Dictionary <String, Object>(); data.Add(testKey, NULL); data.Add(testKey2, NULL); var args = new Dictionary <String, Object>() { { "VirtualMachinePath", vm.Path.ToString() }, { "VirtualMachineName", vm.Properties["Name"].Value }, }; writer.Remove(args, data); data.Clear(); for (int i = 0; i < 50; i++) { data.Add("Enhanced_Monitoring_Metric_Data_Item_Part_" + i, NULL); } writer.Remove(args, data); } }
public void TestWriteKVP() { var vm = WMIHelper.QueryFirstInstacne(@"root\virtualization\v2", "Msvm_ComputerSystem ", "enabledstate = 2 and caption = 'Virtual Machine'"); Assert.IsNotNull(vm); var writer = KeyValuePairWriter.CreateInstance(new KvpConfiguration()); var data = new Dictionary <String, Object>(); data.Add(testKey, DateTime.Now.ToString()); data.Add(testKey2, DateTime.Now.ToString()); var args = new Dictionary <String, Object>() { { "VirtualMachinePath", vm.Path.ToString() }, { "VirtualMachineName", vm.Properties["Name"].Value }, }; writer.Remove(args, data); writer.Write(args, data); vm.Dispose(); }
//[TestMethod] public void TestOverloadKVP() { var vm = WMIHelper.QueryFirstInstacne(@"root\virtualization\v2", "Msvm_ComputerSystem ", "enabledstate = 2 and caption = 'Virtual Machine'"); Assert.IsNotNull(vm); var writer = KeyValuePairWriter.CreateInstance(new KvpConfiguration()); var data = new Dictionary <String, Object>(); var chars = new char[1000]; for (int i = 0; i < chars.Length; i++) { chars[i] = 'a'; } var val = new String(chars); for (int i = 0; i < 1000; i++) { data.Clear(); for (int j = 0; j < 10; j++) { data.Add(String.Format("TestKVP_{0}", j), val); } var args = new Dictionary <String, Object>() { { "VirtualMachinePath", vm.Path.ToString() }, { "VirtualMachineName", vm.Properties["Name"].Value }, }; writer.Remove(args, data); writer.Write(args, data); } vm.Dispose(); }