Esempio n. 1
0
    def testSingleRowChunks(self):
        table = rdf_osquery.OsqueryTable()
        table.query = "SELECT foo, bar, baz FROM quux;"
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="foo"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="bar"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="baz"))
        table.rows.append(rdf_osquery.OsqueryRow(values=["ABC", "DEF", "GHI"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["JKL", "MNO", "PQR"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["RST", "UVW", "XYZ"]))

        chunks = list(osquery.ChunkTable(table, max_chunk_size=9))
        self.assertLen(chunks, 3)
        self.assertEqual(chunks[0].query, table.query)
        self.assertEqual(chunks[0].header, table.header)
        self.assertEqual(chunks[0].rows, [
            rdf_osquery.OsqueryRow(values=["ABC", "DEF", "GHI"]),
        ])
        self.assertEqual(chunks[1].query, table.query)
        self.assertEqual(chunks[1].header, table.header)
        self.assertEqual(chunks[1].rows, [
            rdf_osquery.OsqueryRow(values=["JKL", "MNO", "PQR"]),
        ])
        self.assertEqual(chunks[2].query, table.query)
        self.assertEqual(chunks[2].header, table.header)
        self.assertEqual(chunks[2].rows, [
            rdf_osquery.OsqueryRow(values=["RST", "UVW", "XYZ"]),
        ])
Esempio n. 2
0
    def testNoRows(self):
        table = rdf_osquery.OsqueryTable()
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="foo"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="bar"))
        table.query = "SELECT * FROM quux;"

        chunks = list(
            osquery.ChunkTable(table, max_chunk_size=1024 * 1024 * 1024))
        self.assertEmpty(chunks)
Esempio n. 3
0
    def testMultiByteStrings(self):
        table = rdf_osquery.OsqueryTable()
        table.query = "SELECT foo, bar, baz FROM quux;"
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="foo"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="bar"))
        table.rows.append(rdf_osquery.OsqueryRow(values=["๐Ÿ”", "๐Ÿ“"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["๐Ÿฃ", "๐Ÿค"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["๐Ÿฅ", "๐Ÿฆ†"]))

        chunks = list(osquery.ChunkTable(table, max_chunk_size=10))
        self.assertLen(chunks, 3)
        self.assertEqual(chunks[0].rows,
                         [rdf_osquery.OsqueryRow(values=["๐Ÿ”", "๐Ÿ“"])])
        self.assertEqual(chunks[1].rows,
                         [rdf_osquery.OsqueryRow(values=["๐Ÿฃ", "๐Ÿค"])])
        self.assertEqual(chunks[2].rows,
                         [rdf_osquery.OsqueryRow(values=["๐Ÿฅ", "๐Ÿฆ†"])])
Esempio n. 4
0
    def testMultiRowChunks(self):
        table = rdf_osquery.OsqueryTable()
        table.query = "SELECT foo, bar, baz FROM quux;"
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="foo"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="bar"))
        table.header.columns.append(rdf_osquery.OsqueryColumn(name="baz"))
        table.rows.append(rdf_osquery.OsqueryRow(values=["A", "B", "C"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["D", "E", "F"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["G", "H", "I"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["J", "K", "L"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["M", "N", "O"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["P", "Q", "R"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["S", "T", "U"]))
        table.rows.append(rdf_osquery.OsqueryRow(values=["V", "W", "X"]))

        chunks = list(osquery.ChunkTable(table, max_chunk_size=10))
        self.assertLen(chunks, 3)
        self.assertEqual(chunks[0].query, table.query)
        self.assertEqual(chunks[0].header, table.header)
        self.assertEqual(chunks[0].rows, [
            rdf_osquery.OsqueryRow(values=["A", "B", "C"]),
            rdf_osquery.OsqueryRow(values=["D", "E", "F"]),
            rdf_osquery.OsqueryRow(values=["G", "H", "I"]),
        ])
        self.assertEqual(chunks[1].query, table.query)
        self.assertEqual(chunks[1].header, table.header)
        self.assertEqual(chunks[1].rows, [
            rdf_osquery.OsqueryRow(values=["J", "K", "L"]),
            rdf_osquery.OsqueryRow(values=["M", "N", "O"]),
            rdf_osquery.OsqueryRow(values=["P", "Q", "R"]),
        ])
        self.assertEqual(chunks[2].query, table.query)
        self.assertEqual(chunks[2].header, table.header)
        self.assertEqual(chunks[2].rows, [
            rdf_osquery.OsqueryRow(values=["S", "T", "U"]),
            rdf_osquery.OsqueryRow(values=["V", "W", "X"]),
        ])