Exemple #1
0
    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"])
Exemple #2
0
  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)