go-ssb-room/internal/netwraputil/spoof_test.go

36 lines
669 B
Go
Raw Normal View History

// SPDX-FileCopyrightText: 2021 The NGI Pointer Secure-Scuttlebutt Team of 2020/2021
//
2021-02-09 11:53:33 +00:00
// SPDX-License-Identifier: MIT
2021-01-25 12:23:03 +00:00
package netwraputil
import (
"net"
"testing"
"github.com/ssbc/go-ssb-room/v2/internal/maybemod/keys"
"github.com/ssbc/go-ssb-room/v2/internal/network"
2021-03-16 14:11:13 +00:00
"github.com/stretchr/testify/require"
2021-01-25 12:23:03 +00:00
)
func TestSpoof(t *testing.T) {
r := require.New(t)
rc, wc := net.Pipe()
kp, err := keys.NewKeyPair(nil)
r.NoError(err)
wrap := SpoofRemoteAddress(kp.Feed.PubKey())
wrapped, err := wrap(wc)
r.NoError(err)
ref, err := network.GetFeedRefFromAddr(wrapped.RemoteAddr())
r.NoError(err)
r.True(ref.Equal(kp.Feed))
2021-01-25 12:23:03 +00:00
wc.Close()
rc.Close()
}