Ejemplo n.º 1
0
    def test_decode_offset_response(self):
        encoded = "".join([
            struct.pack(">i", 42),  # Correlation ID
            struct.pack(">i", 1),  # One topics
            struct.pack(">h6s", 6, "topic1"),  # First topic
            struct.pack(">i", 2),  # Two partitions
            struct.pack(">i", 2),  # Partition 2
            struct.pack(">h", 0),  # No error
            struct.pack(">i", 1),  # One offset
            struct.pack(">q", 4),  # Offset 4
            struct.pack(">i", 4),  # Partition 4
            struct.pack(">h", 0),  # No error
            struct.pack(">i", 1),  # One offset
            struct.pack(">q", 8),  # Offset 8
        ])

        results = KafkaProtocol.decode_offset_response(encoded)
        self.assertEqual(
            set(results),
            set([
                OffsetResponse(topic='topic1',
                               partition=2,
                               error=0,
                               offsets=(4, )),
                OffsetResponse(topic='topic1',
                               partition=4,
                               error=0,
                               offsets=(8, )),
            ]))
Ejemplo n.º 2
0
    def test_decode_offset_response(self):
        encoded = b"".join([
            struct.pack(">i", 42),            # Correlation ID
            struct.pack(">i", 1),             # One topics
            struct.pack(">h6s", 6, b"topic1"),# First topic
            struct.pack(">i", 2),             # Two partitions

            struct.pack(">i", 2),             # Partition 2
            struct.pack(">h", 0),             # No error
            struct.pack(">i", 1),             # One offset
            struct.pack(">q", 4),             # Offset 4

            struct.pack(">i", 4),             # Partition 4
            struct.pack(">h", 0),             # No error
            struct.pack(">i", 1),             # One offset
            struct.pack(">q", 8),             # Offset 8
        ])

        results = KafkaProtocol.decode_offset_response(encoded)
        self.assertEqual(set(results), set([
            OffsetResponse(topic = b'topic1', partition = 2, error = 0, offsets=(4,)),
            OffsetResponse(topic = b'topic1', partition = 4, error = 0, offsets=(8,)),
        ]))