mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-21 11:46:37 +00:00
dd764b3970
Enable/Disable/GetSerialConsoleAccessEnabled is pure gateway+account-settings logic with no guest involved, so it moves to the in-process integration tier against the real AccountSettingsServiceImpl wired into DaemonLite.
46 lines
2.1 KiB
Go
46 lines
2.1 KiB
Go
//go:build integration
|
|
|
|
package integration
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/service/ec2"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// TestSerialConsoleAccess ports tests/e2e/single/discovery_test.go's
|
|
// runSerialConsoleAccess: it flips the account-wide serial-console-access
|
|
// setting on then off, checking every transition with both the
|
|
// action-returned bool and a follow-up get-status round-trip, against the
|
|
// real AccountSettingsServiceImpl DaemonLite wires up (the same production
|
|
// code and NATS JetStream KV persistence a live daemon uses).
|
|
func TestSerialConsoleAccess(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
gw := StartGateway(t)
|
|
StartDaemonLite(t, gw)
|
|
ec2Cli := gw.EC2Client(t)
|
|
|
|
statusOut, err := ec2Cli.GetSerialConsoleAccessStatus(&ec2.GetSerialConsoleAccessStatusInput{})
|
|
require.NoError(t, err, "get-serial-console-access-status (default)")
|
|
require.False(t, aws.BoolValue(statusOut.SerialConsoleAccessEnabled), "expected serial console default disabled")
|
|
|
|
enableOut, err := ec2Cli.EnableSerialConsoleAccess(&ec2.EnableSerialConsoleAccessInput{})
|
|
require.NoError(t, err, "enable-serial-console-access")
|
|
require.True(t, aws.BoolValue(enableOut.SerialConsoleAccessEnabled), "enable: action returned enabled=false")
|
|
|
|
statusOut, err = ec2Cli.GetSerialConsoleAccessStatus(&ec2.GetSerialConsoleAccessStatusInput{})
|
|
require.NoError(t, err, "get-serial-console-access-status (after enable)")
|
|
require.True(t, aws.BoolValue(statusOut.SerialConsoleAccessEnabled), "enable: subsequent get-status returned disabled")
|
|
|
|
disableOut, err := ec2Cli.DisableSerialConsoleAccess(&ec2.DisableSerialConsoleAccessInput{})
|
|
require.NoError(t, err, "disable-serial-console-access")
|
|
require.False(t, aws.BoolValue(disableOut.SerialConsoleAccessEnabled), "disable: action returned enabled=true")
|
|
|
|
statusOut, err = ec2Cli.GetSerialConsoleAccessStatus(&ec2.GetSerialConsoleAccessStatusInput{})
|
|
require.NoError(t, err, "get-serial-console-access-status (after disable)")
|
|
require.False(t, aws.BoolValue(statusOut.SerialConsoleAccessEnabled), "disable: subsequent get-status returned enabled")
|
|
}
|