Files
quic-go/packet_unpacker_test.go

45 lines
865 B
Go

package quic
import (
"bytes"
"github.com/lucas-clemente/quic-go/crypto"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Packet unpacker", func() {
var (
unpacker *packetUnpacker
hdr *PublicHeader
hdrBin []byte
aead crypto.AEAD
r *bytes.Reader
)
BeforeEach(func() {
aead = &crypto.NullAEAD{}
hdr = &PublicHeader{
PacketNumber: 1,
}
hdrBin = []byte{0x04, 0x4c, 0x01}
unpacker = &packetUnpacker{aead: aead}
r = nil
})
setReader := func(data []byte) {
var b bytes.Buffer
b.Write(aead.Seal(0, hdrBin, data))
r = bytes.NewReader(b.Bytes())
}
It("unpacks empty packets", func() {
setReader([]byte{0x01})
packet, err := unpacker.Unpack(hdrBin, hdr, r)
Expect(err).ToNot(HaveOccurred())
Expect(packet.entropyBit).To(BeTrue())
Expect(packet.frames).To(HaveLen(0))
})
})