btcpayserver/BTCPayServer.Tests
2020-07-30 10:01:56 +09:00
..
AltcoinTests Run tests on the altcoin build for maximum coverage 2020-07-29 20:49:46 +09:00
Lnd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Logging Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Mocks Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Properties Modifying launchSettings.json to follow 2 space indent convention 2020-07-11 16:45:44 -05:00
TestData Including walletunlock.json file in TestData for easier debugging 2019-11-10 06:19:59 -06:00
ApiKeysTests.cs Run dotnet format 2020-06-28 17:55:27 +09:00
BTCPayServer.Tests.csproj Separate docker-compose and launch profiles 2020-07-29 19:38:58 +09:00
BTCPayServerTester.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
ChangellyTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
ChargeTester.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
CheckoutUITests.cs Isolate altcoins tests in their own folder 2020-07-29 19:11:54 +09:00
CoinSwitchTests.cs Run dotnet format 2020-06-28 17:55:27 +09:00
CrowdfundTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
CustomerHttpServer.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
docker-bitcoin-cli.ps1 Fix all script because of docker-compose team screwing up (https://github.com/docker/compose/issues/6316) 2018-11-22 16:16:10 +09:00
docker-bitcoin-cli.sh Fix all script because of docker-compose team screwing up (https://github.com/docker/compose/issues/6316) 2018-11-22 16:16:10 +09:00
docker-bitcoin-generate.ps1 Add cmd tools to generate blocks 2019-05-08 12:19:16 +09:00
docker-bitcoin-generate.sh Add bitcoin generate shell script 2020-04-07 18:13:47 +02:00
docker-compose.altcoins.yml Run tests on the altcoin build for maximum coverage 2020-07-29 20:49:46 +09:00
docker-compose.yml Merge pull request #1782 from xpayserver/btc-only 2020-07-29 21:58:28 +09:00
docker-customer-lightning-cli.ps1 Fix docker-customer-lightning-cli.ps1 pay doesn't work (Fix #1509) 2020-04-27 03:59:16 +09:00
docker-customer-lightning-cli.sh Fix docker-customer-lightning-cli.ps1 pay doesn't work (Fix #1509) 2020-04-27 03:59:16 +09:00
docker-elements.ps1 Decimal precision and filter valid transaction (#1538) 2020-05-04 01:04:34 +09:00
docker-entrypoint.sh Run tests on the altcoin build for maximum coverage 2020-07-29 20:49:46 +09:00
docker-litecoin-cli.ps1 Fix all script because of docker-compose team screwing up (https://github.com/docker/compose/issues/6316) 2018-11-22 16:16:10 +09:00
docker-litecoin-cli.sh Fix all script because of docker-compose team screwing up (https://github.com/docker/compose/issues/6316) 2018-11-22 16:16:10 +09:00
docker-merchant-lightning-cli.ps1 Fix docker-customer-lightning-cli.ps1 pay doesn't work (Fix #1509) 2020-04-27 03:59:16 +09:00
docker-merchant-lightning-cli.sh Fix docker-customer-lightning-cli.ps1 pay doesn't work (Fix #1509) 2020-04-27 03:59:16 +09:00
Dockerfile Run tests on the altcoin build for maximum coverage 2020-07-29 20:49:46 +09:00
Extensions.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
FakeServer.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
GreenfieldAPITests.cs Make Decimal json converter work for other number types 2020-07-29 08:44:52 +02:00
LightningDTester.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
MockDelay.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
PayJoinTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
PaymentHandlerTest.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
PaymentRequestTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
ProcessLauncher.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
PSBTTests.cs ad psbt base64 file upload test 2020-07-14 09:52:17 +02:00
RateRulesTest.cs Cleaning up bom from cs files 2020-06-28 21:44:35 -05:00
README.md Separate docker-compose and launch profiles 2020-07-29 19:38:58 +09:00
SeleniumTester.cs Seed-lookup related test fixes 2020-07-17 18:00:08 +02:00
SeleniumTests.cs Isolate altcoins tests in their own folder 2020-07-29 19:11:54 +09:00
ServerTester.cs Isolate altcoins tests in their own folder 2020-07-29 19:11:54 +09:00
sshd.Dockerfile Add sshd service so we can test SSH stuff as well 2019-09-06 16:51:49 +09:00
StorageTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
TestAccount.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
TestUtils.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
U2FTests.cs Run dotnet format 2020-06-28 17:55:27 +09:00
UnitTest1.cs Use CsvHelper for generating CSV 2020-07-30 10:01:56 +09:00
UtilitiesTests.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Utils.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
xunit.runner.json Fix: Do not returns HTML content if authentication to API fails 2020-05-01 21:33:42 +09:00

How to be started for development

BTCPay Server tests depend on having a proper environment running with Postgres, Bitcoind, NBxplorer configured. You can however use the BTCPayServer.Tests/docker-compose.yml to get it running.

In addition, when you run a debug session of BTCPay (Hitting F5 on Visual Studio Code or Visual Studio 2017), it will run the launch profile called Docker-Regtest. This launch profile depends on this docker-compose running.

This is running a bitcoind instance on regtest, a private bitcoin blockchain for testing on which you can generate blocks yourself.

docker-compose up dev

You can run the tests while it is running through your favorite IDE, or with

dotnet test

Once you want to stop

docker-compose down

If you want to stop, and remove all existing data

docker-compose down --v

You can run tests on MySql database instead of Postgres by setting environnement variable TESTS_DB equals to MySql.

How to test altcoins

Follow the above instruction except the docker-compose command should be docker-compose -f docker-compose.altcoins.yml.

This will run monero, ltc and liquid dependencies.

How to manually test payments

Using the test bitcoin-cli

You can call bitcoin-cli inside the container with docker exec. For example, if you want to send 0.23111090 to mohu16LH66ptoWGEL1GtP6KHTBJYXMWhEf:

./docker-bitcoin-cli.sh sendtoaddress "mohu16LH66ptoWGEL1GtP6KHTBJYXMWhEf" 0.23111090

If you are using Powershell:

.\docker-bitcoin-cli.ps1 sendtoaddress "mohu16LH66ptoWGEL1GtP6KHTBJYXMWhEf" 0.23111090

You can also generate blocks:

.\docker-bitcoin-generate.ps1 3

Using the test litecoin-cli

Same as bitcoin-cli, but with .\docker-litecoin-cli.ps1 and .\docker-litecoin-cli.sh instead.

Using the test lightning-cli

If you are using Linux:

./docker-customer-lightning-cli.sh pay lnbcrt100u1pd2e6uspp5ajnadvhazjrz55twd5k6yeg9u87wpw0q2fdr7g960yl5asv5fmnqdq9d3hkccqpxmedyrk0ehw5ueqx5e0r4qrrv74cewddfcvsxaawqz7634cmjj39sqwy5tvhz0hasktkk6t9pqfdh3edmf3z09zst5y7khv3rvxh8ctqqw6mwhh

If you are using Powershell:

.\docker-customer-lightning-cli.ps1 pay lnbcrt100u1pd2e6uspp5ajnadvhazjrz55twd5k6yeg9u87wpw0q2fdr7g960yl5asv5fmnqdq9d3hkccqpxmedyrk0ehw5ueqx5e0r4qrrv74cewddfcvsxaawqz7634cmjj39sqwy5tvhz0hasktkk6t9pqfdh3edmf3z09zst5y7khv3rvxh8ctqqw6mwhh

If you get this message:

{ "code" : 205, "message" : "Could not find a route", "data" : { "getroute_tries" : 1, "sendpay_tries" : 0 } }

Please, run the test CanSetLightningServer, this will establish a channel between the customer and the merchant, then, retry.

FAQ

docker-compose up dev failed or tests are not passing, what should I do?

  1. Run docker-compose down --v (this will reset your test environment)
  2. Run docker-compose pull (this will ensure you have the lastest images)
  3. Run again with docker-compose up dev

If you still have issues, try to restart docker.