Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Cover fleet torrent DHT fetch, cloud map/venue/meta IMDS mocks, S3 shard fetch order, zero-server policy polling, self-surgery reorder, contingency skip paths, epidemiology fix guards, and ssm_document deploy lane.
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|