forked from quic-go/quic-go
45 lines
865 B
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))
|
|
})
|
|
})
|