Skip to content
File

Blob: spec/mocks/tunnel_server.go

go49 lines
1//go:build !no_mocks
2 
3package mocks
4 
5import (
6 "context"
7 "net"
8 
9 "go.miragespace.co/specter/spec/protocol"
10 "go.miragespace.co/specter/spec/tun"
11 
12 "github.com/stretchr/testify/mock"
13)
14 
15type TunnelServer struct {
16 mock.Mock
17}
18 
19var _ tun.Server = (*TunnelServer)(nil)
20 
21func (m *TunnelServer) Identity() *protocol.Node {
22 args := m.Called()
23 n := args.Get(0)
24 if n == nil {
25 return nil
26 }
27 return n.(*protocol.Node)
28}
29 
30func (m *TunnelServer) DialClient(ctx context.Context, link *protocol.Link) (net.Conn, error) {
31 args := m.Called(ctx, link)
32 c := args.Get(0)
33 e := args.Error(1)
34 if c == nil {
35 return nil, e
36 }
37 return c.(net.Conn), e
38}
39 
40func (m *TunnelServer) DialInternal(ctx context.Context, node *protocol.Node) (net.Conn, error) {
41 args := m.Called(ctx, node)
42 c := args.Get(0)
43 e := args.Error(1)
44 if c == nil {
45 return nil, e
46 }
47 return c.(net.Conn), e
48}