@@ -71,6 +71,7 @@ struct VaultInfoParamTestCaseBundle {
7171 std::string testName;
7272 std::string testJson;
7373 std::string expectedError;
74+ CombinedError expectedErrorCode;
7475 std::string expectedErrorMessage;
7576};
7677
@@ -86,6 +87,7 @@ generateTestValuesForParametersTest()
8687 "idk": "idk"
8788 })JSON" ,
8889 .expectedError = " malformedRequest" ,
90+ .expectedErrorCode = ClioError::RpcMalformedRequest,
8991 .expectedErrorMessage = " Malformed request."
9092 },
9193 VaultInfoParamTestCaseBundle{
@@ -94,6 +96,7 @@ generateTestValuesForParametersTest()
9496 "seq": 4
9597 })JSON" ,
9698 .expectedError = " malformedRequest" ,
99+ .expectedErrorCode = ClioError::RpcMalformedRequest,
97100 .expectedErrorMessage = " Malformed request."
98101 },
99102 VaultInfoParamTestCaseBundle{
@@ -102,6 +105,7 @@ generateTestValuesForParametersTest()
102105 "owner": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
103106 })JSON" ,
104107 .expectedError = " malformedRequest" ,
108+ .expectedErrorCode = ClioError::RpcMalformedRequest,
105109 .expectedErrorMessage = " Malformed request."
106110 },
107111 VaultInfoParamTestCaseBundle{
@@ -111,6 +115,7 @@ generateTestValuesForParametersTest()
111115 "seq": "asdf"
112116 })JSON" ,
113117 .expectedError = " malformedRequest" ,
118+ .expectedErrorCode = ClioError::RpcMalformedRequest,
114119 .expectedErrorMessage = " Malformed request."
115120 },
116121 VaultInfoParamTestCaseBundle{
@@ -120,6 +125,7 @@ generateTestValuesForParametersTest()
120125 "seq": 3
121126 })JSON" ,
122127 .expectedError = " malformedRequest" ,
128+ .expectedErrorCode = ClioError::RpcMalformedRequest,
123129 .expectedErrorMessage = " OwnerNotHexString"
124130 },
125131 VaultInfoParamTestCaseBundle{
@@ -129,6 +135,7 @@ generateTestValuesForParametersTest()
129135 "seq": 3
130136 })JSON" ,
131137 .expectedError = " malformedRequest" ,
138+ .expectedErrorCode = ClioError::RpcMalformedRequest,
132139 .expectedErrorMessage = " OwnerNotHexString"
133140 },
134141 VaultInfoParamTestCaseBundle{
@@ -137,6 +144,7 @@ generateTestValuesForParametersTest()
137144 "vault_id": 3
138145 })JSON" ,
139146 .expectedError = " malformedRequest" ,
147+ .expectedErrorCode = ClioError::RpcMalformedRequest,
140148 .expectedErrorMessage = " Malformed request."
141149 },
142150 VaultInfoParamTestCaseBundle{
@@ -145,6 +153,7 @@ generateTestValuesForParametersTest()
145153 "vault_id": "idk"
146154 })JSON" ,
147155 .expectedError = " malformedRequest" ,
156+ .expectedErrorCode = ClioError::RpcMalformedRequest,
148157 .expectedErrorMessage = " Malformed request."
149158 },
150159 VaultInfoParamTestCaseBundle{
@@ -158,6 +167,7 @@ generateTestValuesForParametersTest()
158167 kACCOUNT
159168 ),
160169 .expectedError = " malformedRequest" ,
170+ .expectedErrorCode = ClioError::RpcMalformedRequest,
161171 .expectedErrorMessage = " Malformed request."
162172 }
163173 };
@@ -181,6 +191,10 @@ TEST_P(VaultInfoParameterTest, InvalidParams)
181191
182192 auto const err = rpc::makeError (output.result .error ());
183193 EXPECT_EQ (err.at (" error" ).as_string (), testBundle.expectedError );
194+ EXPECT_EQ (
195+ err.at (" error_code" ).as_uint64 (),
196+ std::visit ([](auto code) { return static_cast <uint32_t >(code); }, testBundle.expectedErrorCode )
197+ );
184198 EXPECT_EQ (err.at (" error_message" ).as_string (), testBundle.expectedErrorMessage );
185199 });
186200}
@@ -208,6 +222,8 @@ TEST_F(RPCVaultInfoHandlerTest, InputHasOwnerButNotFoundResultsInError)
208222 ASSERT_FALSE (output);
209223 auto const err = rpc::makeError (output.result .error ());
210224 EXPECT_EQ (err.at (" error" ).as_string (), " entryNotFound" );
225+ EXPECT_EQ (err.at (" error_code" ).as_uint64 (), rpc::RippledError::rpcENTRY_NOT_FOUND);
226+ EXPECT_EQ (err.at (" error_message" ).as_string (), " Entry not found." );
211227 });
212228}
213229
@@ -237,6 +253,8 @@ TEST_F(RPCVaultInfoHandlerTest, VaultIDFailsVaultDeserializationReturnsEntryNotF
237253 ASSERT_FALSE (output);
238254 auto const err = rpc::makeError (output.result .error ());
239255 EXPECT_EQ (err.at (" error" ).as_string (), " entryNotFound" );
256+ EXPECT_EQ (err.at (" error_code" ).as_uint64 (), rpc::RippledError::rpcENTRY_NOT_FOUND);
257+ EXPECT_EQ (err.at (" error_message" ).as_string (), " vault object not found." );
240258 });
241259}
242260
@@ -277,6 +295,8 @@ TEST_F(RPCVaultInfoHandlerTest, MissingIssuanceObject)
277295 ASSERT_FALSE (output);
278296 auto const err = rpc::makeError (output.result .error ());
279297 EXPECT_EQ (err.at (" error" ).as_string (), " entryNotFound" );
298+ EXPECT_EQ (err.at (" error_code" ).as_uint64 (), rpc::RippledError::rpcENTRY_NOT_FOUND);
299+ EXPECT_EQ (err.at (" error_message" ).as_string (), " issuance object not found." );
280300 });
281301}
282302
0 commit comments