package deploy import ( "context" "testing" ) func TestReadEC2InstanceMetaMockIMDS(t *testing.T) { prev := ec2IMDSReadMeta t.Cleanup(func() { ec2IMDSReadMeta = prev }) ec2IMDSReadMeta = func(ctx context.Context) (CloudInstanceMeta, error) { return CloudInstanceMeta{VpcID: "vpc-abc123", SubnetID: "subnet-def456", Region: "us-east-1"}, nil } meta := ReadEC2InstanceMeta() if meta.VpcID != "vpc-abc123" { t.Fatalf("meta=%+v", meta) } } func TestReadEC2InstanceMetaNonAWSFallback(t *testing.T) { prev := ec2IMDSReadMeta t.Cleanup(func() { ec2IMDSReadMeta = prev }) ec2IMDSReadMeta = func(ctx context.Context) (CloudInstanceMeta, error) { return CloudInstanceMeta{}, context.DeadlineExceeded } if ReadEC2InstanceMeta().Present() { t.Fatal("expected empty meta on non-AWS fallback") } } func TestReadEC2InstanceMetaRegionFromAZ(t *testing.T) { prev := ec2IMDSReadMeta t.Cleanup(func() { ec2IMDSReadMeta = prev }) ec2IMDSReadMeta = func(ctx context.Context) (CloudInstanceMeta, error) { return CloudInstanceMeta{Region: "us-west-2", SubnetID: "subnet-123"}, nil } meta := ReadEC2InstanceMeta() if meta.Region != "us-west-2" || meta.SubnetID != "subnet-123" { t.Fatalf("meta=%+v", meta) } }