Пример #1
0
    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"])
Пример #2
0
    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])
Пример #3
0
    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"])
Пример #4
0
 def testEmpty(self):
     table = osquery.ParseTable([])
     self.assertEmpty(table.header.columns)
     self.assertEmpty(table.rows)