mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-24 20:14:21 +01:00
* clean up db * db: table lock * db.table_with_schema * fix encrypt.py * postgres nowait * add timeout to lock * melt quote state in db * kinda working * kinda working with postgres * remove dispose * getting there * porperly clean up db for tests * faster tests * configure connection pooling * try github with connection pool * invoice dispatcher does not lock db * fakewallet: pay_if_regtest waits * pay fakewallet invoices * add more * faster * slower * pay_if_regtest async * do not lock the invoice dispatcher * test: do I get disk I/O errors if we disable the invoice_callback_dispatcher? * fix fake so it workss without a callback dispatchert * test on github * readd tasks * refactor * increase time for lock invoice disatcher * try avoiding a race * remove task * github actions: test regtest with postgres * mint per module * no connection pool for testing * enable pool * do not resend paid event * reuse connection * close db connections * sessions * enable debug * dispose engine * disable connection pool for tests * enable connection pool for postgres only * clean up shutdown routine * remove wait for lightning fakewallet lightning invoice * cancel invoice listener tasks on shutdown * fakewallet conftest: decrease outgoing delay * delay payment and set postgres only if needed * disable fail fast for regtest * clean up regtest.yml * change order of tests_db.py * row-specific mint_quote locking * refactor * fix lock statement * refactor swap * refactor * remove psycopg2 * add connection string example to .env.example * remove unnecessary pay * shorter sleep in test_wallet_subscription_swap
51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
name: tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
python-version:
|
|
default: "3.10.4"
|
|
type: string
|
|
poetry-version:
|
|
default: "1.7.1"
|
|
type: string
|
|
mint-database:
|
|
default: ""
|
|
type: string
|
|
os:
|
|
default: "ubuntu-latest"
|
|
type: string
|
|
mint-only-deprecated:
|
|
default: "false"
|
|
type: string
|
|
|
|
jobs:
|
|
poetry:
|
|
name: Run (db ${{ inputs.mint-database }}, deprecated api ${{ inputs.mint-only-deprecated }})
|
|
runs-on: ${{ inputs.os }}
|
|
steps:
|
|
- name: Start PostgreSQL service
|
|
if: contains(inputs.mint-database, 'postgres')
|
|
run: |
|
|
docker run -d --name postgres -e POSTGRES_USER=cashu -e POSTGRES_PASSWORD=cashu -e POSTGRES_DB=cashu -p 5432:5432 postgres:latest
|
|
until docker exec postgres pg_isready; do sleep 1; done
|
|
- name: Checkout repository and submodules
|
|
uses: actions/checkout@v2
|
|
- uses: ./.github/actions/prepare
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
poetry-version: ${{ inputs.poetry-version }}
|
|
- name: Run tests
|
|
env:
|
|
MINT_BACKEND_BOLT11_SAT: FakeWallet
|
|
WALLET_NAME: test_wallet
|
|
MINT_HOST: localhost
|
|
MINT_PORT: 3337
|
|
MINT_TEST_DATABASE: ${{ inputs.mint-database }}
|
|
DEBUG_MINT_ONLY_DEPRECATED: ${{ inputs.mint-only-deprecated }}
|
|
TOR: false
|
|
run: |
|
|
make test
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v3
|