mirror of
https://github.com/BishopFox/cloudfox.git
synced 2026-11-09 09:39:33 -10:00
63 lines
2.2 KiB
Go
63 lines
2.2 KiB
Go
package sdk
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/aws/aws-sdk-go-v2/aws"
|
|
"github.com/aws/aws-sdk-go-v2/service/lambda"
|
|
lambdaTypes "github.com/aws/aws-sdk-go-v2/service/lambda/types"
|
|
)
|
|
|
|
type MockedLambdaClient struct {
|
|
}
|
|
|
|
func (m *MockedLambdaClient) ListFunctions(ctx context.Context, input *lambda.ListFunctionsInput, options ...func(*lambda.Options)) (*lambda.ListFunctionsOutput, error) {
|
|
return &lambda.ListFunctionsOutput{
|
|
Functions: []lambdaTypes.FunctionConfiguration{
|
|
{
|
|
FunctionArn: aws.String("arn:aws:lambda:us-east-1:123456789012:function:my-function"),
|
|
FunctionName: aws.String("my-function"),
|
|
Handler: aws.String("index.handler"),
|
|
Runtime: lambdaTypes.RuntimeNodejs18x,
|
|
Environment: &lambdaTypes.EnvironmentResponse{
|
|
Variables: map[string]string{
|
|
"key1": "value1",
|
|
"key2": "value2",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
FunctionArn: aws.String("arn:aws:lambda:us-east-1:123456789012:function:my-function2"),
|
|
FunctionName: aws.String("my-function2"),
|
|
Handler: aws.String("index.handler"),
|
|
Runtime: lambdaTypes.RuntimeNodejs18x,
|
|
},
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (m *MockedLambdaClient) GetFunction(ctx context.Context, input *lambda.GetFunctionInput, options ...func(*lambda.Options)) (*lambda.GetFunctionOutput, error) {
|
|
return &lambda.GetFunctionOutput{
|
|
Configuration: &lambdaTypes.FunctionConfiguration{
|
|
FunctionArn: aws.String("arn:aws:lambda:us-east-1:123456789012:function:my-function"),
|
|
FunctionName: aws.String("my-function"),
|
|
Handler: aws.String("index.handler"),
|
|
Runtime: lambdaTypes.RuntimeNodejs18x,
|
|
Environment: &lambdaTypes.EnvironmentResponse{
|
|
Variables: map[string]string{
|
|
"key1": "value1",
|
|
"key2": "value2",
|
|
},
|
|
},
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (m *MockedLambdaClient) GetFunctionUrlConfig(ctx context.Context, input *lambda.GetFunctionInput, options ...func(*lambda.Options)) (*lambda.GetFunctionUrlConfigOutput, error) {
|
|
return &lambda.GetFunctionUrlConfigOutput{
|
|
FunctionUrl: aws.String("https://my-function.us-east-1.amazonaws.com/Prod/"),
|
|
FunctionArn: aws.String("arn:aws:lambda:us-east-1:123456789012:function:my-function"),
|
|
AuthType: lambdaTypes.FunctionUrlAuthTypeNone,
|
|
}, nil
|
|
}
|