packer-cn/builder/amazon/common/step_create_ssm_tunnel_test.go
2020-05-08 09:32:48 -04:00

49 lines
1.1 KiB
Go

package common
import (
"context"
"reflect"
"testing"
"github.com/aws/aws-sdk-go/aws"
)
func TestStepCreateSSMTunnel_BuildTunnelInputForInstance(t *testing.T) {
step := StepCreateSSMTunnel{
Region: "region",
LocalPortNumber: 8001,
RemotePortNumber: 22,
SSMAgentEnabled: true,
}
input := step.BuildTunnelInputForInstance("i-something")
target := aws.StringValue(input.Target)
if target != "i-something" {
t.Errorf("input should contain instance id as target but it got %q", target)
}
params := map[string][]*string{
"portNumber": []*string{aws.String("22")},
"localPortNumber": []*string{aws.String("8001")},
}
if !reflect.DeepEqual(input.Parameters, params) {
t.Errorf("input should contain the expected port parameters but it got %v", input.Parameters)
}
}
func TestStepCreateSSMTunnel_ConfigureLocalHostPort(t *testing.T) {
tun := StepCreateSSMTunnel{}
ctx := context.TODO()
if err := tun.ConfigureLocalHostPort(ctx); err != nil {
t.Errorf("failed to configure a port on localhost")
}
if tun.LocalPortNumber == 0 {
t.Errorf("failed to configure a port on localhost")
}
}