@@ -15,13 +15,13 @@ type Configurer func(ssmClient *mock_ssmiface.MockSSMAPI) *mock_ssmiface.MockSSM
15
15
16
16
func TestMetadataClient_GetRecommendedECSLinuxAMI (t * testing.T ) {
17
17
tests := []struct {
18
- instanceType string
18
+ instanceTypes [] string
19
19
configureMock Configurer
20
20
expectedErr error
21
21
}{
22
22
{
23
23
// validate that we use the ARM64 optimized AMI for Arm instances
24
- "a1.medium" ,
24
+ [] string { "a1.medium" , "m6g.medium" , "c6gd.16xlarge" , "m6g.metal" } ,
25
25
func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
26
26
ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
27
27
assert .Equal (t , amazonLinux2ARM64RecommendedParameterName , * input .Name )
@@ -32,18 +32,7 @@ func TestMetadataClient_GetRecommendedECSLinuxAMI(t *testing.T) {
32
32
},
33
33
{
34
34
// validate that we use GPU optimized AMI for GPU instances
35
- "p2.large" ,
36
- func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
37
- ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
38
- assert .Equal (t , amazonLinux2X86GPURecommendedParameterName , * input .Name )
39
- }).Return (emptySSMParameterOutput (), nil )
40
- return ssmClient
41
- },
42
- nil ,
43
- },
44
- {
45
- // validate that we use GPU optimized AMI for GPU instances
46
- "g4dn.xlarge" ,
35
+ []string {"p2.large" , "g4dn.xlarge" },
47
36
func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
48
37
ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
49
38
assert .Equal (t , amazonLinux2X86GPURecommendedParameterName , * input .Name )
@@ -54,7 +43,7 @@ func TestMetadataClient_GetRecommendedECSLinuxAMI(t *testing.T) {
54
43
},
55
44
{
56
45
// validate that we use the generic AMI for other instances
57
- "t2.micro" ,
46
+ [] string { "t2.micro" , "m5ad.large" , "c4.large" , "i3.2xlarge" } ,
58
47
func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
59
48
ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
60
49
assert .Equal (t , amazonLinux2X86RecommendedParameterName , * input .Name )
@@ -65,7 +54,7 @@ func TestMetadataClient_GetRecommendedECSLinuxAMI(t *testing.T) {
65
54
},
66
55
{
67
56
// validate that we throw an error if the AMI is not available in a region
68
- "t2.micro" ,
57
+ [] string { "t2.micro" } ,
69
58
func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
70
59
ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
71
60
assert .Equal (t , amazonLinux2X86RecommendedParameterName , * input .Name )
@@ -79,7 +68,7 @@ func TestMetadataClient_GetRecommendedECSLinuxAMI(t *testing.T) {
79
68
},
80
69
{
81
70
// validate that we throw unexpected errors
82
- "t2.micro" ,
71
+ [] string { "t2.micro" } ,
83
72
func (ssmClient * mock_ssmiface.MockSSMAPI ) * mock_ssmiface.MockSSMAPI {
84
73
ssmClient .EXPECT ().GetParameter (gomock .Any ()).Do (func (input * ssm.GetParameterInput ) {
85
74
assert .Equal (t , amazonLinux2X86RecommendedParameterName , * input .Name )
@@ -91,19 +80,21 @@ func TestMetadataClient_GetRecommendedECSLinuxAMI(t *testing.T) {
91
80
}
92
81
93
82
for _ , test := range tests {
94
- m := newMockSSMAPI (t )
95
- test .configureMock (m )
83
+ for _ , instanceType := range test .instanceTypes {
84
+ m := newMockSSMAPI (t )
85
+ test .configureMock (m )
96
86
97
- c := metadataClient {
98
- m ,
99
- "us-east-1" ,
100
- }
101
- _ , actualErr := c .GetRecommendedECSLinuxAMI (test . instanceType )
87
+ c := metadataClient {
88
+ m ,
89
+ "us-east-1" ,
90
+ }
91
+ _ , actualErr := c .GetRecommendedECSLinuxAMI (instanceType )
102
92
103
- if test .expectedErr == nil {
104
- assert .NoError (t , actualErr )
105
- } else {
106
- assert .EqualError (t , actualErr , test .expectedErr .Error ())
93
+ if test .expectedErr == nil {
94
+ assert .NoError (t , actualErr )
95
+ } else {
96
+ assert .EqualError (t , actualErr , test .expectedErr .Error ())
97
+ }
107
98
}
108
99
}
109
100
}
0 commit comments