Skip to content

Commit 5d072d8

Browse files
committed
Additional AIMLOptions acceptance tests.
1 parent 9aa4e15 commit 5d072d8

File tree

1 file changed

+119
-5
lines changed

1 file changed

+119
-5
lines changed

internal/service/opensearch/domain_test.go

Lines changed: 119 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2263,14 +2263,17 @@ func TestAccOpenSearchDomain_softwareUpdateOptions(t *testing.T) {
22632263
})
22642264
}
22652265

2266-
func TestAccOpenSearchDomain_disappears(t *testing.T) {
2266+
func TestAccOpenSearchDomain_AIMLOptions_createEnabled(t *testing.T) {
22672267
ctx := acctest.Context(t)
22682268
if testing.Short() {
22692269
t.Skip("skipping long-running test in short mode")
22702270
}
22712271

2272+
var domain awstypes.DomainStatus
22722273
rName := testAccRandomDomainName()
22732274
resourceName := "aws_opensearch_domain.test"
2275+
enabledState := "ENABLED"
2276+
disabledState := "DISABLED"
22742277

22752278
resource.ParallelTest(t, resource.TestCase{
22762279
PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckIAMServiceLinkedRole(ctx, t) },
@@ -2279,17 +2282,64 @@ func TestAccOpenSearchDomain_disappears(t *testing.T) {
22792282
CheckDestroy: testAccCheckDomainDestroy(ctx),
22802283
Steps: []resource.TestStep{
22812284
{
2282-
Config: testAccDomainConfig_basic(rName),
2285+
Config: testAccDomainConfig_AIMLOptions(rName, enabledState, false),
22832286
Check: resource.ComposeTestCheckFunc(
2284-
acctest.CheckResourceDisappears(ctx, acctest.Provider, tfopensearch.ResourceDomain(), resourceName),
2287+
testAccCheckDomainExists(ctx, resourceName, &domain),
2288+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2289+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
2290+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", enabledState),
2291+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
2292+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtFalse),
22852293
),
2286-
ExpectNonEmptyPlan: true,
2294+
ConfigPlanChecks: resource.ConfigPlanChecks{
2295+
PreApply: []plancheck.PlanCheck{
2296+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate),
2297+
},
2298+
},
2299+
},
2300+
{
2301+
ResourceName: resourceName,
2302+
ImportState: true,
2303+
ImportStateId: rName,
2304+
ImportStateVerify: true,
2305+
},
2306+
{
2307+
Config: testAccDomainConfig_AIMLOptions(rName, disabledState, true),
2308+
Check: resource.ComposeTestCheckFunc(
2309+
testAccCheckDomainExists(ctx, resourceName, &domain),
2310+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2311+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
2312+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", disabledState),
2313+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
2314+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtTrue),
2315+
),
2316+
ConfigPlanChecks: resource.ConfigPlanChecks{
2317+
PreApply: []plancheck.PlanCheck{
2318+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate),
2319+
},
2320+
},
2321+
},
2322+
{
2323+
Config: testAccDomainConfig_AIMLOptions(rName, enabledState, false),
2324+
Check: resource.ComposeTestCheckFunc(
2325+
testAccCheckDomainExists(ctx, resourceName, &domain),
2326+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2327+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
2328+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", enabledState),
2329+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
2330+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtFalse),
2331+
),
2332+
ConfigPlanChecks: resource.ConfigPlanChecks{
2333+
PreApply: []plancheck.PlanCheck{
2334+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate),
2335+
},
2336+
},
22872337
},
22882338
},
22892339
})
22902340
}
22912341

2292-
func TestAccOpenSearchDomain_AIMLOptions(t *testing.T) {
2342+
func TestAccOpenSearchDomain_AIMLOptions_createDisabled(t *testing.T) {
22932343
ctx := acctest.Context(t)
22942344
if testing.Short() {
22952345
t.Skip("skipping long-running test in short mode")
@@ -2307,21 +2357,85 @@ func TestAccOpenSearchDomain_AIMLOptions(t *testing.T) {
23072357
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
23082358
CheckDestroy: testAccCheckDomainDestroy(ctx),
23092359
Steps: []resource.TestStep{
2360+
{
2361+
Config: testAccDomainConfig_AIMLOptions(rName, disabledState, true),
2362+
Check: resource.ComposeTestCheckFunc(
2363+
testAccCheckDomainExists(ctx, resourceName, &domain),
2364+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2365+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
2366+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", disabledState),
2367+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
2368+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtTrue),
2369+
),
2370+
ConfigPlanChecks: resource.ConfigPlanChecks{
2371+
PreApply: []plancheck.PlanCheck{
2372+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate),
2373+
},
2374+
},
2375+
},
2376+
{
2377+
ResourceName: resourceName,
2378+
ImportState: true,
2379+
ImportStateId: rName,
2380+
ImportStateVerify: true,
2381+
},
23102382
{
23112383
Config: testAccDomainConfig_AIMLOptions(rName, enabledState, false),
23122384
Check: resource.ComposeTestCheckFunc(
23132385
testAccCheckDomainExists(ctx, resourceName, &domain),
2386+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2387+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
23142388
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", enabledState),
2389+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
23152390
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtFalse),
23162391
),
2392+
ConfigPlanChecks: resource.ConfigPlanChecks{
2393+
PreApply: []plancheck.PlanCheck{
2394+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate),
2395+
},
2396+
},
23172397
},
23182398
{
23192399
Config: testAccDomainConfig_AIMLOptions(rName, disabledState, true),
23202400
Check: resource.ComposeTestCheckFunc(
23212401
testAccCheckDomainExists(ctx, resourceName, &domain),
2402+
resource.TestCheckResourceAttr(resourceName, "aiml_options.#", "1"),
2403+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.#", "1"),
23222404
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.natural_language_query_generation_options.0.desired_state", disabledState),
2405+
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.#", "1"),
23232406
resource.TestCheckResourceAttr(resourceName, "aiml_options.0.s3_vectors_engine.0.enabled", acctest.CtTrue),
23242407
),
2408+
ConfigPlanChecks: resource.ConfigPlanChecks{
2409+
PreApply: []plancheck.PlanCheck{
2410+
plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate),
2411+
},
2412+
},
2413+
},
2414+
},
2415+
})
2416+
}
2417+
2418+
func TestAccOpenSearchDomain_disappears(t *testing.T) {
2419+
ctx := acctest.Context(t)
2420+
if testing.Short() {
2421+
t.Skip("skipping long-running test in short mode")
2422+
}
2423+
2424+
rName := testAccRandomDomainName()
2425+
resourceName := "aws_opensearch_domain.test"
2426+
2427+
resource.ParallelTest(t, resource.TestCase{
2428+
PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckIAMServiceLinkedRole(ctx, t) },
2429+
ErrorCheck: acctest.ErrorCheck(t, names.OpenSearchServiceID),
2430+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
2431+
CheckDestroy: testAccCheckDomainDestroy(ctx),
2432+
Steps: []resource.TestStep{
2433+
{
2434+
Config: testAccDomainConfig_basic(rName),
2435+
Check: resource.ComposeTestCheckFunc(
2436+
acctest.CheckResourceDisappears(ctx, acctest.Provider, tfopensearch.ResourceDomain(), resourceName),
2437+
),
2438+
ExpectNonEmptyPlan: true,
23252439
},
23262440
},
23272441
})

0 commit comments

Comments
 (0)