Skip to content

Commit

Permalink
disappears test
Browse files Browse the repository at this point in the history
use aws value funcs
  • Loading branch information
DrFaust92 committed Sep 4, 2020
1 parent 34a519f commit fce5f99
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 17 deletions.
30 changes: 14 additions & 16 deletions aws/resource_aws_cloudwatch_event_target.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,11 @@ func resourceAwsCloudWatchEventTarget() *schema.Resource {
Type: schema.TypeSet,
Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
Set: schema.HashString,
},
"subnets": {
Type: schema.TypeSet,
Required: true,
Elem: &schema.Schema{Type: schema.TypeString},
Set: schema.HashString,
},
"assign_public_ip": {
Type: schema.TypeBool,
Expand Down Expand Up @@ -357,7 +355,7 @@ func findEventTargetById(id, rule string, nextToken *string, conn *events.CloudW
}

for _, t := range out.Targets {
if *t.Id == id {
if aws.StringValue(t.Id) == id {
return t, nil
}
}
Expand Down Expand Up @@ -585,7 +583,7 @@ func flattenAwsCloudWatchEventTargetRunParameters(runCommand *events.RunCommandP
for _, x := range runCommand.RunCommandTargets {
config := make(map[string]interface{})

config["key"] = *x.Key
config["key"] = aws.StringValue(x.Key)
config["values"] = flattenStringList(x.Values)

result = append(result, config)
Expand All @@ -596,17 +594,17 @@ func flattenAwsCloudWatchEventTargetRunParameters(runCommand *events.RunCommandP
func flattenAwsCloudWatchEventTargetEcsParameters(ecsParameters *events.EcsParameters) []map[string]interface{} {
config := make(map[string]interface{})
if ecsParameters.Group != nil {
config["group"] = *ecsParameters.Group
config["group"] = aws.StringValue(ecsParameters.Group)
}
if ecsParameters.LaunchType != nil {
config["launch_type"] = *ecsParameters.LaunchType
config["launch_type"] = aws.StringValue(ecsParameters.LaunchType)
}
config["network_configuration"] = flattenAwsCloudWatchEventTargetEcsParametersNetworkConfiguration(ecsParameters.NetworkConfiguration)
if ecsParameters.PlatformVersion != nil {
config["platform_version"] = *ecsParameters.PlatformVersion
config["platform_version"] = aws.StringValue(ecsParameters.PlatformVersion)
}
config["task_count"] = *ecsParameters.TaskCount
config["task_definition_arn"] = *ecsParameters.TaskDefinitionArn
config["task_count"] = aws.Int64Value(ecsParameters.TaskCount)
config["task_definition_arn"] = aws.StringValue(ecsParameters.TaskDefinitionArn)
result := []map[string]interface{}{config}
return result
}
Expand All @@ -616,11 +614,11 @@ func flattenAwsCloudWatchEventTargetEcsParametersNetworkConfiguration(nc *events
}

result := make(map[string]interface{})
result["security_groups"] = schema.NewSet(schema.HashString, flattenStringList(nc.AwsvpcConfiguration.SecurityGroups))
result["subnets"] = schema.NewSet(schema.HashString, flattenStringList(nc.AwsvpcConfiguration.Subnets))
result["security_groups"] = flattenStringSet(nc.AwsvpcConfiguration.SecurityGroups)
result["subnets"] = flattenStringSet(nc.AwsvpcConfiguration.Subnets)

if nc.AwsvpcConfiguration.AssignPublicIp != nil {
result["assign_public_ip"] = *nc.AwsvpcConfiguration.AssignPublicIp == events.AssignPublicIpEnabled
result["assign_public_ip"] = aws.StringValue(nc.AwsvpcConfiguration.AssignPublicIp) == events.AssignPublicIpEnabled
}

return []interface{}{result}
Expand All @@ -642,14 +640,14 @@ func flattenAwsCloudWatchEventTargetBatchParameters(batchParameters *events.Batc

func flattenAwsCloudWatchEventTargetKinesisParameters(kinesisParameters *events.KinesisParameters) []map[string]interface{} {
config := make(map[string]interface{})
config["partition_key_path"] = *kinesisParameters.PartitionKeyPath
config["partition_key_path"] = aws.StringValue(kinesisParameters.PartitionKeyPath)
result := []map[string]interface{}{config}
return result
}

func flattenAwsCloudWatchEventTargetSqsParameters(sqsParameters *events.SqsParameters) []map[string]interface{} {
config := make(map[string]interface{})
config["message_group_id"] = *sqsParameters.MessageGroupId
config["message_group_id"] = aws.StringValue(sqsParameters.MessageGroupId)
result := []map[string]interface{}{config}
return result
}
Expand All @@ -658,9 +656,9 @@ func flattenAwsCloudWatchInputTransformer(inputTransformer *events.InputTransfor
config := make(map[string]interface{})
inputPathsMap := make(map[string]string)
for k, v := range inputTransformer.InputPathsMap {
inputPathsMap[k] = *v
inputPathsMap[k] = aws.StringValue(v)
}
config["input_template"] = *inputTransformer.InputTemplate
config["input_template"] = aws.StringValue(inputTransformer.InputTemplate)
config["input_paths"] = inputPathsMap

result := []map[string]interface{}{config}
Expand Down
27 changes: 26 additions & 1 deletion aws/resource_aws_cloudwatch_event_target_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func TestAccAWSCloudWatchEventTarget_basic(t *testing.T) {
snsTopicName1 := acctest.RandomWithPrefix("tf-acc-topic")
snsTopicName2 := acctest.RandomWithPrefix("tf-acc-topic-second")
targetID1 := acctest.RandomWithPrefix("tf-acc-cw-target")
targetID2 := acctest.RandomWithPrefix("tf-acc-cw-target")
targetID2 := acctest.RandomWithPrefix("tf-acc-cw-target-second")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand Down Expand Up @@ -380,6 +380,31 @@ func TestAccAWSCloudWatchEventTarget_input_transformer(t *testing.T) {
})
}

func TestAccAWSCloudWatchEventTarget_disappears(t *testing.T) {
resourceName := "aws_cloudwatch_event_target.test"

var target events.Target
ruleName := acctest.RandomWithPrefix("tf-acc-cw-event-rule-basic")
snsTopicName1 := acctest.RandomWithPrefix("tf-acc-topic")
targetID1 := acctest.RandomWithPrefix("tf-acc-cw-target")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSCloudWatchEventTargetDestroy,
Steps: []resource.TestStep{
{
Config: testAccAWSCloudWatchEventTargetConfig(ruleName, snsTopicName1, targetID1),
Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchEventTargetExists(resourceName, &target),
testAccCheckResourceDisappears(testAccProvider, resourceAwsCloudWatchEventTarget(), resourceName),
),
ExpectNonEmptyPlan: true,
},
},
})
}

func testAccCheckCloudWatchEventTargetExists(n string, rule *events.Target) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[n]
Expand Down

0 comments on commit fce5f99

Please sign in to comment.