- Modified BuildGRPCEnv to accept the Tai node's gRPC port directly, enhancing flexibility for different modes. - Updated test cases to reflect changes in gRPC address construction, ensuring accurate environment variable settings for local, direct, and tunnel modes. - Added a new test for handling unknown modes, improving test coverage and robustness. - Adjusted Docker configuration to ensure proper host resolution for gRPC communication. Made-with: Cursor
64 lines
1.7 KiB
Go
64 lines
1.7 KiB
Go
package sandbox_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/yaoapp/yao/config"
|
|
sandbox "github.com/yaoapp/yao/sandbox/v2"
|
|
)
|
|
|
|
func TestBuildGRPCEnvLocal(t *testing.T) {
|
|
config.Conf.GRPC.Port = 9099
|
|
env := sandbox.BuildGRPCEnv("local", 19100, "sb-001")
|
|
|
|
if env["YAO_SANDBOX_ID"] != "sb-001" {
|
|
t.Errorf("YAO_SANDBOX_ID = %q", env["YAO_SANDBOX_ID"])
|
|
}
|
|
if _, ok := env["YAO_TOKEN"]; ok {
|
|
t.Error("YAO_TOKEN should not be set by BuildGRPCEnv")
|
|
}
|
|
want := "host.tai.internal:9099"
|
|
if env["YAO_GRPC_ADDR"] != want {
|
|
t.Errorf("YAO_GRPC_ADDR = %q, want %q", env["YAO_GRPC_ADDR"], want)
|
|
}
|
|
}
|
|
|
|
func TestBuildGRPCEnvDirect(t *testing.T) {
|
|
config.Conf.GRPC.Port = 9099
|
|
env := sandbox.BuildGRPCEnv("direct", 19100, "sb-002")
|
|
|
|
want := "host.tai.internal:19100"
|
|
if env["YAO_GRPC_ADDR"] != want {
|
|
t.Errorf("YAO_GRPC_ADDR = %q, want %q", env["YAO_GRPC_ADDR"], want)
|
|
}
|
|
}
|
|
|
|
func TestBuildGRPCEnvDirectDefaultPort(t *testing.T) {
|
|
config.Conf.GRPC.Port = 9099
|
|
env := sandbox.BuildGRPCEnv("direct", 0, "sb-002")
|
|
|
|
want := "host.tai.internal:19100"
|
|
if env["YAO_GRPC_ADDR"] != want {
|
|
t.Errorf("YAO_GRPC_ADDR = %q, want %q (default tai port)", env["YAO_GRPC_ADDR"], want)
|
|
}
|
|
}
|
|
|
|
func TestBuildGRPCEnvTunnel(t *testing.T) {
|
|
config.Conf.GRPC.Port = 9099
|
|
env := sandbox.BuildGRPCEnv("tunnel", 19200, "sb-003")
|
|
|
|
want := "host.tai.internal:19200"
|
|
if env["YAO_GRPC_ADDR"] != want {
|
|
t.Errorf("YAO_GRPC_ADDR = %q, want %q", env["YAO_GRPC_ADDR"], want)
|
|
}
|
|
}
|
|
|
|
func TestBuildGRPCEnvUnknownMode(t *testing.T) {
|
|
config.Conf.GRPC.Port = 8888
|
|
env := sandbox.BuildGRPCEnv("unknown", 19100, "sb-004")
|
|
|
|
want := "host.tai.internal:8888"
|
|
if env["YAO_GRPC_ADDR"] != want {
|
|
t.Errorf("YAO_GRPC_ADDR = %q, want %q (fallback to yao port)", env["YAO_GRPC_ADDR"], want)
|
|
}
|
|
}
|