chore: update pyright to latest and fix new issues (#3978)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from typing import cast
|
||||
from uuid import uuid4
|
||||
|
||||
import pytest
|
||||
@@ -106,7 +107,7 @@ async def test_lnurl_api_auth_and_pay_flow(mocker):
|
||||
await api_perform_lnurlauth(auth_response, wallet_info)
|
||||
|
||||
action_response = LnurlPayActionResponse(
|
||||
pr=LightningInvoice(TEST_BOLT11),
|
||||
pr=cast(LightningInvoice, LightningInvoice(TEST_BOLT11)),
|
||||
disposable=False,
|
||||
successAction=parse_obj_as(MessageAction, {"message": "paid"}),
|
||||
)
|
||||
|
||||
@@ -161,7 +161,7 @@ async def test_payment_api_fee_reserve_and_hold_invoice_actions(mocker):
|
||||
wallet.id, CreateInvoice(out=False, amount=42, memo="reserve")
|
||||
)
|
||||
reserve = await api_payments_fee_reserve(invoice.bolt11)
|
||||
assert json.loads(reserve.body)["fee_reserve"] >= 0
|
||||
assert json.loads(bytes(reserve.body))["fee_reserve"] >= 0
|
||||
|
||||
with pytest.raises(HTTPException, match="Invoice has no amount."):
|
||||
await api_payments_fee_reserve(ZERO_AMOUNT_INVOICE)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from typing import cast
|
||||
from uuid import uuid4
|
||||
|
||||
import pytest
|
||||
@@ -86,7 +87,9 @@ async def test_get_pr_from_lnurl_success_and_error(mocker: MockerFixture):
|
||||
mocker.patch(
|
||||
"lnbits.core.services.lnurl.execute_pay_request",
|
||||
mocker.AsyncMock(
|
||||
return_value=LnurlPayActionResponse(pr=LightningInvoice(TEST_BOLT11))
|
||||
return_value=LnurlPayActionResponse(
|
||||
pr=cast(LightningInvoice, LightningInvoice(TEST_BOLT11))
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
@@ -106,7 +109,7 @@ async def test_fetch_lnurl_pay_request_converts_currency_and_stores_paylink(
|
||||
):
|
||||
pay_response = make_lnurl_pay_response(min_sendable_msat=1, text="Test")
|
||||
action_response = LnurlPayActionResponse(
|
||||
pr=LightningInvoice(TEST_BOLT11), disposable=False
|
||||
pr=cast(LightningInvoice, LightningInvoice(TEST_BOLT11)), disposable=False
|
||||
)
|
||||
mocker.patch(
|
||||
"lnbits.core.services.lnurl.fiat_amount_as_satoshis",
|
||||
@@ -143,7 +146,7 @@ async def test_store_paylink_appends_and_updates_existing():
|
||||
wallet = await _create_wallet()
|
||||
pay_response = make_lnurl_pay_response(min_sendable_msat=1, text="Test")
|
||||
action_response = LnurlPayActionResponse(
|
||||
pr=LightningInvoice(TEST_BOLT11), disposable=False
|
||||
pr=cast(LightningInvoice, LightningInvoice(TEST_BOLT11)), disposable=False
|
||||
)
|
||||
|
||||
await store_paylink(
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from typing import Any
|
||||
from uuid import uuid4
|
||||
|
||||
import pytest
|
||||
@@ -66,7 +67,7 @@ async def test_create_user_account_no_check_rejects_duplicate_identity_fields(
|
||||
existing = _account(**existing_data)
|
||||
await create_account(existing)
|
||||
|
||||
resolved = {
|
||||
resolved: dict[str, Any] = {
|
||||
key: (value(existing) if callable(value) else value)
|
||||
for key, value in new_data.items()
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from typing import Any
|
||||
|
||||
import pytest
|
||||
from pytest_mock.plugin import MockerFixture
|
||||
|
||||
@@ -14,22 +16,22 @@ from lnbits.settings import (
|
||||
set_cli_settings,
|
||||
)
|
||||
|
||||
lnurlp_redirect_path = {
|
||||
lnurlp_redirect_path: dict[str, Any] = {
|
||||
"from_path": "/.well-known/lnurlp",
|
||||
"redirect_to_path": "/api/v1/well-known",
|
||||
}
|
||||
lnurlp_redirect_path_with_headers = {
|
||||
lnurlp_redirect_path_with_headers: dict[str, Any] = {
|
||||
"from_path": "/.well-known/lnurlp",
|
||||
"redirect_to_path": "/api/v1/well-known",
|
||||
"header_filters": {"accept": "application/nostr+json"},
|
||||
}
|
||||
|
||||
lnaddress_redirect_path = {
|
||||
lnaddress_redirect_path: dict[str, Any] = {
|
||||
"from_path": "/.well-known/lnurlp",
|
||||
"redirect_to_path": "/api/v1/well-known",
|
||||
}
|
||||
|
||||
nostrrelay_redirect_path = {
|
||||
nostrrelay_redirect_path: dict[str, Any] = {
|
||||
"from_path": "/",
|
||||
"redirect_to_path": "/api/v1/relay-info",
|
||||
"header_filters": {"accept": "application/nostr+json"},
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
from typing import cast
|
||||
|
||||
import pytest
|
||||
from loguru import logger
|
||||
@@ -29,7 +30,7 @@ logger.info(f"settings.blink_api_endpoint: {settings.blink_api_endpoint}")
|
||||
logger.info(f"settings.blink_token: {settings.blink_token}")
|
||||
|
||||
set_funding_source()
|
||||
funding_source = get_funding_source()
|
||||
funding_source = cast(BlinkWallet, get_funding_source())
|
||||
assert isinstance(funding_source, BlinkWallet)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import importlib
|
||||
from typing import Any
|
||||
from unittest.mock import AsyncMock, Mock
|
||||
|
||||
import pytest
|
||||
@@ -80,7 +81,9 @@ def _check_calls(expected_calls):
|
||||
for func_call in func_calls:
|
||||
req = func_call["request_data"]
|
||||
args = req["args"] if "args" in req else {}
|
||||
kwargs = _eval_dict(req["kwargs"]) if "kwargs" in req else {}
|
||||
kwargs: dict[str, Any] = (
|
||||
_eval_dict(req["kwargs"]) or {} if "kwargs" in req else {}
|
||||
)
|
||||
|
||||
if "klass" in req:
|
||||
*rest, cls = req["klass"].split(".")
|
||||
@@ -166,7 +169,7 @@ def _mock_field(field):
|
||||
return response
|
||||
|
||||
|
||||
def _eval_dict(data: dict | None) -> dict | None:
|
||||
def _eval_dict(data: dict | None) -> dict[str, Any] | None:
|
||||
fn_prefix = "__eval__:"
|
||||
if not data:
|
||||
return data
|
||||
@@ -215,9 +218,9 @@ def _data_mock(data: dict) -> Mock:
|
||||
def _raise(error: dict | None):
|
||||
if not error:
|
||||
return Exception()
|
||||
data = error["data"] if "data" in error else None
|
||||
data: dict[str, Any] = error["data"] if "data" in error else {}
|
||||
if "module" not in error or "class" not in error:
|
||||
return Exception(data)
|
||||
return Exception(data or None)
|
||||
|
||||
error_module = importlib.import_module(error["module"])
|
||||
error_class = getattr(error_module, error["class"])
|
||||
|
||||
Reference in New Issue
Block a user