mirror of
https://github.com/DeBrosOfficial/network.git
synced 2025-12-13 01:18:49 +00:00
- Adjusted the expected port count in the TestPortChecker test from 22 to 44 to align with the current RequiredPorts configuration.
92 lines
2.1 KiB
Go
92 lines
2.1 KiB
Go
package development
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestPortChecker(t *testing.T) {
|
|
checker := NewPortChecker()
|
|
|
|
if checker == nil {
|
|
t.Fatal("NewPortChecker returned nil")
|
|
}
|
|
|
|
// Verify all required ports are defined
|
|
if len(checker.ports) == 0 {
|
|
t.Fatal("No ports defined in checker")
|
|
}
|
|
|
|
// Check that required port counts match expectations
|
|
expectedPortCount := 44 // Based on RequiredPorts
|
|
if len(checker.ports) != expectedPortCount {
|
|
t.Errorf("Expected %d ports, got %d", expectedPortCount, len(checker.ports))
|
|
}
|
|
}
|
|
|
|
func TestPortMap(t *testing.T) {
|
|
portMap := PortMap()
|
|
|
|
if len(portMap) == 0 {
|
|
t.Fatal("PortMap returned empty map")
|
|
}
|
|
|
|
// Check for key ports
|
|
expectedPorts := []int{4001, 5001, 7001, 6001, 3320, 9050, 9094}
|
|
for _, port := range expectedPorts {
|
|
if _, exists := portMap[port]; !exists {
|
|
t.Errorf("Expected port %d not found in PortMap", port)
|
|
}
|
|
}
|
|
|
|
// Verify descriptions exist
|
|
for port, desc := range portMap {
|
|
if desc == "" {
|
|
t.Errorf("Port %d has empty description", port)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDependencyChecker(t *testing.T) {
|
|
checker := NewDependencyChecker()
|
|
|
|
if checker == nil {
|
|
t.Fatal("NewDependencyChecker returned nil")
|
|
}
|
|
|
|
// Verify required dependencies are defined
|
|
if len(checker.dependencies) == 0 {
|
|
t.Fatal("No dependencies defined in checker")
|
|
}
|
|
|
|
// Expected minimum dependencies
|
|
expectedDeps := []string{"ipfs", "rqlited", "olric-server", "npm"}
|
|
for _, expected := range expectedDeps {
|
|
found := false
|
|
for _, dep := range checker.dependencies {
|
|
if dep.Command == expected {
|
|
found = true
|
|
if dep.InstallHint == "" {
|
|
t.Errorf("Dependency %s has no install hint", expected)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
if !found {
|
|
t.Errorf("Expected dependency %s not found", expected)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestIsPortAvailable(t *testing.T) {
|
|
// Test with a very high port that should be available
|
|
highPort := 65432
|
|
if !isPortAvailable(highPort) {
|
|
t.Logf("Port %d may be in use (this is non-fatal for testing)", highPort)
|
|
}
|
|
|
|
// Port 0 should not be available (reserved)
|
|
if isPortAvailable(0) {
|
|
t.Error("Port 0 should not be available")
|
|
}
|
|
}
|