Mega-merge 1: Test invoice creation with description hash (WIP) (#812)

* check for description hash

* remove unnecessary asserts for clarity

* assume that description_hash is a hash already

* no lock

* restore bolt11.py

* /api/v1/payments with hex of description

* comment
This commit is contained in:
calle
2022-08-01 16:12:25 +02:00
committed by GitHub
parent a1919e0619
commit c88e6b0e62
2 changed files with 26 additions and 5 deletions
+25
View File
@@ -1,8 +1,15 @@
import pytest
import pytest_asyncio
import hashlib
from binascii import hexlify
from lnbits import bolt11
from lnbits.core.crud import get_wallet
from lnbits.core.views.api import api_payment
from lnbits.core.views.api import api_payments_create_invoice, CreateInvoiceData
from ...helpers import get_random_invoice_data
# check if the client is working
@@ -179,3 +186,21 @@ async def test_api_payment_with_key(invoice, inkey_headers_from):
assert type(response) == dict
assert response["paid"] == True
assert "details" in response
# check POST /api/v1/payments: invoice creation with a description hash
@pytest.mark.asyncio
async def test_create_invoice_with_description_hash(client, inkey_headers_to):
data = await get_random_invoice_data()
descr_hash = hashlib.sha256("asdasdasd".encode("utf-8")).hexdigest()
data["description_hash"] = "asdasdasd".encode("utf-8").hex()
response = await client.post(
"/api/v1/payments", json=data, headers=inkey_headers_to
)
invoice = response.json()
invoice_bolt11 = bolt11.decode(invoice["payment_request"])
assert invoice_bolt11.description_hash == descr_hash
assert invoice_bolt11.description is None
return invoice