Add testing for describing launch template data
This commit is contained in:
parent
923fe205cd
commit
06ca5c8993
|
|
@ -277,7 +277,7 @@ func (m *awsWrapper) getLaunchTemplateData(templateName string, templateVersion
|
|||
return nil, err
|
||||
}
|
||||
if describeData == nil || len(describeData.LaunchTemplateVersions) == 0 {
|
||||
return nil, fmt.Errorf("unable to find template versions")
|
||||
return nil, fmt.Errorf("unable to find template versions for launch template %s", templateName)
|
||||
}
|
||||
if describeData.LaunchTemplateVersions[0].LaunchTemplateData == nil {
|
||||
return nil, fmt.Errorf("no data found for launch template %s, version %s", templateName, templateVersion)
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package aws
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
|
|
@ -556,6 +557,72 @@ func TestGetInstanceTypesFromInstanceRequirementsInLaunchTemplate(t *testing.T)
|
|||
assert.Equal(t, "g4dn.xlarge", result)
|
||||
}
|
||||
|
||||
func TestGetLaunchTemplateData(t *testing.T) {
|
||||
e := &ec2Mock{}
|
||||
awsWrapper := &awsWrapper{
|
||||
ec2I: e,
|
||||
}
|
||||
|
||||
testCases := []struct {
|
||||
testName string
|
||||
describeTemplateData *ec2.DescribeLaunchTemplateVersionsOutput
|
||||
expectedData *ec2.ResponseLaunchTemplateData
|
||||
expectedErr error
|
||||
}{
|
||||
{
|
||||
"no launch template version found",
|
||||
&ec2.DescribeLaunchTemplateVersionsOutput{
|
||||
LaunchTemplateVersions: []*ec2.LaunchTemplateVersion{},
|
||||
},
|
||||
nil,
|
||||
errors.New("unable to find template versions for launch template launchTemplateName"),
|
||||
},
|
||||
{
|
||||
"no data found for launch template",
|
||||
&ec2.DescribeLaunchTemplateVersionsOutput{
|
||||
LaunchTemplateVersions: []*ec2.LaunchTemplateVersion{
|
||||
{
|
||||
LaunchTemplateName: aws.String("launchTemplateName"),
|
||||
LaunchTemplateData: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
nil,
|
||||
errors.New("no data found for launch template launchTemplateName, version 1"),
|
||||
},
|
||||
{
|
||||
"launch template data found successfully",
|
||||
&ec2.DescribeLaunchTemplateVersionsOutput{
|
||||
LaunchTemplateVersions: []*ec2.LaunchTemplateVersion{
|
||||
{
|
||||
LaunchTemplateName: aws.String("launchTemplateName"),
|
||||
LaunchTemplateData: &ec2.ResponseLaunchTemplateData{
|
||||
ImageId: aws.String("123"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
&ec2.ResponseLaunchTemplateData{
|
||||
ImageId: aws.String("123"),
|
||||
},
|
||||
nil,
|
||||
},
|
||||
}
|
||||
|
||||
describeTemplateInput := &ec2.DescribeLaunchTemplateVersionsInput{
|
||||
LaunchTemplateName: aws.String("launchTemplateName"),
|
||||
Versions: []*string{aws.String("1")},
|
||||
}
|
||||
|
||||
for _, testCase := range testCases {
|
||||
e.On("DescribeLaunchTemplateVersions", describeTemplateInput).Return(testCase.describeTemplateData).Once()
|
||||
|
||||
describeData, err := awsWrapper.getLaunchTemplateData("launchTemplateName", "1")
|
||||
assert.Equal(t, testCase.expectedData, describeData)
|
||||
assert.Equal(t, testCase.expectedErr, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildLaunchTemplateFromSpec(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue