60 lines
2.1 KiB
Go
60 lines
2.1 KiB
Go
package bunker
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"realy.lol/p256k"
|
|
)
|
|
|
|
func TestIsValidBunkerURLWithRelays(t *testing.T) {
|
|
// Test with valid URL containing multiple relays
|
|
valid := IsValidBunkerURL("bunker://3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d?relay=wss%3A%2F%2Frelay1.com&relay=wss%3A%2F%2Frelay2.com")
|
|
assert.True(t, valid, "should be valid with multiple relays")
|
|
|
|
// Test with valid URL containing a single relay
|
|
valid = IsValidBunkerURL("bunker://3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d?relay=wss%3A%2F%2Frelay1.com")
|
|
assert.True(t, valid, "should be valid with a single relay")
|
|
}
|
|
|
|
func TestBunkerClientMock(t *testing.T) {
|
|
// This is a mock test for BunkerClient
|
|
// In a real environment, we would need to set up a mock relay server
|
|
// and test the actual client functionality
|
|
|
|
// Create a client secret key
|
|
clientSecret := new(p256k.Signer)
|
|
err := clientSecret.Generate()
|
|
require.NoError(t, err)
|
|
|
|
// Create a target public key
|
|
targetSecret := new(p256k.Signer)
|
|
err = targetSecret.Generate()
|
|
require.NoError(t, err)
|
|
_ = targetSecret.Pub() // Not used in this test, but would be used in a real test
|
|
|
|
// In a real test, we would create a pool and connect to relays
|
|
// For now, we're just testing function signatures
|
|
|
|
// In a real test, we would connect to actual relays or mock them
|
|
// For now, we'll just verify the function signature and parameters
|
|
t.Run("NewBunker function signature", func(t *testing.T) {
|
|
// This is just a compile-time check that the function signature is correct
|
|
// We're not actually calling the function since it would try to connect to relays
|
|
assert.NotPanics(t, func() {
|
|
// Just reference the function to ensure it exists with the right signature
|
|
_ = NewBunker
|
|
})
|
|
})
|
|
|
|
// Test ConnectBunker function
|
|
t.Run("ConnectBunker function signature", func(t *testing.T) {
|
|
// This is just a compile-time check that the function signature is correct
|
|
assert.NotPanics(t, func() {
|
|
// Just reference the function to ensure it exists with the right signature
|
|
_ = ConnectBunker
|
|
})
|
|
})
|
|
}
|