Skip to content

Commit

Permalink
Refactoring VolumeId Tests to use gomock; Adding additional tests to …
Browse files Browse the repository at this point in the history
…assert the calls to functions (#32)

* The EC2 Volume tests have been refactored to use `gomock` instead of the home grown mock objects.
  • Loading branch information
sunkaraamrutha authored Mar 11, 2022
1 parent 943de4b commit dd23474
Showing 1 changed file with 47 additions and 16 deletions.
63 changes: 47 additions & 16 deletions pkg/aws/ec2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -734,6 +734,7 @@ func TestGetEC2SecurityGroupByNameE(t *testing.T) {

func TestAssertEC2VolumeType_MatchWithGP2MultipleDevices(t *testing.T) {
// Setup
t.Parallel()
instanceID := "i546acas321sd"
volumeId := "v123dfasd92"
deviceName := "/dev/sdc"
Expand Down Expand Up @@ -777,11 +778,18 @@ func TestAssertEC2VolumeType_MatchWithGP2MultipleDevices(t *testing.T) {
},
},
}
clientMock := &EC2ClientMock{
DescribeInstancesOutput: instanceOutput,
DescribeVolumesOutput: volumeOutput,
ctrl := gomock.NewController(t)
clientMock := mock.NewMockEC2Client(ctrl)
DescribeInstancesInput := &ec2.DescribeInstancesInput{
InstanceIds: []string{instanceID},
}
expectedInput := &ec2.DescribeVolumesInput{
VolumeIds: []string{volumeId},
}
ctx := context.Background()
fakeTest := &testing.T{}
clientMock.EXPECT().DescribeInstances(ctx, DescribeInstancesInput).Times(1).Return(instanceOutput, nil)
clientMock.EXPECT().DescribeVolumes(ctx, expectedInput).Times(1).Return(volumeOutput, nil)

// Execute
AssertEC2VolumeType(fakeTest, context.Background(), clientMock, AssertVolumeAttributesInput{
Expand All @@ -798,6 +806,7 @@ func TestAssertEC2VolumeType_MatchWithGP2MultipleDevices(t *testing.T) {

func TestAssertEC2VolumeType_MatchWithGP3MultipleDevices(t *testing.T) {
// Setup
t.Parallel()
instanceID := "i546acas321sd"
volumeId := "v123dfasd92"
deviceName := "/dev/sdc"
Expand Down Expand Up @@ -841,14 +850,21 @@ func TestAssertEC2VolumeType_MatchWithGP3MultipleDevices(t *testing.T) {
},
},
}
clientMock := &EC2ClientMock{
DescribeInstancesOutput: instanceOutput,
DescribeVolumesOutput: volumeOutput,
ctrl := gomock.NewController(t)
clientMock := mock.NewMockEC2Client(ctrl)
DescribeInstancesInput := &ec2.DescribeInstancesInput{
InstanceIds: []string{instanceID},
}
expectedInput := &ec2.DescribeVolumesInput{
VolumeIds: []string{volumeId},
}
ctx := context.Background()
fakeTest := &testing.T{}
clientMock.EXPECT().DescribeInstances(ctx, DescribeInstancesInput).Times(1).Return(instanceOutput, nil)
clientMock.EXPECT().DescribeVolumes(ctx, expectedInput).Times(1).Return(volumeOutput, nil)

// Execute
AssertEC2VolumeType(fakeTest, context.Background(), clientMock, AssertVolumeAttributesInput{
AssertEC2VolumeType(fakeTest, ctx, clientMock, AssertVolumeAttributesInput{
DeviceID: deviceName,
InstanceID: instanceID,
VolumeType: "gp3",
Expand All @@ -862,6 +878,7 @@ func TestAssertEC2VolumeType_MatchWithGP3MultipleDevices(t *testing.T) {

func TestAssertEC2VolumeType_MatchWithThroughputMultipleDevices(t *testing.T) {
// Setup
t.Parallel()
instanceID := "i546acas321sd"
volumeId := "v123dfasd92"
deviceName := "/dev/sdc"
Expand Down Expand Up @@ -907,14 +924,21 @@ func TestAssertEC2VolumeType_MatchWithThroughputMultipleDevices(t *testing.T) {
},
},
}
clientMock := &EC2ClientMock{
DescribeInstancesOutput: instanceOutput,
DescribeVolumesOutput: volumeOutput,
ctrl := gomock.NewController(t)
clientMock := mock.NewMockEC2Client(ctrl)
DescribeInstancesInput := &ec2.DescribeInstancesInput{
InstanceIds: []string{instanceID},
}
expectedInput := &ec2.DescribeVolumesInput{
VolumeIds: []string{volumeId},
}
ctx := context.Background()
fakeTest := &testing.T{}
clientMock.EXPECT().DescribeInstances(ctx, DescribeInstancesInput).Times(1).Return(instanceOutput, nil)
clientMock.EXPECT().DescribeVolumes(ctx, expectedInput).Times(1).Return(volumeOutput, nil)

// Execute
AssertEC2VolumeThroughput(fakeTest, context.Background(), clientMock, AssertVolumeAttributesInput{
AssertEC2VolumeThroughput(fakeTest, ctx, clientMock, AssertVolumeAttributesInput{
DeviceID: deviceName,
InstanceID: instanceID,
VolumeType: "gp3",
Expand All @@ -928,6 +952,7 @@ func TestAssertEC2VolumeType_MatchWithThroughputMultipleDevices(t *testing.T) {

func TestAssertEC2VolumeType_MatchWithIOPSMultipleDevices(t *testing.T) {
// Setup
t.Parallel()
instanceID := "i546acas321sd"
volumeId := "v123dfasd92"
deviceName := "/dev/sdc"
Expand Down Expand Up @@ -973,14 +998,20 @@ func TestAssertEC2VolumeType_MatchWithIOPSMultipleDevices(t *testing.T) {
},
},
}
clientMock := &EC2ClientMock{
DescribeInstancesOutput: instanceOutput,
DescribeVolumesOutput: volumeOutput,
ctrl := gomock.NewController(t)
clientMock := mock.NewMockEC2Client(ctrl)
DescribeInstancesInput := &ec2.DescribeInstancesInput{
InstanceIds: []string{instanceID},
}
expectedInput := &ec2.DescribeVolumesInput{
VolumeIds: []string{volumeId},
}
ctx := context.Background()
fakeTest := &testing.T{}

clientMock.EXPECT().DescribeInstances(ctx, DescribeInstancesInput).Times(1).Return(instanceOutput, nil)
clientMock.EXPECT().DescribeVolumes(ctx, expectedInput).Times(1).Return(volumeOutput, nil)
// Execute
AssertEC2VolumeIOPS(fakeTest, context.Background(), clientMock, AssertVolumeAttributesInput{
AssertEC2VolumeIOPS(fakeTest, ctx, clientMock, AssertVolumeAttributesInput{
DeviceID: deviceName,
InstanceID: instanceID,
VolumeType: "gp3",
Expand Down

0 comments on commit dd23474

Please sign in to comment.