def testRunWMIMocked(self): with mock.patch.object(windows, "win32com") as win32com: wmi_obj = win32com.client.GetObject.return_value mock_query_result = mock.MagicMock() mock_query_result.Properties_ = [] mock_config = client_test_lib.WMIWin32NetworkAdapterConfigurationMock wmi_properties = mock_config.__dict__.items() for key, value in wmi_properties: keyval = mock.MagicMock() keyval.Name, keyval.Value = key, value mock_query_result.Properties_.append(keyval) wmi_obj.ExecQuery.return_value = [mock_query_result] result_list = list(windows.RunWMIQuery("select blah")) self.assertLen(result_list, 1) result = result_list.pop() self.assertIsInstance(result, rdf_protodict.Dict) nest = result["NestingTest"] self.assertEqual(nest["one"]["two"], [3, 4]) self.assertIn("Unsupported type", nest["one"]["broken"]) self.assertIsInstance(nest["one"]["three"], rdf_protodict.Dict) self.assertEqual(nest["four"], []) self.assertEqual(nest["five"], "astring") self.assertEqual(nest["six"], [None, None, ""]) self.assertEqual(nest["seven"], None) self.assertCountEqual(nest["rdfvalue"].keys(), ["a"]) self.assertEqual(result["GatewayCostMetric"], [0, 256]) self.assertIsInstance(result["OpaqueObject"], str) self.assertIn("Unsupported type", result["OpaqueObject"])
def testRunWMI(self): result_list = list(windows.RunWMIQuery("SELECT * FROM Win32_logicalDisk")) self.assertNotEmpty(result_list) drive = result_list[0] self.assertIsInstance(drive, rdf_protodict.Dict) self.assertNotEmpty(drive["DeviceID"]) self.assertGreater(int(drive["Size"]), 0)