2025-10-07 15:15:52 +02:00
|
|
|
package codex
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"log"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestConnectWithAddress(t *testing.T) {
|
|
|
|
|
var node1, node2 *CodexNode
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
t.Cleanup(func() {
|
|
|
|
|
if node1 != nil {
|
|
|
|
|
if err := node1.Stop(); err != nil {
|
|
|
|
|
t.Logf("cleanup codex1: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node1.Destroy(); err != nil {
|
|
|
|
|
t.Logf("cleanup codex1: %v", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if node2 != nil {
|
|
|
|
|
if err := node2.Stop(); err != nil {
|
|
|
|
|
t.Logf("cleanup codex2: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node2.Destroy(); err != nil {
|
|
|
|
|
t.Logf("cleanup codex2: %v", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
2025-10-13 13:14:42 +02:00
|
|
|
node1, err = New(Config{
|
2025-10-07 15:15:52 +02:00
|
|
|
DataDir: t.TempDir(),
|
|
|
|
|
LogFormat: LogFormatNoColors,
|
|
|
|
|
MetricsEnabled: false,
|
|
|
|
|
DiscoveryPort: 8090,
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("Failed to create codex1: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node1.Start(); err != nil {
|
|
|
|
|
t.Fatalf("Failed to start codex1: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-13 13:14:42 +02:00
|
|
|
node2, err = New(Config{
|
2025-10-07 15:15:52 +02:00
|
|
|
DataDir: t.TempDir(),
|
|
|
|
|
LogFormat: LogFormatNoColors,
|
|
|
|
|
MetricsEnabled: false,
|
|
|
|
|
DiscoveryPort: 8091,
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("Failed to create codex2: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node2.Start(); err != nil {
|
|
|
|
|
t.Fatalf("Failed to start codex2: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
info2, err := node2.Debug()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node1.Connect(info2.ID, info2.Addrs); err != nil {
|
|
|
|
|
t.Fatalf("connect failed: %v", err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestCodexWithPeerId(t *testing.T) {
|
|
|
|
|
var bootstrap, node1, node2 *CodexNode
|
|
|
|
|
var err error
|
|
|
|
|
|
2025-10-27 10:56:32 +01:00
|
|
|
bootstrap = newCodexNode(t, Config{
|
|
|
|
|
DiscoveryPort: 8092,
|
2025-10-07 15:15:52 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
spr, err := bootstrap.Spr()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("Failed to get bootstrap spr: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bootstrapNodes := []string{spr}
|
|
|
|
|
|
2025-10-27 10:56:32 +01:00
|
|
|
node1 = newCodexNode(t, Config{
|
2025-10-07 15:15:52 +02:00
|
|
|
DiscoveryPort: 8090,
|
|
|
|
|
BootstrapNodes: bootstrapNodes,
|
|
|
|
|
})
|
|
|
|
|
|
2025-10-27 10:56:32 +01:00
|
|
|
node2 = newCodexNode(t, Config{
|
2025-10-07 15:15:52 +02:00
|
|
|
DiscoveryPort: 8091,
|
|
|
|
|
BootstrapNodes: bootstrapNodes,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
peerId, err := node2.PeerId()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := node1.Connect(peerId, []string{}); err != nil {
|
|
|
|
|
log.Println(err)
|
|
|
|
|
}
|
|
|
|
|
}
|