98 lines
2.3 KiB
Go
98 lines
2.3 KiB
Go
package toolsrv
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestServer9P_RegisterAgent(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
srv := NewServer9P(secret)
|
|
|
|
agentID := "agent-uuid-123"
|
|
cwd := "/home/user/project"
|
|
sig := ComputeRegistrationSig(secret, agentID, cwd)
|
|
|
|
// Register should succeed with valid signature
|
|
token, err := srv.RegisterAgent(agentID, cwd, sig)
|
|
if err != nil {
|
|
t.Fatalf("RegisterAgent failed: %v", err)
|
|
}
|
|
if token == "" {
|
|
t.Fatal("RegisterAgent returned empty token")
|
|
}
|
|
|
|
// Should be able to look up the agent
|
|
agent, ok := srv.GetAgent(token)
|
|
if !ok {
|
|
t.Fatal("GetAgent returned false")
|
|
}
|
|
if agent.ID != agentID {
|
|
t.Errorf("agent.ID = %q, want %q", agent.ID, agentID)
|
|
}
|
|
if agent.CWD != cwd {
|
|
t.Errorf("agent.CWD = %q, want %q", agent.CWD, cwd)
|
|
}
|
|
}
|
|
|
|
func TestServer9P_RegisterAgentBadSig(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
srv := NewServer9P(secret)
|
|
|
|
agentID := "agent-uuid-123"
|
|
cwd := "/home/user/project"
|
|
badSig := "invalid-signature"
|
|
|
|
// Register should fail with invalid signature
|
|
_, err := srv.RegisterAgent(agentID, cwd, badSig)
|
|
if err == nil {
|
|
t.Fatal("RegisterAgent should fail with bad signature")
|
|
}
|
|
}
|
|
|
|
func TestServer9P_RegisterAgentWrongSecret(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
wrongSecret := []byte("wrong-secret-key-abcdefghijklmnop")
|
|
srv := NewServer9P(secret)
|
|
|
|
agentID := "agent-uuid-123"
|
|
cwd := "/home/user/project"
|
|
// Sign with wrong secret
|
|
sig := ComputeRegistrationSig(wrongSecret, agentID, cwd)
|
|
|
|
// Register should fail
|
|
_, err := srv.RegisterAgent(agentID, cwd, sig)
|
|
if err == nil {
|
|
t.Fatal("RegisterAgent should fail with wrong secret")
|
|
}
|
|
}
|
|
|
|
func TestServer9P_GetAgentNotFound(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
srv := NewServer9P(secret)
|
|
|
|
_, ok := srv.GetAgent("nonexistent-token")
|
|
if ok {
|
|
t.Fatal("GetAgent should return false for nonexistent token")
|
|
}
|
|
}
|
|
|
|
func TestServer9P_BuildTree(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
srv := NewServer9P(secret)
|
|
|
|
tree := srv.BuildTree()
|
|
if tree == nil {
|
|
t.Fatal("BuildTree returned nil")
|
|
}
|
|
}
|
|
|
|
func TestServer9P_HostInfo(t *testing.T) {
|
|
secret := []byte("test-secret-key-1234567890123456")
|
|
srv := NewServer9P(secret)
|
|
|
|
info := srv.HostInfo()
|
|
if info == "" {
|
|
t.Fatal("HostInfo returned empty string")
|
|
}
|
|
}
|