Use gated fabric sessions for VPN transport
This commit is contained in:
@@ -265,6 +265,40 @@ func TestFabricSessionPacketTransportRunFrameIngressDeliversInbox(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFabricSessionPacketTransportReceiveReadsPumpFrames(t *testing.T) {
|
||||
inbox := NewFabricPacketInbox(4)
|
||||
receiver := memoryFabricSessionReceiver{
|
||||
frames: make(chan fabricproto.Frame, 1),
|
||||
errors: make(chan error, 1),
|
||||
}
|
||||
transport := &FabricSessionPacketTransport{
|
||||
Receiver: receiver,
|
||||
Inbox: inbox,
|
||||
StreamID: 711,
|
||||
VPNConnectionID: "vpn-1",
|
||||
ReceiveDirection: FabricDirectionClientToGateway,
|
||||
}
|
||||
frame, err := NewFabricVPNPacketDataFrame(FabricVPNPacketFrameInput{
|
||||
StreamID: 711,
|
||||
Sequence: 1,
|
||||
VPNConnectionID: "vpn-1",
|
||||
Direction: FabricDirectionClientToGateway,
|
||||
Packets: [][]byte{[]byte("request")},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("new fabric vpn frame: %v", err)
|
||||
}
|
||||
receiver.frames <- frame
|
||||
|
||||
packets, err := transport.ReceiveGatewayPacketBatch(context.Background(), time.Second)
|
||||
if err != nil {
|
||||
t.Fatalf("receive gateway packet: %v", err)
|
||||
}
|
||||
if len(packets) != 1 || string(packets[0]) != "request" {
|
||||
t.Fatalf("packets = %#v", packets)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFabricSessionPacketTransportIngressIgnoresOtherStreams(t *testing.T) {
|
||||
inbox := NewFabricPacketInbox(4)
|
||||
receiver := memoryFabricSessionReceiver{
|
||||
|
||||
Reference in New Issue
Block a user