19
19
import static org .hamcrest .Matchers .not ;
20
20
import static org .junit .Assert .assertThat ;
21
21
22
- import java .time .Duration ;
23
22
import java .util .Collections ;
24
23
import java .util .List ;
25
24
import org .junit .After ;
30
29
import software .amazon .awssdk .services .cloudformation .model .CreateStackRequest ;
31
30
import software .amazon .awssdk .services .cloudformation .model .DeleteStackRequest ;
32
31
import software .amazon .awssdk .services .cloudformation .model .DescribeStacksRequest ;
33
- import software .amazon .awssdk .services .cloudformation .model .StackStatus ;
34
32
import software .amazon .awssdk .services .cloudformation .model .Tag ;
35
33
import software .amazon .awssdk .services .cloudformation .model .UpdateStackRequest ;
36
- import software .amazon .awssdk .testutils . Waiter ;
34
+ import software .amazon .awssdk .services . cloudformation . waiters . CloudFormationWaiter ;
37
35
import software .amazon .awssdk .testutils .service .AwsIntegrationTestBase ;
38
36
39
37
/**
@@ -63,6 +61,7 @@ public class SendEmptyListIntegrationTest extends AwsIntegrationTestBase {
63
61
"}" ;
64
62
65
63
private CloudFormationClient cf ;
64
+ private CloudFormationWaiter waiter ;
66
65
private String stackName ;
67
66
68
67
@ Before
@@ -78,7 +77,8 @@ public void setup() {
78
77
.templateBody (STARTING_TEMPLATE )
79
78
.tags (Tag .builder ().key ("FooKey" ).value ("FooValue" ).build ()).build ());
80
79
81
- waitUntilComplete (StackStatus .CREATE_COMPLETE );
80
+ waiter = cf .waiter ();
81
+ waiter .waitUntilStackCreateComplete (b -> b .stackName (stackName ));
82
82
}
83
83
84
84
@ After
@@ -94,7 +94,7 @@ public void explicitlyEmptyTagList_RemovesTagsFromStack() {
94
94
.templateBody (STARTING_TEMPLATE )
95
95
.tags (Collections .emptyList ()).build ());
96
96
97
- waitUntilComplete ( StackStatus . UPDATE_COMPLETE );
97
+ waiter . waitUntilStackUpdateComplete ( b -> b . stackName ( stackName ) );
98
98
assertThat (getTagsForStack (stackName ), empty ());
99
99
}
100
100
@@ -105,17 +105,10 @@ public void autoConstructedEmptyTagList_DoesNotRemoveTagsFromStack() {
105
105
.stackName (stackName )
106
106
.templateBody (UPDATED_TEMPLATE ).build ());
107
107
108
- waitUntilComplete ( StackStatus . UPDATE_COMPLETE );
108
+ waiter . waitUntilStackUpdateComplete ( b -> b . stackName ( stackName ) );
109
109
assertThat (getTagsForStack (stackName ), not (empty ()));
110
110
}
111
111
112
- private void waitUntilComplete (StackStatus expectedStatus ) {
113
- Waiter .run (() -> cf .describeStacks (r -> r .stackName (stackName )))
114
- .until (r -> r .stacks ().size () == 1 && r .stacks ().get (0 ).stackStatus () == expectedStatus )
115
- .failOn (r -> r .stacks ().size () == 1 && r .stacks ().get (0 ).stackStatus () == StackStatus .ROLLBACK_IN_PROGRESS )
116
- .orFailAfter (Duration .ofMinutes (5 ));
117
- }
118
-
119
112
private List <Tag > getTagsForStack (String stackName ) {
120
113
return cf .describeStacks (
121
114
DescribeStacksRequest .builder ().stackName (stackName ).build ())
0 commit comments