{ "funding_sources": { "corelightningrest": { "wallet_class": "CoreLightningRestWallet", "settings": { "corelightning_rest_url": "http://127.0.0.1:8555", "corelightning_rest_macaroon": "eNcRyPtEdMaCaRoOn", "corelightning_rest_cert": false, "user_agent": "LNbits/Tests" } }, "lndrest": { "wallet_class": "LndRestWallet", "settings": { "lnd_rest_endpoint": "http://127.0.0.1:8555", "lnd_rest_macaroon": "eNcRyPtEdMaCaRoOn", "lnd_rest_cert": "", "user_agent": "LNbits/Tests" } }, "alby": { "wallet_class": "AlbyWallet", "settings": { "alby_api_endpoint": "http://127.0.0.1:8555", "alby_access_token": "mock-alby-access-token", "user_agent": "LNbits/Tests" } }, "eclair": { "wallet_class": "EclairWallet", "settings": { "eclair_url": "http://127.0.0.1:8555", "eclair_pass": "secret", "user_agent": "LNbits/Tests" } }, "lnbits": { "wallet_class": "LNbitsWallet", "settings": { "lnbits_endpoint": "http://127.0.0.1:8555", "lnbits_admin_key": "f171ba022a764e679eef950b21fb1c04", "user_agent": "LNbits/Tests" } }, "phoenixd": { "wallet_class": "PhoenixdWallet", "settings": { "phoenixd_api_endpoint": "http://127.0.0.1:8555", "phoenixd_api_password": "f171ba022a764e679eef950b21fb1c04f171ba022a764e679eef950b21fb1c04", "user_agent": "LNbits/Tests" } } }, "functions": { "status": { "mocks": { "corelightningrest": { "status_endpoint": { "uri": "/v1/channel/localremotebal", "headers": { "macaroon": "eNcRyPtEdMaCaRoOn", "encodingtype": "hex", "accept": "application/json", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "lndrest": { "status_endpoint": { "uri": "/v1/balance/channels", "headers": { "Grpc-Metadata-macaroon": "eNcRyPtEdMaCaRoOn", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "alby": { "status_endpoint": { "uri": "/balance", "headers": { "Authorization": "Bearer mock-alby-access-token", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "eclair": { "status_endpoint": { "uri": "/globalbalance", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lnbits": { "status_endpoint": { "uri": "/api/v1/wallet", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "phoenixd": { "status_endpoint": { "uri": "/getinfo", "headers": { "Authorization": "Basic OmYxNzFiYTAyMmE3NjRlNjc5ZWVmOTUwYjIxZmIxYzA0ZjE3MWJhMDIyYTc2NGU2NzllZWY5NTBiMjFmYjFjMDQ=", "User-Agent": "LNbits/Tests" }, "method": "GET" } } }, "tests": [ { "description": "success", "call_params": {}, "expect": { "error_message": null, "balance_msat": 55000 }, "mocks": { "corelightningrest": { "status_endpoint": [ { "response_type": "json", "response": { "localBalance": 55 } } ] }, "lndrest": { "status_endpoint": [ { "response_type": "json", "response": { "balance": 55 } } ] }, "alby": { "status_endpoint": [ { "response_type": "json", "response": { "balance": 55, "unit": "sat" } } ] }, "eclair": { "status_endpoint": [ { "response_type": "json", "response": { "total": 0.00000055 } } ] }, "lnbits": { "status_endpoint": [ { "response_type": "json", "response": { "balance": 55000 } } ] }, "phoenixd": { "status_endpoint": [ { "response_type": "json", "response": { "channels": [ { "balanceSat": 55 } ] } } ] } } }, { "description": "error", "call_params": {}, "expect": { "error_message": "Server error: '\"test-error\"'", "balance_msat": 0 }, "mocks": { "corelightningrest": { "status_endpoint": [ { "response_type": "json", "response": { "error": "\"test-error\"" } } ] }, "lndrest": { "status_endpoint": [ { "response_type": "json", "response": "test-error" } ] }, "alby": { "status_endpoint": [ { "response_type": "json", "response": { "message": "\"test-error\"", "unit": "sats" } } ] }, "eclair": { "status_endpoint": [ { "response_type": "json", "response": { "error": "\"test-error\"" } } ] }, "lnbits": { "status_endpoint": [ { "response_type": "json", "response": "test-error" } ] }, "phoenixd": { "status_endpoint": [ { "response_type": "json", "response": "test-error" } ] } } }, { "description": "missing data", "call_params": {}, "expect": { "error_message": "no data", "balance_msat": 0 }, "mocks": { "corelightningrest": { "status_endpoint": [ { "response_type": "json", "response": {} } ] }, "lndrest": { "status_endpoint": [ { "response_type": "json", "response": {} } ] }, "alby": { "status_endpoint": [ { "response_type": "json", "response": {} } ] }, "eclair": { "status_endpoint": [ { "response_type": "json", "response": {} } ] }, "lnbits": { "status_endpoint": [ { "response_type": "json", "response": {} } ] }, "phoenixd": { "status_endpoint": [ { "response_type": "json", "response": {} } ] } } }, { "description": "bad json", "call_params": {}, "expect": { "error_message": "Server error: 'invalid json response'", "balance_msat": 0 }, "mocks": { "corelightningrest": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] }, "lndrest": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] }, "alby": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] }, "eclair": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] }, "lnbits": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] }, "phoenixd": { "status_endpoint": [ { "response_type": "data", "response": "data-not-json" } ] } } }, { "description": "http 404", "call_params": {}, "expect": { "error_message": "Unable to connect to http://127.0.0.1:8555.", "balance_msat": 0 }, "mocks": { "corelightningrest": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lndrest": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "alby": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "eclair": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lnbits": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "phoenixd": { "status_endpoint": [ { "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] } } }, { "description": "no mocks", "call_params": {}, "expect": { "error_message": "Unable to connect to http://127.0.0.1:8555.", "balance_msat": 0 } } ] }, "create_invoice": { "mocks": { "corelightningrest": { "create_invoice_endpoint": { "uri": "/v1/invoice/genInvoice", "headers": { "macaroon": "eNcRyPtEdMaCaRoOn", "encodingtype": "hex", "accept": "application/json", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lndrest": { "create_invoice_endpoint": { "uri": "/v1/invoices", "headers": { "Grpc-Metadata-macaroon": "eNcRyPtEdMaCaRoOn", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "alby": { "create_invoice_endpoint": { "uri": "/invoices", "headers": { "Authorization": "Bearer mock-alby-access-token", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "eclair": { "create_invoice_endpoint": { "uri": "/createinvoice", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lnbits": { "create_invoice_endpoint": { "uri": "/api/v1/payments", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "phoenixd": { "create_invoice_endpoint": { "uri": "/createinvoice", "headers": { "Authorization": "Basic OmYxNzFiYTAyMmE3NjRlNjc5ZWVmOTUwYjIxZmIxYzA0ZjE3MWJhMDIyYTc2NGU2NzllZWY5NTBiMjFmYjFjMDQ=", "User-Agent": "LNbits/Tests" }, "method": "POST" } } }, "tests": [ { "description": "success", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "error_message": null, "success": true, "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "payment_request": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "mocks": { "corelightningrest": { "create_invoice_endpoint": [ { "request_type": "data", "request_body": { "amount": 555000, "description": "Test Invoice", "label": "test-label" }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "bolt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "lndrest": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice", "private": true }, "response_type": "json", "response": { "r_hash": "41UmpD0E6YVZTA36uEiBT1JLHHhlmOyaY77dstcmrJY=", "payment_request": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "alby": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice" }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "payment_request": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "eclair": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountMsat": 555000 }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "serialized": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "lnbits": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": false, "amount": 555000, "memo": "Test Invoice" }, "response_type": "json", "response": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "bolt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "phoenixd": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountSat": "555000", "description": "Test Invoice", "externalId": "" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "serialized": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] } } }, { "description": "error", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "error_message": "Server error: 'Test Error'", "success": false, "checking_id": null, "payment_request": null }, "mocks": { "corelightningrest": { "create_invoice_endpoint": [ { "request_type": "data", "request_body": { "amount": 555000, "description": "Test Invoice", "label": "test-label" }, "response_type": "json", "response": { "error": "Test Error" } } ] }, "lndrest": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice", "private": true }, "response_type": "json", "response": { "error": "Test Error" } } ] }, "alby": { "create_invoice_endpoint": [] }, "eclair": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountMsat": 555000 }, "response_type": "json", "response": { "error": "Test Error" } } ] }, "lnbits": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": false, "amount": 555000, "memo": "Test Invoice" }, "response_type": "json", "response": { "detail": "Test Error" } } ] }, "phoenixd": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountSat": "555000", "description": "Test Invoice", "externalId": "" }, "response_type": "json", "response": { "message": "Test Error" } } ] } } }, { "description": "missing data", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "error_message": "Server error: 'missing required fields'", "success": false, "checking_id": null, "payment_request": null }, "mocks": { "corelightningrest": { "create_invoice_endpoint": [ { "request_type": "data", "request_body": { "amount": 555000, "description": "Test Invoice", "label": "test-label" }, "response_type": "json", "response": { "some_field": "but the required fields are mising" } } ] }, "lndrest": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice", "private": true }, "response_type": "json", "response": { "some_field": "but the required fields are mising" } } ] }, "alby": { "create_invoice_endpoint": [ { "description": "missing payment request", "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice" }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" } } ] }, "eclair": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountMsat": 555000 }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" } } ] }, "lnbits": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": false, "amount": 555000, "memo": "Test Invoice" }, "response_type": "json", "response": { "bolt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" } } ] }, "phoenixd": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountSat": "555000", "description": "Test Invoice", "externalId": "" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" } } ] } } }, { "description": "bad json", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "success": false, "checking_id": null, "payment_request": null, "error_message": "Server error: 'invalid json response'" }, "mocks": { "corelightningrest": { "create_invoice_endpoint": [ { "request_type": "data", "request_body": { "amount": 555000, "description": "Test Invoice", "label": "test-label" }, "response_type": "data", "response": "data-not-json" } ] }, "lndrest": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice", "private": true }, "response_type": "data", "response": "data-not-json" } ] }, "alby": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice" }, "response_type": "data", "response": "data-not-json" } ] }, "eclair": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountMsat": 555000 }, "response_type": "data", "response": "data-not-json" } ] }, "lnbits": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": false, "amount": 555000, "memo": "Test Invoice" }, "response_type": "data", "response": "data-not-json" } ] }, "phoenixd": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountSat": "555000", "description": "Test Invoice", "externalId": "" }, "response_type": "data", "response": "data-not-json" } ] } } }, { "description": "http 404", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "success": false, "checking_id": null, "payment_request": null, "error_message": "Unable to connect to http://127.0.0.1:8555." }, "mocks": { "corelightningrest": { "create_invoice_endpoint": [ { "request_type": "data", "request_body": { "amount": 555000, "description": "Test Invoice", "label": "test-label" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lndrest": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice", "private": true }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "alby": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "value": 555, "memo": "Test Invoice" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "eclair": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountMsat": 555000 }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lnbits": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": false, "amount": 555000, "memo": "Test Invoice" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "phoenixd": { "create_invoice_endpoint": [ { "request_type": "json", "request_body": { "amountSat": "555000", "description": "Test Invoice", "externalId": "" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] } } }, { "description": "no mocks", "call_params": { "amount": 555, "memo": "Test Invoice", "label": "test-label" }, "expect": { "success": false, "checking_id": null, "payment_request": null, "error_message": "Unable to connect to http://127.0.0.1:8555." } } ] }, "pay_invoice": { "mocks": { "corelightningrest": { "pay_invoice_endpoint": { "uri": "/v1/pay", "headers": { "macaroon": "eNcRyPtEdMaCaRoOn", "encodingtype": "hex", "accept": "application/json", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lndrest": { "pay_invoice_endpoint": { "uri": "/v1/channels/transactions", "headers": { "Grpc-Metadata-macaroon": "eNcRyPtEdMaCaRoOn", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "alby": { "pay_invoice_endpoint": { "uri": "/payments/bolt11", "headers": { "Authorization": "Bearer mock-alby-access-token", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "eclair": { "pay_invoice_endpoint": { "uri": "/payinvoice", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" }, "get_payment_status_endpoint": { "uri": "/getsentinfo", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lnbits": { "pay_invoice_endpoint": { "uri": "/api/v1/payments", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "POST" }, "get_payment_status_endpoint": { "uri": "/api/v1/payments/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "phoenixd": { "pay_invoice_endpoint": { "uri": "/payinvoice", "headers": { "Authorization": "Basic OmYxNzFiYTAyMmE3NjRlNjc5ZWVmOTUwYjIxZmIxYzA0ZjE3MWJhMDIyYTc2NGU2NzllZWY5NTBiMjFmYjFjMDQ=", "User-Agent": "LNbits/Tests" }, "method": "POST" } } }, "tests": [ { "description": "success", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "error_message": null, "success": true, "pending": false, "failed": false, "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "fee_msat": 50, "preimage": "0000000000000000000000000000000000000000000000000000000000000000" }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "payment_preimage": "0000000000000000000000000000000000000000000000000000000000000000", "msatoshi": 21000, "msatoshi_sent": 21050, "status": "paid" } } ] }, "lndrest": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "payment_request": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit": 25000 }, "response_type": "json", "response": { "payment_hash": "41UmpD0E6YVZTA36uEiBT1JLHHhlmOyaY77dstcmrJY=", "payment_route": { "total_fees_msat": 50 }, "payment_preimage": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] }, "alby": { "pay_invoice_endpoint": [ { "skip": true, "request_type": "json", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "fee": 50, "payment_preimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] }, "eclair": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000", "type": "mock" } } ], "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [ { "status": { "type": "sent", "feesPaid": -50, "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] } ] }, "lnbits": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": true, "blt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "json", "response": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" } } ], "get_payment_status_endpoint": [ { "response_type": "json", "response": { "paid": true, "preimage": "0000000000000000000000000000000000000000000000000000000000000000", "details": { "fee": 50 } } } ] }, "phoenixd": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "routingFeeSat": -50, "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] } } }, { "description": "failed", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "success": false, "pending": false, "failed": true, "checking_id": null, "fee_msat": null, "preimage": null }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "json", "response": { "status": "failed" } } ] }, "lndrest": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "payment_request": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit": 25000 }, "response_type": "json", "response": { "payment_error": "Test Error" } } ] }, "alby": {}, "eclair": [], "lnbits": [], "phoenixd": [] } }, { "description": "pending, no fee", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "success": false, "pending": true, "failed": false, "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "fee_msat": null, "preimage": "0000000000000000000000000000000000000000000000000000000000000000" }, "mocks": { "corelightningrest": {}, "lndrest": {}, "alby": {}, "eclair": [ { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000", "type": "mock" } } ], "get_payment_status_endpoint": [ { "description": "get paid invoice: error", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": { "error": "Test Error" } } ] }, { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000", "type": "mock" } } ], "get_payment_status_endpoint": [ { "description": "get paid invoice: no data", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": {} } ] }, { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000", "type": "mock" } } ], "get_payment_status_endpoint": [ { "description": "get paid invoice: bad json", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "data", "response": "data-not-json" } ] }, { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000", "type": "mock" } } ], "get_payment_status_endpoint": [ { "description": "get paid invoice: pending status", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [ { "status": { "type": "pending" } } ] } ] } ], "lnbits": [], "phoenixd": [] } }, { "description": "error", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "success": false, "pending": true, "failed": false, "checking_id": null, "fee_msat": null, "preimage": null, "error_message": "Test Error" }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "json", "response": { "status": "pending", "error": "Test Error" } } ] }, "lndrest": { "pay_invoice_endpoint": [] }, "alby": { "pay_invoice_endpoint": [] }, "eclair": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": { "error": "Test Error" } } ], "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [] } ] }, "lnbits": { "pay_invoice_endpoint": [] }, "phoenixd": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "json", "response": { "message": "Test Error" } }, { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "json", "response": { "reason": "Test Error" } } ] } } }, { "description": "missing data", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "error_message": "Server error: 'missing required fields'", "success": false, "pending": true, "failed": false, "checking_id": null, "fee_msat": null, "preimage": null }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "json", "response": {} } ] }, "lndrest": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "payment_request": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit": 25000 }, "response_type": "json", "response": {} } ] }, "alby": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": {} } ] }, "eclair": { "pay_invoice_endpoint": [ { "description": "no data from pay invoice", "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "json", "response": {} } ], "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [] } ] }, "lnbits": {}, "phoenixd": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "json", "response": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "routingFeeSat": -50 } } ] } } }, { "description": "bad json", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "error_message": "Server error: 'invalid json response'", "success": false, "pending": true, "failed": false, "checking_id": null, "fee_msat": null, "preimage": null }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "data", "response": "data-not-json" } ] }, "lndrest": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "payment_request": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit": 25000 }, "response_type": "data", "response": "data-not-json" } ] }, "alby": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "data", "response": "data-not-json" } ] }, "eclair": { "pay_invoice_endpoint": [ { "description": "no data from pay invoice", "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "data", "response": "data-not-json" } ], "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [] } ] }, "lnbits": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": true, "blt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "data", "response": "data-not-json" } ], "get_payment_status_endpoint": [ { "response_type": "json", "response": { "paid": true, "preimage": "0000000000000000000000000000000000000000000000000000000000000000", "details": { "fee": 50 } } } ] }, "phoenixd": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "data", "response": "data-not-json" } ] } } }, { "description": "http 404", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "error_message": "Unable to connect to http://127.0.0.1:8555.", "success": false, "pending": true, "failed": false, "checking_id": null, "fee_msat": null, "preimage": null }, "mocks": { "corelightningrest": { "pay_invoice_endpoint": [ { "request_type": "data", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "maxfeepercent": "119.04761905", "exemptfee": 0 }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lndrest": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "payment_request": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit": 25000 }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "alby": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "eclair": { "pay_invoice_endpoint": [ { "description": "no data from pay invoice", "request_type": "json", "request_body": { "blocking": true, "invoice": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ], "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [] } ] }, "lnbits": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "out": true, "blt11": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ], "get_payment_status_endpoint": [ { "response_type": "json", "response": {} } ] }, "phoenixd": { "pay_invoice_endpoint": [ { "request_type": "json", "request_body": { "invoice": "lnbc5550n1pnq9jg3sp52rvwstvjcypjsaenzdh0h30jazvzsf8aaye0julprtth9kysxtuspp5e5s3z7felv4t9zrcc6wpn7ehvjl5yzewanzl5crljdl3jgeffyhqdq2f38xy6t5wvxqzjccqpjrzjq0yzeq76ney45hmjlnlpvu0nakzy2g35hqh0dujq8ujdpr2e42pf2rrs6vqpgcsqqqqqqqqqqqqqqeqqyg9qxpqysgqwftcx89k5pp28435pgxfl2vx3ksemzxccppw2j9yjn0ngr6ed7wj8ztc0d5kmt2mvzdlcgrludhz7jncd5l5l9w820hc4clpwhtqj3gq62g66n" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] } } }, { "description": "no mocks", "call_params": { "bolt11": "lnbc210n1pjlgal5sp5xr3uwlfm7ltumdjyukhys0z2rw6grgm8me9k4w9vn05zt9svzzjspp5ud2jdfpaqn5c2k2vphatsjypfafyk8rcvkvwexnrhmwm94ex4jtqdqu24hxjapq23jhxapqf9h8vmmfvdjscqpjrzjqta942048v7qxh5x7pxwplhmtwfl0f25cq23jh87rhx7lgrwwvv86r90guqqnwgqqqqqqqqqqqqqqpsqyg9qxpqysgqylngsyg960lltngzy90e8n22v4j2hvjs4l4ttuy79qqefjv8q87q9ft7uhwdjakvnsgk44qyhalv6ust54x98whl3q635hkwgsyw8xgqjl7jwu", "fee_limit_msat": 25000 }, "expect": { "error_message": "Unable to connect to http://127.0.0.1:8555.", "success": false, "pending": true, "failed": false, "checking_id": null, "fee_msat": null, "preimage": null } } ] }, "get_invoice_status": { "mocks": { "corelightningrest": { "get_invoice_status_endpoint": { "uri": "/v1/invoice/listInvoices", "query_params": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "headers": { "macaroon": "eNcRyPtEdMaCaRoOn", "encodingtype": "hex", "accept": "application/json", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "lndrest": { "get_invoice_status_endpoint": { "uri": "/v1/invoice/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "Grpc-Metadata-macaroon": "eNcRyPtEdMaCaRoOn", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "alby": { "get_invoice_status_endpoint": { "uri": "/invoices/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "Authorization": "Bearer mock-alby-access-token", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "eclair": { "get_invoice_status_endpoint": { "uri": "/getreceivedinfo", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lnbits": { "get_invoice_status_endpoint": { "uri": "/api/v1/payments/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "phoenixd": { "get_invoice_status_endpoint": { "uri": "/payments/incoming/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "Authorization": "Basic OmYxNzFiYTAyMmE3NjRlNjc5ZWVmOTUwYjIxZmIxYzA0ZjE3MWJhMDIyYTc2NGU2NzllZWY5NTBiMjFmYjFjMDQ=", "User-Agent": "LNbits/Tests" }, "method": "GET" } } }, "tests": [ { "description": "paid", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "success": true, "failed": false, "pending": false }, "mocks": { "corelightningrest": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "invoices": [ { "status": "paid" } ] } }, { "response_type": "json", "response": { "invoices": [ { "status": "complete" } ] } } ] }, "lndrest": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "settled": true } } ] }, "alby": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "state": "SETTLED" } } ] }, "eclair": { "get_invoice_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": { "status": { "type": "received" } } } ] }, "lnbits": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "paid": true } } ] }, "phoenixd": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "isPaid": true, "fees": 50, "preimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] } } }, { "description": "failed", "description1": "pending should be false in the 'expect', this is a bug", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "success": false, "failed": true, "pending": true }, "mocks": { "corelightningrest": { "get_invoice_status_endpoint": [ { "response_type": "json", "response": { "invoices": [ { "status": "failed" } ] } } ] }, "lndrest": { "description": "lndrest.py doesn't handle the 'failed' status for `get_invoice_status`", "get_invoice_status_endpoint": [] }, "alby": { "description": "alby.py doesn't handle the 'failed' status for `get_invoice_status`", "get_invoice_status_endpoint": [] }, "eclair": { "get_invoice_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": { "status": { "type": "expired" } } } ] }, "lnbits": { "description": "lnbits.py doesn't handle the 'failed' status for `get_invoice_status`", "get_invoice_status_endpoint": [] }, "phoenixd": { "description": "phoenixd.py doesn't handle the 'failed' status for `get_invoice_status`", "get_invoice_status_endpoint": [] } } }, { "description": "pending", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "success": false, "failed": false, "pending": true }, "mocks": { "corelightningrest": { "get_invoice_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "error status", "response_type": "json", "response": { "error": "test-error" } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lndrest": { "get_invoice_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "error status", "response_type": "json", "response": { "seetled": false } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "alby": { "get_invoice_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "error status", "response_type": "json", "response": { "status": "CREATED" } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "eclair": { "get_invoice_status_endpoint": [ { "description": "no data", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": {} }, { "description": "pending status", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": { "status": { "type": "pending" } } }, { "description": "bad json", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lnbits": { "get_invoice_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "pending true", "response_type": "json", "response": { "paid": false, "details": { "pending": true } } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "phoenixd": { "get_invoice_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "not paid", "response_type": "json", "response": { "isPaid": false } }, { "description": "paid and missing data", "response_type": "json", "response": { "isPaid": true } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] } } }, { "description": "no mocks", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "success": false, "failed": false, "pending": true } } ] }, "get_payment_status": { "mocks": { "corelightningrest": { "get_payment_status_endpoint": { "uri": "/v1/pay/listPays", "query_params": { "payment_hash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "headers": { "macaroon": "eNcRyPtEdMaCaRoOn", "encodingtype": "hex", "accept": "application/json", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "lndrest": { "get_payment_status_endpoint": { "uri": "/v2/router/track/41UmpD0E6YVZTA36uEiBT1JLHHhlmOyaY77dstcmrJY=", "headers": { "Grpc-Metadata-macaroon": "eNcRyPtEdMaCaRoOn", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "alby": { "get_payment_status_endpoint": { "uri": "/invoices/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "Authorization": "Bearer mock-alby-access-token", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "eclair": { "get_payment_status_endpoint": { "uri": "/getsentinfo", "headers": { "Authorization": "Basic OnNlY3JldA==", "User-Agent": "LNbits/Tests" }, "method": "POST" } }, "lnbits": { "get_payment_status_endpoint": { "uri": "/api/v1/payments/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "X-Api-Key": "f171ba022a764e679eef950b21fb1c04", "User-Agent": "LNbits/Tests" }, "method": "GET" } }, "phoenixd": { "get_payment_status_endpoint": { "uri": "/payments/outgoing/e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96", "headers": { "Authorization": "Basic OmYxNzFiYTAyMmE3NjRlNjc5ZWVmOTUwYjIxZmIxYzA0ZjE3MWJhMDIyYTc2NGU2NzllZWY5NTBiMjFmYjFjMDQ=", "User-Agent": "LNbits/Tests" }, "method": "GET" } } }, "tests": [ { "description": "paid", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "fee_msat": 1000, "preimage": "0000000000000000000000000000000000000000000000000000000000000000", "success": true, "failed": false, "pending": false }, "mocks": { "corelightningrest": { "get_payment_status_endpoint": [ { "response_type": "json", "response": { "pays": [ { "status": "complete", "amount_msat": "21000msat", "amount_sent_msat": "-22000msat", "preimage": "0000000000000000000000000000000000000000000000000000000000000000" } ] } } ] }, "lndrest": { "get_payment_status_endpoint": [ { "response_type": "stream", "response": { "result": { "status": "SUCCEEDED", "fee_msat": 1000, "payment_preimage": "0000000000000000000000000000000000000000000000000000000000000000" } } } ] }, "alby": { "get_payment_status_endpoint": [ { "skip": true, "response_type": "json", "response": { "result": { "status": "SETTLED" } } } ] }, "eclair": { "get_payment_status_endpoint": [ { "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [ { "status": { "type": "sent", "feesPaid": -1000, "paymentPreimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] } ] }, "lnbits": { "get_payment_status_endpoint": [ { "response_type": "json", "response": { "paid": true, "preimage": "0000000000000000000000000000000000000000000000000000000000000000", "details": { "fee": 1000 } } } ] }, "phoenixd": { "get_payment_status_endpoint": [ { "response_type": "json", "response": { "isPaid": true, "fees": 1000, "preimage": "0000000000000000000000000000000000000000000000000000000000000000" } } ] } } }, { "description": "failed", "description1": "pending should be false in the 'expect', this is a bug", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "preimage": null, "success": false, "failed": true, "pending": true }, "mocks": { "corelightningrest": { "get_payment_status_endpoint": [ { "response_type": "json", "response": { "pays": [ { "status": "failed" } ] } } ] }, "lndrest": { "get_payment_status_endpoint": [ { "response_type": "stream", "response": { "result": { "status": "FAILED" } } }, { "description": "error code 5", "response_type": "stream", "response": { "error": { "code": 5, "message": "payment isn't initiated" } } } ] }, "alby": { "get_payment_status_endpoint": [] }, "eclair": { "get_payment_status_endpoint": [ { "description": "failed status", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [ { "status": { "type": "failed" } } ] } ] }, "lnbits": { "get_payment_status_endpoint": [ { "response_type": "json", "response": { "paid": false, "status": "failed", "preimage": "0000000000000000000000000000000000000000000000000000000000000000", "details": {} } } ] }, "phoenixd": { "description": "phoenixd.py doesn't handle the 'failed' status for `get_invoice_status`", "get_payment_status_endpoint": [] } } }, { "description": "pending", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "preimage": null, "success": false, "failed": false, "pending": true }, "mocks": { "corelightningrest": { "get_payment_status_endpoint": [ { "description": "pending status", "response_type": "json", "response": { "pays": [ { "status": "pending" } ] } }, { "description": "no data", "response_type": "json", "response": {} }, { "description": "error status", "response_type": "json", "response": { "error": "test-error" } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lndrest": { "get_payment_status_endpoint": [ { "description": "UNKNOWN", "response_type": "stream", "response": { "result": { "status": "UNKNOWN" } } }, { "description": "IN_FLIGHT", "response_type": "stream", "response": { "result": { "status": "IN_FLIGHT" } } }, { "description": "error code 4", "response_type": "stream", "response": { "error": { "code": 5, "message": "should not fail" } } }, { "description": "no data", "response_type": "stream", "response": {} }, { "description": "bad json", "response_type": "stream", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "alby": { "get_payment_status_endpoint": [ { "description": "CREATED", "response_type": "stream", "response": { "state": "CREATED" } }, { "description": "no data", "response_type": "stream", "response": {} }, { "description": "bad json", "response_type": "stream", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "eclair": { "get_payment_status_endpoint": [ { "description": "no data", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [] }, { "description": "pending status", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "json", "response": [ { "status": { "type": "pending" } } ] }, { "description": "bad json", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "request_type": "json", "request_body": { "paymentHash": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "lnbits": { "get_payment_status_endpoint": [ { "description": "pending true", "response_type": "json", "response": { "paid": false, "details": { "pending": true } } }, { "description": "no data", "response_type": "json", "response": {} }, { "description": "missing 'paid' field", "response_type": "json", "response": { "details": { "pending": true } } }, { "description": "missing 'details' field", "response_type": "json", "response": { "paid": true } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] }, "phoenixd": { "get_payment_status_endpoint": [ { "description": "no data", "response_type": "json", "response": {} }, { "description": "not paid", "response_type": "json", "response": { "isPaid": false } }, { "description": "paid and missing data", "response_type": "json", "response": { "isPaid": true } }, { "description": "bad json", "response_type": "data", "response": "data-not-json" }, { "description": "http 404", "response_type": "response", "response": { "response": "Not Found", "status": 404 } } ] } } }, { "description": "no mocks", "call_params": { "checking_id": "e35526a43d04e985594c0dfab848814f524b1c786598ec9a63beddb2d726ac96" }, "expect": { "preimage": null, "success": false, "failed": false, "pending": true } } ] } } }