Skip to content

Commit 557bc19

Browse files
committed
Fix JSON property casing: BTCPay outer envelope is camelCase
Protocol response shape (confirmed via CI diagnostic): { "success": true, "message": "Wallet setup successfully.", "result": { "results": { "BTC": { "success": true, ... }, "LBTC": { "success": true, ... } } } } Outer envelope keys are camelCase (success/message/result/results). Per-method keys preserve their explicit JsonProperty PascalCase (BTC/LBTC/BTC_LN). End-to-end flow works - OTP create via Greenfield, descriptor parsing, response shape all green.
1 parent d8a1e77 commit 557bc19

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

SamRockProtocol.Tests/SamRockProtocolHappyPathTest.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,25 @@ public async Task SamRockProtocol_AcceptsAquaDescriptors()
103103
using var doc = JsonDocument.Parse(body);
104104
var root = doc.RootElement;
105105

106-
Assert.True(root.GetProperty("Success").GetBoolean(),
107-
$"Outer Success expected true. Body: {body}");
106+
// BTCPay's JSON serializer emits camelCase for the outer envelope
107+
// (success/message/result/results) and preserves the explicit
108+
// JsonProperty PascalCase for the per-method keys (BTC/LBTC).
109+
Assert.True(root.GetProperty("success").GetBoolean(),
110+
$"Outer success expected true. Body: {body}");
108111

109-
var results = root.GetProperty("Result").GetProperty("Results");
112+
var results = root.GetProperty("result").GetProperty("results");
110113

111114
var btcResult = results.GetProperty("BTC");
112-
Assert.True(btcResult.GetProperty("Success").GetBoolean(),
113-
$"BTC import expected Success=true. Result: {btcResult}");
115+
Assert.True(btcResult.GetProperty("success").GetBoolean(),
116+
$"BTC import expected success=true. Result: {btcResult}");
114117

115118
// LBTC: BTCPay regtest stack ships without Elements/Liquid enabled.
116119
// ProtocolController.cs:244-248 returns Success=true with
117120
// "LBTC is not available on server, ignoring sent data" warning when
118121
// explorerProvider.GetNetwork("LBTC") is null. Either real-track or
119-
// warning-success satisfies Success=true here.
122+
// warning-success satisfies success=true here.
120123
var lbtcResult = results.GetProperty("LBTC");
121-
Assert.True(lbtcResult.GetProperty("Success").GetBoolean(),
122-
$"LBTC import expected Success=true. Result: {lbtcResult}");
124+
Assert.True(lbtcResult.GetProperty("success").GetBoolean(),
125+
$"LBTC import expected success=true. Result: {lbtcResult}");
123126
}
124127
}

0 commit comments

Comments
 (0)