@@ -36,8 +36,16 @@ import software.amazon.awssdk.services.sqs.model.SendMessageRequest
3636import software.amazon.awssdk.services.sfn.SfnClient
3737import software.amazon.awssdk.services.sfn.model.DescribeStateMachineRequest
3838import software.amazon.awssdk.services.sfn.model.DescribeActivityRequest
39+ import software.amazon.awssdk.services.lambda.LambdaClient
40+ import software.amazon.awssdk.services.lambda.model.GetFunctionRequest
41+ import software.amazon.awssdk.services.lambda.model.GetEventSourceMappingRequest ;
42+ import software.amazon.awssdk.services.sns.SnsClient ;
43+ import software.amazon.awssdk.services.sns.model.PublishRequest ;
44+ import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient ;
45+ import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueRequest ;
3946import spock.lang.Unroll
4047
48+
4149import java.time.Duration
4250import java.util.concurrent.Future
4351
@@ -138,6 +146,14 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest {
138146 " aws.stepfunctions.state_machine.arn" " stateMachineArn"
139147 } else if (service == " Sfn" && operation == " DescribeActivity" ) {
140148 " aws.stepfunctions.activity.arn" " activityArn"
149+ } else if (service == " Lambda" && operation == " GetFunction" ) {
150+ " aws.lambda.function.name" " functionName"
151+ } else if (service == " Lambda" && operation == " GetEventSourceMapping" ) {
152+ " aws.lambda.resource_mapping.id" " sourceEventId"
153+ } else if (service == " Sns" ) {
154+ " aws.sns.topic.arn" " topicArn"
155+ } else if (service == " SecretsManager" ) {
156+ " aws.secretsmanager.secret.arn" " someSecretArn"
141157 }
142158
143159 }
@@ -187,6 +203,35 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest {
187203 " Sfn" | " DescribeActivity" | " POST" | " UNKNOWN" | SfnClient . builder()
188204 | { c -> c. describeActivity(DescribeActivityRequest . builder(). activityArn(" activityArn" ). build()) }
189205 | " "
206+ " Lambda" | " GetFunction" | " GET" | " UNKNOWN" | LambdaClient . builder()
207+ | { c -> c. getFunction(GetFunctionRequest . builder(). functionName(" functionName" ). build()) }
208+ | " "
209+ " Lambda" | " GetEventSourceMapping" | " GET" |" UNKNOWN" | LambdaClient . builder()
210+ | { c -> c. getEventSourceMapping(GetEventSourceMappingRequest . builder(). uuid(" sourceEventId" ). build()) }
211+ | " "
212+ " Sns" | " Publish" | " POST" | " d74b8436-ae13-5ab4-a9ff-ce54dfea72a0" | SnsClient . builder()
213+ | { c -> c. publish(PublishRequest . builder(). topicArn(" topicArn" ). message(" message" ). build()) }
214+ | """
215+ <PublishResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/">
216+ <PublishResult>
217+ <MessageId>567910cd-659e-55d4-8ccb-5aaf14679dc0</MessageId>
218+ </PublishResult>
219+ <ResponseMetadata>
220+ <RequestId>d74b8436-ae13-5ab4-a9ff-ce54dfea72a0</RequestId>
221+ </ResponseMetadata>
222+ </PublishResponse>
223+ """
224+ " SecretsManager" | " GetSecretValue" | " POST" | " UNKNOWN" | SecretsManagerClient . builder()
225+ | { c -> c. getSecretValue(GetSecretValueRequest . builder(). secretId(" someSecret1" ). build()) }
226+ | """
227+ {
228+ "ARN":"someSecretArn",
229+ "CreatedDate":1.523477145713E9,
230+ "Name":"MyTestDatabaseSecret",
231+ "SecretString":"{\\ n \\ "username\\ ":\\ "david\\ ",\\ n \\ "password\\ ":\\ "EXAMPLE-PASSWORD\\ "\\ n}\\ n",
232+ "VersionId":"EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"
233+ }
234+ """
190235 }
191236
192237 def " send #operation async request with builder #builder.class.getName() mocked response" () {
0 commit comments