cloud/awscloud: test failures when running a secure instance
This commit is contained in:
parent
acc415a676
commit
c90b92f666
3 changed files with 88 additions and 1 deletions
|
|
@ -104,3 +104,63 @@ func TestSITerminateSecureInstance(t *testing.T) {
|
|||
require.Equal(t, 1, m.calledFn["DeleteLaunchTemplate"])
|
||||
require.Equal(t, 2, m.calledFn["DescribeInstances"])
|
||||
}
|
||||
|
||||
func TestSICreateSGFailures(t *testing.T) {
|
||||
m := newEc2Mock(t)
|
||||
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
|
||||
require.NotNil(t, aws)
|
||||
|
||||
m.failFn["CreateSecurityGroup"] = fmt.Errorf("some-error")
|
||||
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
|
||||
require.Error(t, err)
|
||||
require.Nil(t, si)
|
||||
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
||||
require.Equal(t, 1, m.calledFn["DeleteSecurityGroup"])
|
||||
require.Equal(t, 0, m.calledFn["CreateFleet"])
|
||||
require.Equal(t, 0, m.calledFn["CreateLaunchTemplate"])
|
||||
require.Equal(t, 0, m.calledFn["DeleteLaunchTemplate"])
|
||||
}
|
||||
|
||||
func TestSICreateLTFailures(t *testing.T) {
|
||||
m := newEc2Mock(t)
|
||||
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
|
||||
require.NotNil(t, aws)
|
||||
|
||||
m.failFn["CreateLaunchTemplate"] = fmt.Errorf("some-error")
|
||||
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
|
||||
require.Error(t, err)
|
||||
require.Nil(t, si)
|
||||
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
||||
require.Equal(t, 2, m.calledFn["DeleteSecurityGroup"])
|
||||
require.Equal(t, 1, m.calledFn["CreateLaunchTemplate"])
|
||||
require.Equal(t, 1, m.calledFn["DeleteLaunchTemplate"])
|
||||
require.Equal(t, 0, m.calledFn["CreateFleet"])
|
||||
}
|
||||
|
||||
func TestSICreateFleetFailures(t *testing.T) {
|
||||
m := newEc2Mock(t)
|
||||
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
|
||||
require.NotNil(t, aws)
|
||||
|
||||
// unfillable capacity should call create fleet twice
|
||||
m.failFn["CreateFleet"] = nil
|
||||
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
|
||||
require.Error(t, err)
|
||||
require.Nil(t, si)
|
||||
require.Equal(t, 2, m.calledFn["CreateFleet"])
|
||||
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
||||
require.Equal(t, 1, m.calledFn["CreateLaunchTemplate"])
|
||||
require.Equal(t, 2, m.calledFn["DeleteSecurityGroup"])
|
||||
require.Equal(t, 2, m.calledFn["DeleteLaunchTemplate"])
|
||||
|
||||
// other errors should just fail immediately
|
||||
m.failFn["CreateFleet"] = fmt.Errorf("random error")
|
||||
si, err = aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
|
||||
require.Error(t, err)
|
||||
require.Nil(t, si)
|
||||
require.Equal(t, 3, m.calledFn["CreateFleet"])
|
||||
require.Equal(t, 2, m.calledFn["CreateSecurityGroup"])
|
||||
require.Equal(t, 2, m.calledFn["CreateLaunchTemplate"])
|
||||
require.Equal(t, 4, m.calledFn["DeleteSecurityGroup"])
|
||||
require.Equal(t, 4, m.calledFn["DeleteLaunchTemplate"])
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue