def _mock_batch_get_row(self, body):
        proto = pb2.BatchGetRowResponse()

        table_item = proto.tables.add()
        table_item.table_name = 'test_table'

        row_item = table_item.rows.add()
        row_item.is_ok = True
        row_item.consumed.capacity_unit.read = 100

        primary_key_columns = row_item.row.primary_key_columns.add()
        primary_key_columns.name = 'PK1'
        primary_key_columns.value.type = pb2.STRING
        primary_key_columns.value.v_string = 'Hello'
        primary_key_columns = row_item.row.primary_key_columns.add()
        primary_key_columns.name = 'PK2'
        primary_key_columns.value.type = pb2.INTEGER
        primary_key_columns.value.v_int = 100

        column = row_item.row.attribute_columns.add()
        column.name = 'COL1'
        column.value.type = pb2.STRING
        column.value.v_string = 'test'
        column = row_item.row.attribute_columns.add()
        column.name = 'COL2'
        column.value.type = pb2.INTEGER
        column.value.v_int = 1000

        row_item = table_item.rows.add()
        row_item.is_ok = False
        row_item.error.code = 'ErrorCode'
        row_item.error.message = 'ErrorMessage'

        return proto
Exemple #2
0
    def _decode_batch_get_row(self, body):
        proto = pb.BatchGetRowResponse()
        proto.ParseFromString(body)

        rows = self._parse_batch_get_row(proto.tables)
        return rows, proto