|
23 | 23 | import com.amazonaws.services.lambda.runtime.Context; |
24 | 24 | import com.amazonaws.services.lambda.runtime.LambdaLogger; |
25 | 25 | import com.fasterxml.jackson.core.type.TypeReference; |
26 | | -import com.google.common.collect.ImmutableList; |
27 | | -import com.google.common.collect.ImmutableMap; |
28 | 26 | import java.io.ByteArrayOutputStream; |
29 | 27 | import java.io.File; |
30 | 28 | import java.io.FileInputStream; |
31 | 29 | import java.io.FileNotFoundException; |
32 | 30 | import java.io.IOException; |
33 | 31 | import java.io.InputStream; |
34 | 32 | import java.io.OutputStream; |
35 | | -import java.util.Collections; |
36 | 33 | import java.util.List; |
37 | 34 | import java.util.Map; |
38 | | -import org.junit.jupiter.api.Assertions; |
39 | 35 | import org.junit.jupiter.api.BeforeEach; |
40 | | -import org.junit.jupiter.api.Test; |
41 | 36 | import org.junit.jupiter.api.extension.ExtendWith; |
42 | 37 | import org.junit.jupiter.params.ParameterizedTest; |
43 | 38 | import org.junit.jupiter.params.provider.CsvSource; |
44 | 39 | import org.mockito.Mock; |
45 | 40 | import org.mockito.junit.jupiter.MockitoExtension; |
46 | 41 | import software.amazon.awssdk.http.SdkHttpClient; |
47 | 42 | import software.amazon.cloudformation.encryption.KMSCipher; |
48 | | -import software.amazon.cloudformation.exceptions.TerminalException; |
49 | 43 | import software.amazon.cloudformation.injection.CredentialsProvider; |
50 | 44 | import software.amazon.cloudformation.loggers.CloudWatchLogPublisher; |
51 | 45 | import software.amazon.cloudformation.loggers.LogPublisher; |
|
56 | 50 | import software.amazon.cloudformation.proxy.ProgressEvent; |
57 | 51 | import software.amazon.cloudformation.proxy.hook.HookHandlerRequest; |
58 | 52 | import software.amazon.cloudformation.proxy.hook.HookProgressEvent; |
59 | | -import software.amazon.cloudformation.proxy.hook.HookRequestData; |
60 | 53 | import software.amazon.cloudformation.proxy.hook.HookStatus; |
61 | 54 | import software.amazon.cloudformation.proxy.hook.targetmodel.ChangedResource; |
62 | 55 | import software.amazon.cloudformation.proxy.hook.targetmodel.StackHookTargetModel; |
@@ -394,32 +387,37 @@ public void invokeHandler_WithStackLevelHook_returnsSuccess(final String request |
394 | 387 | } |
395 | 388 | } |
396 | 389 |
|
397 | | - @Test |
398 | | - public void testIsHookInvocationPayloadRemote() { |
399 | | - List<HookRequestData> invalidHookRequestDataObjects = ImmutableList.of( |
400 | | - HookRequestData.builder().targetModel(null).build(), |
401 | | - HookRequestData.builder().targetModel(null).payload(null).build(), |
402 | | - HookRequestData.builder().targetModel(Collections.emptyMap()).payload(null).build(), |
403 | | - HookRequestData.builder().targetModel(Collections.emptyMap()).payload(null).build() |
404 | | - ); |
405 | | - |
406 | | - invalidHookRequestDataObjects.forEach(requestData -> { |
407 | | - Assertions.assertThrows(TerminalException.class, () -> wrapper.isHookInvocationPayloadRemote(requestData)); |
408 | | - }); |
409 | | - |
410 | | - Assertions.assertThrows(TerminalException.class, () -> wrapper.isHookInvocationPayloadRemote(null)); |
411 | | - |
412 | | - HookRequestData bothFieldsPopulated = HookRequestData.builder().targetModel(ImmutableMap.of("foo", "bar")) |
413 | | - .payload("http://s3PresignedUrl").build(); |
414 | | - HookRequestData onlyTargetModelPopulated = HookRequestData.builder().targetModel(ImmutableMap.of("foo", "bar")) |
415 | | - .payload(null).build(); |
416 | | - HookRequestData onlyPayloadPopulated = HookRequestData.builder().targetModel(Collections.emptyMap()) |
417 | | - .payload("http://s3PresignedUrl").build(); |
418 | | - |
419 | | - Assertions.assertFalse(wrapper.isHookInvocationPayloadRemote(bothFieldsPopulated)); |
420 | | - Assertions.assertFalse(wrapper.isHookInvocationPayloadRemote(onlyTargetModelPopulated)); |
421 | | - Assertions.assertTrue(wrapper.isHookInvocationPayloadRemote(onlyPayloadPopulated)); |
422 | | - } |
| 390 | + // @Test |
| 391 | + // public void testIsHookInvocationPayloadRemote() { |
| 392 | + // List<HookRequestData> invalidHookRequestDataObjects = ImmutableList.of( |
| 393 | + // HookRequestData.builder().targetModel(null).build(), |
| 394 | + // HookRequestData.builder().targetModel(null).payload(null).build(), |
| 395 | + // HookRequestData.builder().targetModel(Collections.emptyMap()).payload(null).build(), |
| 396 | + // HookRequestData.builder().targetModel(Collections.emptyMap()).payload(null).build() |
| 397 | + // ); |
| 398 | + // |
| 399 | + // invalidHookRequestDataObjects.forEach(requestData -> { |
| 400 | + // Assertions.assertThrows(TerminalException.class, () -> |
| 401 | + // wrapper.isHookInvocationPayloadRemote(requestData)); |
| 402 | + // }); |
| 403 | + // |
| 404 | + // Assertions.assertThrows(TerminalException.class, () -> |
| 405 | + // wrapper.isHookInvocationPayloadRemote(null)); |
| 406 | + // |
| 407 | + // HookRequestData bothFieldsPopulated = |
| 408 | + // HookRequestData.builder().targetModel(ImmutableMap.of("foo", "bar")) |
| 409 | + // .payload("http://s3PresignedUrl").build(); |
| 410 | + // HookRequestData onlyTargetModelPopulated = |
| 411 | + // HookRequestData.builder().targetModel(ImmutableMap.of("foo", "bar")) |
| 412 | + // .payload(null).build(); |
| 413 | + // HookRequestData onlyPayloadPopulated = |
| 414 | + // HookRequestData.builder().targetModel(Collections.emptyMap()) |
| 415 | + // .payload("http://s3PresignedUrl").build(); |
| 416 | + // |
| 417 | + // Assertions.assertFalse(wrapper.isHookInvocationPayloadRemote(bothFieldsPopulated)); |
| 418 | + // Assertions.assertFalse(wrapper.isHookInvocationPayloadRemote(onlyTargetModelPopulated)); |
| 419 | + // Assertions.assertTrue(wrapper.isHookInvocationPayloadRemote(onlyPayloadPopulated)); |
| 420 | + // } |
423 | 421 |
|
424 | 422 | private final String expectedStringWhenStrictDeserializingWithExtraneousFields = "Unrecognized field \"targetName\" (class software.amazon.cloudformation.proxy.hook.HookInvocationRequest), not marked as ignorable (10 known properties: \"requestContext\", \"stackId\", \"clientRequestToken\", \"hookModel\", \"hookTypeName\", \"requestData\", \"actionInvocationPoint\", \"awsAccountId\", \"changeSetId\", \"hookTypeVersion\"])\n" |
425 | 423 | + " at [Source: (String)\"{\n" + " \"clientRequestToken\": \"123456\",\n" + " \"awsAccountId\": \"123456789012\",\n" |
|
0 commit comments