mirror of
https://github.com/lnbits/lnbits.git
synced 2025-06-30 18:40:58 +02:00
test: add tests for alby (#2390)
* test: initial commit * chore: code format * fix: comment out bad `status.pending` (to be fixed in core) * fix: 404 tests * test: extract first `create_invoice` test * chore: reminder * add: error test * chore: experiment * feat: adapt parsing * refactor: data structure * fix: some tests * fix: make response uniform * fix: test data * chore: clean-up * fix: uniform responses * fix: user agent * fix: user agent * fix: user-agent again * test: add `with error` test * feat: customize test name * fix: better exception handling for `status` * fix: add `try-catch` for `raise_for_status` * test: with no mocks * chore: clean-up generalized tests * chore: code format * chore: code format * chore: remove extracted tests * test: add `create_invoice`: error test * add: test for `create_invoice` with http 404 * test: extract `test_pay_invoice_ok` * test: extract `test_pay_invoice_error_response` * test: extract `test_pay_invoice_http_404` * test: add "missing data" * test: add `bad-json` * test: add `no mocks` for `create_invoice` * test: add `no mocks` for `pay_invoice` * test: add `bad json` tests * chore: re-order tests * test: add `missing data` test for `pay_imvoice` * chore: re-order tests * test: add `success` test for `get_invoice_status ` * feat: update test structure * test: new status * test: add more test * chore: code clean-up * test: add success test for `get_payment_status ` * test: add `pending` tests for `check_payment_status` * chore: remove extracted tests * test: add more tests * test: add `no mocks` test * fix: funding source loading * refactor: start to extract data model * chore: final clean-up * chore: rename file * test: add tests for alby * refactor: `KeyError` handling * chore: log error * chore: skip the negative fee test * fix: error message fetching
This commit is contained in:
@ -209,7 +209,13 @@ def rest_wallet_fixtures_from_json(path) -> List["WalletTest"]:
|
||||
}
|
||||
)
|
||||
if "mocks" in test:
|
||||
if fs_name not in test["mocks"]:
|
||||
t.skip = True
|
||||
tests[fs_name].append(t)
|
||||
continue
|
||||
|
||||
test_mocks_names = test["mocks"][fs_name]
|
||||
|
||||
fs_mocks = fn["mocks"][fs_name]
|
||||
for mock_name in fs_mocks:
|
||||
for test_mock in test_mocks_names[mock_name]:
|
||||
@ -223,6 +229,7 @@ def rest_wallet_fixtures_from_json(path) -> List["WalletTest"]:
|
||||
f"""{t.description}:{mock.description or ""}"""
|
||||
)
|
||||
unique_test.mocks = t.mocks + [mock]
|
||||
unique_test.skip = mock.skip
|
||||
|
||||
tests[fs_name].append(unique_test)
|
||||
else:
|
||||
@ -246,6 +253,7 @@ class FunctionMock(BaseModel):
|
||||
|
||||
|
||||
class TestMock(BaseModel):
|
||||
skip: Optional[bool]
|
||||
description: Optional[str]
|
||||
request_type: Optional[str]
|
||||
request_body: Optional[dict]
|
||||
@ -279,6 +287,7 @@ class FunctionData(BaseModel):
|
||||
|
||||
|
||||
class WalletTest(BaseModel):
|
||||
skip: Optional[bool]
|
||||
function: str
|
||||
description: str
|
||||
funding_source: FundingSourceConfig
|
||||
|
Reference in New Issue
Block a user