def testMultiRow(self): row0 = collections.OrderedDict() row0["A"] = "foo" row0["B"] = "bar" row0["C"] = "baz" row1 = collections.OrderedDict() row1["A"] = "quux" row1["B"] = "norf" row1["C"] = "thud" row2 = collections.OrderedDict() row2["A"] = "blargh" row2["B"] = "plugh" row2["C"] = "ztesch" table = osquery.ParseTable([row0, row1, row2]) self.assertLen(table.header.columns, 3) self.assertEqual(table.header.columns[0].name, "A") self.assertEqual(table.header.columns[1].name, "B") self.assertEqual(table.header.columns[2].name, "C") self.assertLen(table.rows, 3) self.assertEqual(table.rows[0].values, ["foo", "bar", "baz"]) self.assertEqual(table.rows[1].values, ["quux", "norf", "thud"]) self.assertEqual(table.rows[2].values, ["blargh", "plugh", "ztesch"])
def testIncompatibleRows(self): row0 = collections.OrderedDict() row0["A"] = "foo" row0["B"] = "bar" row1 = collections.OrderedDict() row1["A"] = "quux" row1["C"] = "thud" with self.assertRaises(ValueError): osquery.ParseTable([row0, row1])
def testSingleRow(self): row = collections.OrderedDict() row["foo"] = "quux" row["bar"] = "thud" row["baz"] = "norf" table = osquery.ParseTable([row]) self.assertLen(table.header.columns, 3) self.assertEqual(table.header.columns[0].name, "foo") self.assertEqual(table.header.columns[1].name, "bar") self.assertEqual(table.header.columns[2].name, "baz") self.assertLen(table.rows, 1) self.assertEqual(table.rows[0].values, ["quux", "thud", "norf"])
def testEmpty(self): table = osquery.ParseTable([]) self.assertEmpty(table.header.columns) self.assertEmpty(table.rows)