Skip to content

Commit 338d006

Browse files
authored
test: add converters tests (#525)
1 parent 1514151 commit 338d006

File tree

1 file changed

+112
-0
lines changed
  • aws-lambda-java-runtime-interface-client/src/test/java/com/amazonaws/services/lambda/runtime/api/client/runtimeapi/converters

1 file changed

+112
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/*
2+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
SPDX-License-Identifier: Apache-2.0
4+
*/
5+
package com.amazonaws.services.lambda.runtime.api.client.runtimeapi.converters;
6+
7+
import com.amazonaws.services.lambda.runtime.api.client.UserFault;
8+
import com.amazonaws.services.lambda.runtime.api.client.runtimeapi.dto.ErrorRequest;
9+
import org.junit.jupiter.api.Test;
10+
import static org.junit.jupiter.api.Assertions.*;
11+
12+
class LambdaErrorConverterTest {
13+
14+
@Test
15+
void testFromUserFaultWithMessageAndException() {
16+
UserFault userFault = new UserFault("Test error message", "TestException", "Test stack trace");
17+
ErrorRequest errorRequest = LambdaErrorConverter.fromUserFault(userFault);
18+
19+
assertNotNull(errorRequest);
20+
assertEquals("Test error message", errorRequest.errorMessage);
21+
assertEquals("TestException", errorRequest.errorType);
22+
assertNull(errorRequest.stackTrace);
23+
}
24+
25+
@Test
26+
void testFromUserFaultWithNullValues() {
27+
UserFault userFault = new UserFault(null, null, null);
28+
ErrorRequest errorRequest = LambdaErrorConverter.fromUserFault(userFault);
29+
30+
assertNotNull(errorRequest);
31+
assertNull(errorRequest.errorMessage);
32+
assertNull(errorRequest.errorType);
33+
assertNull(errorRequest.stackTrace);
34+
}
35+
36+
@Test
37+
void testFromUserFaultWithFatalError() {
38+
UserFault userFault = new UserFault("Fatal error", "FatalException", "Test stack trace", true);
39+
ErrorRequest errorRequest = LambdaErrorConverter.fromUserFault(userFault);
40+
41+
assertNotNull(errorRequest);
42+
assertEquals("Fatal error", errorRequest.errorMessage);
43+
assertEquals("FatalException", errorRequest.errorType);
44+
assertNull(errorRequest.stackTrace);
45+
}
46+
47+
@Test
48+
void testFromUserFaultCreatedFromException() {
49+
Exception exception = new RuntimeException("Test exception message");
50+
UserFault userFault = UserFault.makeUserFault(exception);
51+
ErrorRequest errorRequest = LambdaErrorConverter.fromUserFault(userFault);
52+
53+
assertNotNull(errorRequest);
54+
assertEquals("Test exception message", errorRequest.errorMessage);
55+
assertEquals("java.lang.RuntimeException", errorRequest.errorType);
56+
assertNull(errorRequest.stackTrace);
57+
}
58+
59+
@Test
60+
void testFromUserFaultCreatedFromMessage() {
61+
UserFault userFault = UserFault.makeUserFault("Simple message");
62+
ErrorRequest errorRequest = LambdaErrorConverter.fromUserFault(userFault);
63+
64+
assertNotNull(errorRequest);
65+
assertEquals("Simple message", errorRequest.errorMessage);
66+
assertNull(errorRequest.errorType);
67+
assertNull(errorRequest.stackTrace);
68+
}
69+
70+
@Test
71+
void testFromThrowableWithMessage() {
72+
Exception exception = new RuntimeException("Test exception message");
73+
ErrorRequest errorRequest = LambdaErrorConverter.fromThrowable(exception);
74+
75+
assertNotNull(errorRequest);
76+
assertEquals("Test exception message", errorRequest.errorMessage);
77+
assertEquals("java.lang.RuntimeException", errorRequest.errorType);
78+
assertNotNull(errorRequest.stackTrace);
79+
assertTrue(errorRequest.stackTrace.length > 0);
80+
}
81+
82+
@Test
83+
void testFromThrowableWithNullMessage() {
84+
Exception exception = new RuntimeException();
85+
ErrorRequest errorRequest = LambdaErrorConverter.fromThrowable(exception);
86+
87+
assertNotNull(errorRequest);
88+
assertEquals("java.lang.RuntimeException", errorRequest.errorMessage);
89+
assertEquals("java.lang.RuntimeException", errorRequest.errorType);
90+
assertNotNull(errorRequest.stackTrace);
91+
assertTrue(errorRequest.stackTrace.length > 0);
92+
}
93+
94+
@Test
95+
void testFromThrowableStackTraceContent() {
96+
Exception exception = new RuntimeException("Test message");
97+
ErrorRequest errorRequest = LambdaErrorConverter.fromThrowable(exception);
98+
99+
String[] stackTrace = errorRequest.stackTrace;
100+
assertNotNull(stackTrace);
101+
assertTrue(stackTrace.length > 0);
102+
103+
boolean foundTestClass = false;
104+
for (String traceLine : stackTrace) {
105+
if (traceLine.contains(LambdaErrorConverterTest.class.getSimpleName())) {
106+
foundTestClass = true;
107+
break;
108+
}
109+
}
110+
assertTrue(foundTestClass);
111+
}
112+
}

0 commit comments

Comments
 (0)