-
-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Mint: Add LndRest and regtest tests (#359)
* update * working * test with lnd * update action * cache poetry * add lndrest * enable regtest * add regtests.yml * poetry version * add helpers * save * run legend regtest fork * actually start * use bash * give rights * remove cache? * change order * tests succeed with lndrestwallet * check if wallet is set * settings for regtest * fix fakewallet test * remove wacky balance check * adjust permissions * try with sudo * adjust example * remove eclair
- Loading branch information
Showing
21 changed files
with
816 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: prepare | ||
|
||
inputs: | ||
python-version: | ||
description: "Python Version" | ||
required: true | ||
default: "3.10" | ||
poetry-version: | ||
description: "Poetry Version" | ||
default: "1.5.1" | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Set up Poetry ${{ inputs.poetry-version }} | ||
uses: abatilo/actions-poetry@v2 | ||
with: | ||
poetry-version: ${{ inputs.poetry-version }} | ||
- name: Set up Python ${{ inputs.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
cache: "poetry" | ||
- name: Install dependencies | ||
run: | | ||
poetry install --extras pgsql | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Nutshell CI | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
jobs: | ||
checks: | ||
uses: ./.github/workflows/checks.yml | ||
tests: | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest] | ||
python-version: ["3.9", "3.10"] | ||
poetry-version: ["1.5.1"] | ||
# db-url: ["", "postgres://cashu:cashu@localhost:5432/test"] # TODO: Postgres test not working | ||
db-url: [""] | ||
backend-wallet-class: ["FakeWallet"] | ||
uses: ./.github/workflows/tests.yml | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
poetry-version: ${{ matrix.poetry-version }} | ||
regtest: | ||
uses: ./.github/workflows/regtest.yml | ||
strategy: | ||
matrix: | ||
python-version: ["3.10"] | ||
poetry-version: ["1.5.1"] | ||
backend-wallet-class: ["LndRestWallet", "LNbitsWallet"] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
backend-wallet-class: ${{ matrix.backend-wallet-class }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
name: regtest | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
python-version: | ||
default: "3.10.4" | ||
type: string | ||
poetry-version: | ||
default: "1.5.1" | ||
type: string | ||
os-version: | ||
default: "ubuntu-latest" | ||
type: string | ||
db-url: | ||
default: "" | ||
type: string | ||
backend-wallet-class: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
regtest: | ||
runs-on: ${{ inputs.os-version }} | ||
timeout-minutes: 10 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: ./.github/actions/prepare | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
poetry-version: ${{ inputs.poetry-version }} | ||
|
||
- name: Setup Regtest | ||
run: | | ||
git clone https://github.com/callebtc/cashu-regtest-enviroment.git regtest | ||
cd regtest | ||
chmod -R 777 . | ||
bash ./start.sh | ||
- name: Create fake admin | ||
if: ${{ inputs.backend-wallet-class == 'LNbitsWallet' }} | ||
run: docker exec cashu-lnbits-1 poetry run python tools/create_fake_admin.py | ||
|
||
- name: Run Tests | ||
env: | ||
WALLET_NAME: test_wallet | ||
MINT_HOST: localhost | ||
MINT_PORT: 3337 | ||
MINT_DATABASE: ${{ inputs.db-url }} | ||
TOR: false | ||
MINT_LIGHTNING_BACKEND: ${{ inputs.backend-wallet-class }} | ||
MINT_LNBITS_ENDPOINT: http://localhost:5001 | ||
MINT_LNBITS_KEY: d08a3313322a4514af75d488bcc27eee | ||
MINT_LND_REST_ENDPOINT: https://localhost:8081/ | ||
MINT_LND_REST_CERT: ./regtest/data/lnd-3/tls.cert | ||
MINT_LND_REST_MACAROON: ./regtest/data/lnd-3/data/chain/bitcoin/regtest/admin.macaroon | ||
# LND_GRPC_ENDPOINT: localhost | ||
# LND_GRPC_PORT: 10009 | ||
# LND_GRPC_CERT: docker/data/lnd-3/tls.cert | ||
# LND_GRPC_MACAROON: docker/data/lnd-3/data/chain/bitcoin/regtest/admin.macaroon | ||
# CORELIGHTNING_RPC: ./docker/data/clightning-1/regtest/lightning-rpc | ||
# CORELIGHTNING_REST_URL: https://localhost:3001 | ||
# CORELIGHTNING_REST_MACAROON: ./docker/data/clightning-2-rest/access.macaroon | ||
# CORELIGHTNING_REST_CERT: ./docker/data/clightning-2-rest/certificate.pem | ||
run: | | ||
sudo chmod -R 777 . | ||
make test | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
file: ./coverage.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,8 @@ | ||
# type: ignore | ||
from ..core.settings import settings | ||
from .fake import FakeWallet # noqa: F401 | ||
from .lnbits import LNbitsWallet # noqa: F401 | ||
from .lndrest import LndRestWallet # noqa: F401 | ||
|
||
if settings.mint_lightning_backend is None: | ||
raise Exception("MINT_LIGHTNING_BACKEND not configured") |
Oops, something went wrong.