cloud/awscloud: add tests for ec2 operations
This commit is contained in:
parent
810e9133e8
commit
16c9a7be88
4 changed files with 396 additions and 7 deletions
|
|
@ -1,11 +1,15 @@
|
|||
package awscloud
|
||||
package awscloud_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/cloud/awscloud"
|
||||
)
|
||||
|
||||
func TestSecureInstanceUserData(t *testing.T) {
|
||||
func TestSIUserData(t *testing.T) {
|
||||
type testCase struct {
|
||||
CloudWatchGroup string
|
||||
Hostname string
|
||||
|
|
@ -58,10 +62,23 @@ write_files:
|
|||
|
||||
for idx, tc := range testCases {
|
||||
t.Run(fmt.Sprintf("Test case %d", idx), func(t *testing.T) {
|
||||
userData := SecureInstanceUserData(tc.CloudWatchGroup, tc.Hostname)
|
||||
userData := awscloud.SecureInstanceUserData(tc.CloudWatchGroup, tc.Hostname)
|
||||
if userData != tc.ExpectedUserData {
|
||||
t.Errorf("Expected: %s, got: %s", tc.ExpectedUserData, userData)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSIRunSecureInstance(t *testing.T) {
|
||||
m := newEc2Mock(t)
|
||||
aws := awscloud.NewForTest(m, &ec2imdsmock{t, "instance-id", "region1"}, nil, nil, nil)
|
||||
require.NotNil(t, aws)
|
||||
|
||||
si, err := aws.RunSecureInstance("iam-profile", "key-name", "cw-group", "hostname")
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, si)
|
||||
require.Equal(t, 1, m.calledFn["CreateFleet"])
|
||||
require.Equal(t, 1, m.calledFn["CreateSecurityGroup"])
|
||||
require.Equal(t, 1, m.calledFn["CreateLaunchTemplate"])
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue