From 011932f3573921bef3b10f575dae0a2537d4625d Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 21 Apr 2016 13:06:46 +0700 Subject: [PATCH] better tests for outgoingAckHandler.SendPacket() --- .../outgoing_packet_ack_handler_test.go | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/ackhandler/outgoing_packet_ack_handler_test.go b/ackhandler/outgoing_packet_ack_handler_test.go index 27c0fd5d..dc52d2cb 100644 --- a/ackhandler/outgoing_packet_ack_handler_test.go +++ b/ackhandler/outgoing_packet_ack_handler_test.go @@ -1,40 +1,52 @@ package ackhandler import ( + "github.com/lucas-clemente/quic-go/protocol" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("AckHandler", func() { + var handler *outgoingPacketAckHandler + BeforeEach(func() { + handler = NewOutgoingPacketAckHandler().(*outgoingPacketAckHandler) + }) + Context("SentPacket", func() { It("accepts two consecutive packets", func() { packet1 := Packet{PacketNumber: 1, Plaintext: []byte{0x13, 0x37}, EntropyBit: true} packet2 := Packet{PacketNumber: 2, Plaintext: []byte{0xBE, 0xEF}, EntropyBit: false} - handler := NewOutgoingPacketAckHandler() err := handler.SentPacket(&packet1) Expect(err).ToNot(HaveOccurred()) err = handler.SentPacket(&packet2) Expect(err).ToNot(HaveOccurred()) + Expect(handler.lastSentPacketNumber).To(Equal(protocol.PacketNumber(2))) + Expect(handler.packetHistory).To(HaveKey(protocol.PacketNumber(1))) + Expect(handler.packetHistory).To(HaveKey(protocol.PacketNumber(2))) }) - It("rejects two packets with the same packet number", func() { + It("rejects packets with the same packet number", func() { packet1 := Packet{PacketNumber: 1, Plaintext: []byte{0x13, 0x37}, EntropyBit: true} packet2 := Packet{PacketNumber: 1, Plaintext: []byte{0xBE, 0xEF}, EntropyBit: false} - handler := NewOutgoingPacketAckHandler() err := handler.SentPacket(&packet1) Expect(err).ToNot(HaveOccurred()) err = handler.SentPacket(&packet2) Expect(err).To(HaveOccurred()) + Expect(handler.lastSentPacketNumber).To(Equal(protocol.PacketNumber(1))) + Expect(handler.packetHistory).To(HaveKey(protocol.PacketNumber(1))) }) It("rejects non-consecutive packets", func() { packet1 := Packet{PacketNumber: 1, Plaintext: []byte{0x13, 0x37}, EntropyBit: true} packet2 := Packet{PacketNumber: 3, Plaintext: []byte{0xBE, 0xEF}, EntropyBit: false} - handler := NewOutgoingPacketAckHandler() err := handler.SentPacket(&packet1) Expect(err).ToNot(HaveOccurred()) err = handler.SentPacket(&packet2) Expect(err).To(HaveOccurred()) + Expect(handler.lastSentPacketNumber).To(Equal(protocol.PacketNumber(1))) + Expect(handler.packetHistory).To(HaveKey(protocol.PacketNumber(1))) + Expect(handler.packetHistory).ToNot(HaveKey(protocol.PacketNumber(2))) + Expect(handler.packetHistory).ToNot(HaveKey(protocol.PacketNumber(2))) }) }) })