github.com/mweagle/Sparta@v1.15.0/aws/step/services_test.go (about)

     1  package step
     2  
     3  import (
     4  	"testing"
     5  
     6  	spartaCF "github.com/mweagle/Sparta/aws/cloudformation"
     7  	gocf "github.com/mweagle/go-cloudformation"
     8  )
     9  
    10  func TestFargateSNSServices(t *testing.T) {
    11  	// Make the states
    12  	fargateParams := FargateTaskParameters{
    13  		Cluster:        gocf.String("arn:aws:ecs:us-west-2:123123123123:cluster/StepFunctionsSample-ContainerTaskManagement08e32647-5862-4f61-a2a7-3443a2ef857d-ECSCluster-ZWJK3EFZ9T1H"),
    14  		TaskDefinition: gocf.String("arn:aws:ecs:us-west-2:123123123123:task-definition/StepFunctionsSample-ContainerTaskManagement08e32647-5862-4f61-a2a7-3443a2ef857d-ECSTaskDefinition-UFPUM96E8JOQ:1"),
    15  		NetworkConfiguration: &FargateNetworkConfiguration{
    16  			AWSVPCConfiguration: &gocf.ECSServiceAwsVPCConfiguration{
    17  				Subnets: gocf.StringList(
    18  					gocf.String("subnet-057bfcb4a52343473"),
    19  					gocf.String("subnet-0f25a21f1251ecce5"),
    20  				),
    21  				AssignPublicIP: gocf.String("ENABLED"),
    22  			},
    23  		},
    24  	}
    25  	fargateState := NewFargateTaskState("Run Fargate Task", fargateParams)
    26  
    27  	snsSuccessParams := SNSTaskParameters{
    28  		Message:  "AWS Fargate Task started by Step Functions succeeded 42",
    29  		TopicArn: gocf.String("arn:aws:sns:us-west-2:123123123123:StepFunctionsSample-ContainerTaskManagement08e32647-5862-4f61-a2a7-3443a2ef857d-SNSTopic-E8U58ADXVXRL"),
    30  	}
    31  	snsSuccessState := NewSNSTaskState("Notify Success", snsSuccessParams)
    32  	fargateState.Next(snsSuccessState)
    33  
    34  	snsFailParams := SNSTaskParameters{
    35  		Message:  "AWS Fargate Task started by Step Functions failed",
    36  		TopicArn: gocf.String("arn:aws:sns:us-west-2:123123123123:StepFunctionsSample-ContainerTaskManagement08e32647-5862-4f61-a2a7-3443a2ef857d-SNSTopic-E8U58ADXVXRL"),
    37  	}
    38  	snsFailState := NewSNSTaskState("Notify Failure", snsFailParams)
    39  	fargateState.WithCatchers(NewTaskCatch(
    40  		snsFailState,
    41  		StatesAll,
    42  	))
    43  
    44  	// Startup the machine.
    45  	stateMachineName := spartaCF.UserScopedStackName("TestStepServicesMachine")
    46  	startMachine := NewStateMachine(stateMachineName, fargateState)
    47  	testStepProvision(t,
    48  		nil,
    49  		startMachine)
    50  }