cloud/awscloud: test terminating a secure instance
This commit is contained in:
parent
e30fba38fc
commit
acc415a676
2 changed files with 31 additions and 1 deletions
|
|
@ -262,6 +262,7 @@ func (m *ec2mock) DescribeInstanceStatus(ctx context.Context, input *ec2.Describ
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ec2mock) RunInstances(ctx context.Context, input *ec2.RunInstancesInput, optfns ...func(*ec2.Options)) (*ec2.RunInstancesOutput, error) {
|
func (m *ec2mock) RunInstances(ctx context.Context, input *ec2.RunInstancesInput, optfns ...func(*ec2.Options)) (*ec2.RunInstancesOutput, error) {
|
||||||
|
m.calledFn["RunInstances"] += 1
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -286,7 +287,14 @@ func (m *ec2mock) CreateFleet(ctx context.Context, input *ec2.CreateFleetInput,
|
||||||
|
|
||||||
func (m *ec2mock) DeleteFleets(ctx context.Context, input *ec2.DeleteFleetsInput, optfns ...func(*ec2.Options)) (*ec2.DeleteFleetsOutput, error) {
|
func (m *ec2mock) DeleteFleets(ctx context.Context, input *ec2.DeleteFleetsInput, optfns ...func(*ec2.Options)) (*ec2.DeleteFleetsOutput, error) {
|
||||||
m.calledFn["DeleteFleets"] += 1
|
m.calledFn["DeleteFleets"] += 1
|
||||||
return nil, nil
|
return &ec2.DeleteFleetsOutput{
|
||||||
|
UnsuccessfulFleetDeletions: nil,
|
||||||
|
SuccessfulFleetDeletions: []ec2types.DeleteFleetSuccessItem{
|
||||||
|
{
|
||||||
|
FleetId: aws.String("fleet-id"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ec2mock) CopyImage(ctx context.Context, input *ec2.CopyImageInput, optfns ...func(*ec2.Options)) (*ec2.CopyImageOutput, error) {
|
func (m *ec2mock) CopyImage(ctx context.Context, input *ec2.CopyImageInput, optfns ...func(*ec2.Options)) (*ec2.CopyImageOutput, error) {
|
||||||
|
|
|
||||||
|
|
@ -82,3 +82,25 @@ func TestSIRunSecureInstance(t *testing.T) {
|
||||||
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
||||||
require.Equal(t, 1, m.calledFn["CreateLaunchTemplate"])
|
require.Equal(t, 1, m.calledFn["CreateLaunchTemplate"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSITerminateSecureInstance(t *testing.T) {
|
||||||
|
m := newEc2Mock(t)
|
||||||
|
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
|
||||||
|
require.NotNil(t, aws)
|
||||||
|
|
||||||
|
// Small hack, describeinstances returns terminate/running
|
||||||
|
// depending on how many times it was called.
|
||||||
|
m.calledFn["DescribeInstances"] = 1
|
||||||
|
|
||||||
|
err := aws.TerminateSecureInstance(&awscloud.SecureInstance{
|
||||||
|
FleetID: "fleet-id",
|
||||||
|
SGID: "sg-id",
|
||||||
|
LTID: "lt-id",
|
||||||
|
InstanceID: "instance-id",
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, 1, m.calledFn["DeleteFleets"])
|
||||||
|
require.Equal(t, 1, m.calledFn["DeleteSecurityGroup"])
|
||||||
|
require.Equal(t, 1, m.calledFn["DeleteLaunchTemplate"])
|
||||||
|
require.Equal(t, 2, m.calledFn["DescribeInstances"])
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue