Skip to content

Commit 140d34a

Browse files
mpetrovMrMage
authored andcommitted
Add public factory methods for CallResult. (grpc#394)
* Add public factory methods for CallResult. This enables instantiating CallResult structs for test stubs. * Also set metadata.
1 parent 30a7fbc commit 140d34a

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Sources/SwiftGRPC/Core/CallResult.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,35 @@ public struct CallResult: CustomStringConvertible {
2626
public let resultData: Data?
2727
public let initialMetadata: Metadata?
2828
public let trailingMetadata: Metadata?
29+
30+
public static func error(
31+
statusCode: StatusCode = .unknown,
32+
statusMessage: String? = nil,
33+
initialMetadata: Metadata? = nil,
34+
trailingMetadata: Metadata? = nil
35+
) -> CallResult {
36+
return CallResult(
37+
success: false,
38+
statusCode: statusCode,
39+
statusMessage: statusMessage,
40+
resultData: nil,
41+
initialMetadata: initialMetadata,
42+
trailingMetadata: trailingMetadata)
43+
}
44+
45+
public static func success(
46+
resultData: Data,
47+
initialMetadata: Metadata? = nil,
48+
trailingMetadata: Metadata? = nil
49+
) -> CallResult {
50+
return CallResult(
51+
success: true,
52+
statusCode: .ok,
53+
statusMessage: "OK",
54+
resultData: resultData,
55+
initialMetadata: initialMetadata,
56+
trailingMetadata: trailingMetadata)
57+
}
2958

3059
init(_ op: OperationGroup) {
3160
success = op.success

0 commit comments

Comments
 (0)