awslabs / amazon-sqs-java-extended-client-lib

An extension to the Amazon SQS client that enables sending and receiving messages up to 2GB via Amazon S3.
Apache License 2.0
208 stars 109 forks source link

Removed 2 unnecessary stubbings in AmazonSQSExtendedClientTest.java #127

Open ARUS2023 opened 8 months ago

ARUS2023 commented 8 months ago

Issue #, if available:

Description of changes:

In our analysis of the project, we observed that 1) 1 stubbing which stubbed putObject is created in AmazonSQSExtendedClientTest.setupClients but is not executed by 14 tests: AmazonSQSExtendedClientTest. testWhenSendMessageWithLargePayloadSupportDisabledThenS3IsNotUsedAndSqsBackendIsResponsibleToFailItWithDeprecatedMethod, AmazonSQSExtendedClientTest. testReceiveMessageMultipleTimesDoesNotAdditionallyAlterReceiveMessageRequestWithDeprecatedMethod, AmazonSQSExtendedClientTest. testWhenSendSmallMessageThenS3IsNotUsed, AmazonSQSExtendedClientTest.testWhenSendMessageWithLargePayloadSupportDisabledThenS3IsNotUsedAndSqsBackendIsResponsibleToFailIt, AmazonSQSExtendedClientTest. testReceiveMessageMultipleTimesDoesNotAdditionallyAlterReceiveMessageRequest, AmazonSQSExtendedClientTest. testReceiveMessage_when_MessageIsLarge_legacyReservedAttributeUsed, AmazonSQSExtendedClientTest. testReceiveMessage_when_MessageIsLarge_ReservedAttributeUsed, AmazonSQSExtendedClientTest. testReceiveMessage_when_MessageIsSmall, AmazonSQSExtendedClientTest. testWhenSmallMessageIsSentThenNoAttributeIsAdded, AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesSmallMessage, AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesObjectS3UponMessageDelete, AmazonSQSExtendedClientTest. testExtendedClientConfiguredDoesNotDeleteObjectFromS3UponDelete, AmazonSQSExtendedClientTest. testExtendedClientConfiguredDoesNotDeletesObjectsFromS3UponDeleteBatch, AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesObjectsFromS3UponDeleteBatch.

2) 1 stubbing is created in ChghostTest.getEventListener but is not executed by 5 tests: AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesSmallMessage, AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesObjectS3UponMessageDelete, AmazonSQSExtendedClientTest. testExtendedClientConfiguredDoesNotDeleteObjectFromS3UponDelete, AmazonSQSExtendedClientTest. testExtendedClientConfiguredDoesNotDeletesObjectsFromS3UponDeleteBatch, AmazonSQSExtendedClientTest. testDefaultExtendedClientDeletesObjectsFromS3UponDeleteBatch.

Unnecessary stubbings are stubbed method calls that were never realized during test execution. Mockito recommends to remove unnecessary stubbings (https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/exceptions/misusing/UnnecessaryStubbingException.html).

We propose below a solution to remove the unnecessary stubbings.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.