From 6a2d9ac3418095c449a98b250b62cd32b3b7fbb6 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 2 May 2024 17:45:49 -0700 Subject: [PATCH] Parameterizes roles for Subscriber Notification tests --- .../subscriber_notification_test.go | 151 ++++++++---------- 1 file changed, 69 insertions(+), 82 deletions(-) diff --git a/internal/service/securitylake/subscriber_notification_test.go b/internal/service/securitylake/subscriber_notification_test.go index e26f652f0ed8..9af420a1e9f8 100644 --- a/internal/service/securitylake/subscriber_notification_test.go +++ b/internal/service/securitylake/subscriber_notification_test.go @@ -8,7 +8,6 @@ import ( "fmt" "testing" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" @@ -22,7 +21,7 @@ func testAccSubscriberNotification_basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_securitylake_subscriber_notification.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rName := randomCustomLogSourceName() resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -57,7 +56,7 @@ func testAccSubscriberNotification_https(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_securitylake_subscriber_notification.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rName := randomCustomLogSourceName() resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -94,7 +93,7 @@ func testAccSubscriberNotification_disappears(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_securitylake_subscriber_notification.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rName := randomCustomLogSourceName() resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -111,8 +110,6 @@ func testAccSubscriberNotification_disappears(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckSubscriberNotificationExists(ctx, resourceName), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfsecuritylake.ResourceSubscriberNotification, resourceName), - resource.TestCheckResourceAttr(resourceName, "configuration.#", "1"), - resource.TestCheckResourceAttr(resourceName, "configuration.0.sqs_notification_configuration.#", "1"), ), ExpectNonEmptyPlan: true, }, @@ -123,7 +120,7 @@ func testAccSubscriberNotification_disappears(t *testing.T) { func testAccSubscriberNotification_update(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_securitylake_subscriber_notification.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rName := randomCustomLogSourceName() resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -229,52 +226,73 @@ func testAccCheckSubscriberNotificationExists(ctx context.Context, n string) res func testAccSubscriberNotification_config(rName string) string { return acctest.ConfigCompose(testAccDataLakeConfig_basic(), fmt.Sprintf(` -resource "aws_apigatewayv2_api" "test" { - name = %[1]q - protocol_type = "HTTP" +resource "aws_securitylake_subscriber" "test" { + subscriber_name = %[1]q + + source { + custom_log_source_resource { + source_name = aws_securitylake_custom_log_source.test.source_name + source_version = aws_securitylake_custom_log_source.test.source_version + } + } + subscriber_identity { + external_id = "example" + principal = data.aws_caller_identity.current.account_id + } +} + +resource "aws_securitylake_custom_log_source" "test" { + source_name = %[1]q + + configuration { + crawler_configuration { + role_arn = aws_iam_role.test.arn + } + + provider_identity { + external_id = "%[1]s-test" + principal = data.aws_caller_identity.current.account_id + } + } + + depends_on = [aws_securitylake_data_lake.test, aws_iam_role.test] } resource "aws_iam_role" "test" { - name = "AmazonSecurityLakeCustomDataGlueCrawler-windows-sysmon" + name = %[1]q path = "/service-role/" assume_role_policy = <