add missing test for StopWaitingManager call in SentPacketHandler

This commit is contained in:
Marten Seemann
2016-05-22 23:59:23 +07:00
parent f33058c504
commit 5dc7f8b0ca
2 changed files with 19 additions and 2 deletions

View File

@@ -72,7 +72,6 @@ func (h *sentPacketHandler) ackPacket(packetNumber protocol.PacketNumber) *Packe
}
delete(h.packetHistory, packetNumber)
// TODO: add tests
h.stopWaitingManager.ReceivedAckForPacketNumber(packetNumber)
return packet

View File

@@ -51,6 +51,19 @@ func (m *mockCongestion) SetNumEmulatedConnections(n int) { panic("not i
func (m *mockCongestion) OnConnectionMigration() { panic("not implemented") }
func (m *mockCongestion) SetSlowStartLargeReduction(enabled bool) { panic("not implemented") }
type mockStopWaiting struct {
receivedAckForPacketNumber protocol.PacketNumber
}
func (m *mockStopWaiting) RegisterPacketForRetransmission(packet *Packet) { panic("not implemented") }
func (m *mockStopWaiting) GetStopWaitingFrame() *frames.StopWaitingFrame { panic("not implemented") }
func (m *mockStopWaiting) SentStopWaitingWithPacket(packetNumber protocol.PacketNumber) {
panic("not implemented")
}
func (m *mockStopWaiting) ReceivedAckForPacketNumber(packetNumber protocol.PacketNumber) {
m.receivedAckForPacketNumber = packetNumber
}
var _ = Describe("SentPacketHandler", func() {
var (
handler *sentPacketHandler
@@ -58,7 +71,7 @@ var _ = Describe("SentPacketHandler", func() {
)
BeforeEach(func() {
stopWaitingManager := NewStopWaitingManager()
stopWaitingManager := &mockStopWaiting{}
handler = NewSentPacketHandler(stopWaitingManager).(*sentPacketHandler)
streamFrame = frames.StreamFrame{
StreamID: 5,
@@ -66,6 +79,11 @@ var _ = Describe("SentPacketHandler", func() {
}
})
It("informs the StopWaitingManager about ACKs received", func() {
handler.ackPacket(2)
Expect(handler.stopWaitingManager.(*mockStopWaiting).receivedAckForPacketNumber).To(Equal(protocol.PacketNumber(2)))
})
Context("SentPacket", func() {
It("accepts two consecutive packets", func() {
entropy := EntropyAccumulator(0)