Skip to content

Commit 9e437dc

Browse files
committed
Fix up test and add additional one
1 parent 5cd3269 commit 9e437dc

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

Tests/GRPCCoreTests/RPCErrorTests.swift

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,7 @@ struct RPCErrorTests {
148148
let error5 = RPCError(
149149
code: .aborted,
150150
message: "Error 5.",
151-
cause: error4,
152-
flatteningCauses: true
151+
cause: error4
153152
)
154153

155154
let unknownMerged = RPCError(code: .unknown, message: "Error 2. Error 1.")
@@ -161,4 +160,33 @@ struct RPCErrorTests {
161160
)
162161
#expect(error5 == abortedMerged)
163162
}
163+
164+
@Test("Causes of errors with different status codes aren't flattened")
165+
func testDifferentStatusCodeAreNotFlattened() throws {
166+
let error1 = RPCError(code: .unknown, message: "Error 1.")
167+
let error2 = RPCError(code: .dataLoss, message: "Error 2.", cause: error1)
168+
let error3 = RPCError(code: .alreadyExists, message: "Error 3.", cause: error2)
169+
let error4 = RPCError(code: .aborted, message: "Error 4.", cause: error3)
170+
let error5 = RPCError(
171+
code: .deadlineExceeded,
172+
message: "Error 5.",
173+
cause: error4
174+
)
175+
176+
#expect(error5.code == .deadlineExceeded)
177+
#expect(error5.message == "Error 5.")
178+
let wrappedError4 = try #require(error5.cause as? RPCError)
179+
#expect(wrappedError4.code == .aborted)
180+
#expect(wrappedError4.message == "Error 4.")
181+
let wrappedError3 = try #require(wrappedError4.cause as? RPCError)
182+
#expect(wrappedError3.code == .alreadyExists)
183+
#expect(wrappedError3.message == "Error 3.")
184+
let wrappedError2 = try #require(wrappedError3.cause as? RPCError)
185+
#expect(wrappedError2.code == .dataLoss)
186+
#expect(wrappedError2.message == "Error 2.")
187+
let wrappedError1 = try #require(wrappedError2.cause as? RPCError)
188+
#expect(wrappedError1.code == .unknown)
189+
#expect(wrappedError1.message == "Error 1.")
190+
#expect(wrappedError1.cause == nil)
191+
}
164192
}

0 commit comments

Comments
 (0)