Skip to content

Commit 51f7e24

Browse files
committed
correct tests, add test for update_strategy
1 parent 2317e6f commit 51f7e24

File tree

1 file changed

+68
-3
lines changed

1 file changed

+68
-3
lines changed

internal/service/eks/node_group_test.go

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,13 +1065,49 @@ func TestAccEKSNodeGroup_update(t *testing.T) {
10651065
resource.TestCheckResourceAttr(resourceName, "update_config.0.max_unavailable_percentage", "40"),
10661066
),
10671067
},
1068+
},
1069+
})
1070+
}
1071+
1072+
func TestAccEKSNodeGroup_updateStrategy(t *testing.T) {
1073+
ctx := acctest.Context(t)
1074+
var nodeGroup1, nodeGroup2 types.Nodegroup
1075+
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
1076+
resourceName := "aws_eks_node_group.test"
1077+
1078+
resource.ParallelTest(t, resource.TestCase{
1079+
PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) },
1080+
ErrorCheck: acctest.ErrorCheck(t, names.EKSServiceID),
1081+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
1082+
CheckDestroy: testAccCheckNodeGroupDestroy(ctx),
1083+
Steps: []resource.TestStep{
10681084
{
1069-
Config: testAccNodeGroupConfig_update2(rName),
1085+
Config: testAccNodeGroupConfig_update1(rName),
10701086
Check: resource.ComposeTestCheckFunc(
10711087
testAccCheckNodeGroupExists(ctx, resourceName, &nodeGroup1),
10721088
resource.TestCheckResourceAttr(resourceName, "update_config.#", "1"),
1073-
resource.TestCheckResourceAttr(resourceName, "update_config.0.max_unavailable", "0"),
1074-
resource.TestCheckResourceAttr(resourceName, "update_config.0.max_unavailable_percentage", "40"),
1089+
resource.TestCheckResourceAttr(resourceName, "update_config.0.max_unavailable", "1"),
1090+
resource.TestCheckResourceAttr(resourceName, "update_config.0.max_unavailable_percentage", "0"),
1091+
),
1092+
},
1093+
{
1094+
Config: testAccNodeGroupConfig_updateStrategy(rName, "DEFAULT"),
1095+
Check: resource.ComposeTestCheckFunc(
1096+
testAccCheckNodeGroupExists(ctx, resourceName, &nodeGroup1),
1097+
resource.TestCheckResourceAttr(resourceName, "update_config.#", "1"),
1098+
resource.TestCheckResourceAttr(resourceName, "update_config.0.update_strategy", "DEFAULT"),
1099+
),
1100+
},
1101+
{
1102+
ResourceName: resourceName,
1103+
ImportState: true,
1104+
ImportStateVerify: true,
1105+
},
1106+
{
1107+
Config: testAccNodeGroupConfig_updateStrategy(rName, "MINIMAL"),
1108+
Check: resource.ComposeTestCheckFunc(
1109+
testAccCheckNodeGroupExists(ctx, resourceName, &nodeGroup2),
1110+
resource.TestCheckResourceAttr(resourceName, "update_config.#", "1"),
10751111
resource.TestCheckResourceAttr(resourceName, "update_config.0.update_strategy", "MINIMAL"),
10761112
),
10771113
},
@@ -2413,6 +2449,35 @@ resource "aws_eks_node_group" "test" {
24132449
`, rName))
24142450
}
24152451

2452+
func testAccNodeGroupConfig_updateStrategy(rName, updateStrategy string) string {
2453+
return acctest.ConfigCompose(testAccNodeGroupConfig_base(rName), fmt.Sprintf(`
2454+
resource "aws_eks_node_group" "test" {
2455+
cluster_name = aws_eks_cluster.test.name
2456+
node_group_name = %[1]q
2457+
node_role_arn = aws_iam_role.node.arn
2458+
subnet_ids = aws_subnet.test[*].id
2459+
2460+
scaling_config {
2461+
desired_size = 1
2462+
max_size = 3
2463+
min_size = 1
2464+
}
2465+
2466+
update_config {
2467+
max_unavailable = 1
2468+
update_strategy = %[2]q
2469+
}
2470+
2471+
depends_on = [
2472+
aws_iam_role_policy_attachment.node-AmazonEKSWorkerNodePolicy,
2473+
aws_iam_role_policy_attachment.node-AmazonEKS_CNI_Policy,
2474+
aws_iam_role_policy_attachment.node-AmazonEC2ContainerRegistryReadOnly,
2475+
aws_iam_role_policy_attachment.node-AmazonEKSWorkerNodeMinimalPolicy,
2476+
]
2477+
}
2478+
`, rName, updateStrategy))
2479+
}
2480+
24162481
func testAccNodeGroupConfig_version(rName, version string) string {
24172482
return acctest.ConfigCompose(testAccNodeGroupConfig_versionBase(rName, version), fmt.Sprintf(`
24182483
resource "aws_eks_node_group" "test" {

0 commit comments

Comments
 (0)