commit 94dfcc2f94d2f4ebfc2d86bce3ed479452f6ec72
parent d37e9b43772084ff22ca7ff52c5115a2dde78a8d
Author: Antoine A <>
Date: Wed, 7 May 2025 13:30:21 +0200
checklists
Diffstat:
4 files changed, 200 insertions(+), 177 deletions(-)
diff --git a/checklists/checklist-demo-upgrade.rst b/checklists/checklist-demo-upgrade.rst
@@ -1,5 +1,7 @@
GNU Taler Demo Upgrade Checklist
---------------------------------
+================================
+
+.. toctree::
.. |democheck| raw:: html
@@ -7,14 +9,14 @@ GNU Taler Demo Upgrade Checklist
Domains
-^^^^^^^
+-------
The checklist uses the ``demo.taler.net`` domains. However,
the same sandcastle demo can also be hosted at other domains.
The same instructions should apply.
Post-upgrade checks
-^^^^^^^^^^^^^^^^^^^
+-------------------
- |democheck| Run the headless wallet to check that services are actually working:
@@ -24,7 +26,7 @@ Post-upgrade checks
Basics
-^^^^^^
+-------
- |democheck| Visit https://demo.taler.net/ to see if the landing page is displayed correctly
- |democheck| landing language switcher
@@ -32,19 +34,10 @@ Basics
- |democheck| see if the wallet presence indicator is updated correctly (in browsers).
- |democheck| Visit https://exchange.demo.taler.net/terms to check ToS works
-Wallets
-^^^^^^^
-
-We consider the following published wallets to be "production wallets":
-
-* Browser: Firefox Add-On Store
-* Browser: Chrome Web Store
-* Android: Google Play / F-Droid / APK
-* iOS: Apple Store / Testflight
-libeufin - Withdraw & Deposit
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LibEuFIn
+--------
To run those test you need one wallet.
@@ -54,41 +47,6 @@ To run those test you need one wallet.
- |democheck| bank logout
- |democheck| bank login
-- |democheck| wallet withdrawal payto-URI
-
- - trigger withdraw from wallet & copy URI
- - paste URI in bank & pay more
- - wallet redirect to success and receive more
- - paste URI in bank & pay -> bounce
-
-- |democheck| bank withdrawal success
-
- - bank trigger withdrawal & save QR code
- - wallet scan QR code
- - bank pay
- - wallet redirect to success
- - wallet scan QR code -> redirect to success
-
-- |democheck| bank withdrawal failure
-
- - bank trigger withdrawal
- - wallet scan QR code
- - bank cancel
- - wallet redirect to failure
- - wallet scan QR code -> redirect to failure
-
-- |democheck| deposit existing account
-
- - check bank1 account is already registered
- - trigger deposit using bank1
- - check deposit in bank1 account
-
-- |democheck| deposit new account
-
- - add bank2 account
- - trigger deposit using bank2
- - check deposit in bank2 account
-
- |democheck| account management
- add bank2 again -> create duplicate (TODO redirection a warning https://bugs.gnunet.org/view.php?id=9698)
@@ -105,123 +63,11 @@ To run those test you need one wallet.
- |democheck| (MB-only) manually import transactions from bank account
- |democheck| (MB-only) manually export transactions to bank account
-P2P payments
-^^^^^^^^^^^^
-
-To run those test you need three wallets, you should ideally use three different platforms.
-
-TODO: some pay* interactions should become unnecessary in a future update: https://bugs.gnunet.org/view.php?id=9670
-TODO: check different kind of failure (aborted, expired, already complete by another wallet) are correctly shown
-
-Concurrent flow
-""""""""""""""""
-
-Test what happens when two wallets compete on the same payment.
-
-- initiate payment in wallet1 and save URI
-- scan QR code in wallet2 & wallet3
-- pay with wallet2 -> redirect to success
-- check wallet1 redirect to success
-- pay* with wallet3 -> redirect to failure
-- paste URI in wallet2 -> pay* -> redirect to success
-- paste URI in wallet3 -> pay* -> redirect to failure
-
-
-Abort flow
-""""""""""
-
-Test what happens when a payment is aborted.
-
-- initiate payment in wallet1 and save URI
-- scan QR code in wallet2
-- abort in wallet1 -> redirect to failure
-- pay* with wallet2 -> redirect to failure
-- paste URI in wallet3 -> pay* -> redirect to failure
-
-Expire flow
-"""""""""""
-
-Test what happens when a payment is expired.
-
-- initiate payment in wallet1 with short expiration and save URI
-- scan QR code in wallet2
-- wait for expiration
-- check wallet1 redirect to failure
-- pay* with wallet2 -> redirect to failure
-- paste URI in wallet3 -> pay* -> redirect to failure
-
-Network flow
-""""""""""""
-
-Test what happens when the wallet does not have internet access.
-
-- disable network in wallet1
-- initiate payment in wallet1
-- check that a loading state with warning is shown
-- enable network in wallet1
-- check that wallet1 recover and display QR code and URI
-- disable network in wallet2
-- scan QR code -> network failure screen
-- enable network in wallet2
-- pay with wallet2 -> redirect to success
-
-Checklist
-"""""""""
-
-- |democheck| pull payment (receive) concurrent flow
-- |democheck| pull payment (receive) abort flow
-- |democheck| pull payment (receive) expire flow
-- |democheck| pull payment (receive) network flow
-
-- |democheck| push payment (send) concurrent flow
-- |democheck| push payment (send) abort flow
-- |democheck| push payment (send) expire flow
-- |democheck| push payment (send) network flow
-
-- |democheck| check pull payment insufficient fund error on completion
-- |democheck| check push payment insufficient fund error on initiation
-
-- |democheck| sending money back from wallet to bank account
-- |democheck| wallet transaction history rendering
-- |democheck| delete history entry
-
-
-Exchange management
-"""""""""""""""""""
-
-- |democheck| Try to explicitly reload exchange keys (still needed?)
-- |democheck| Have wallet show ToS of an exchange
-- |democheck| Have wallet show PP of an exchange
-- |democheck| Remove exchange with remaining balance
-- |democheck| Check remaining balance is deposited into origin account
-
-
-Android Cashier App
-^^^^^^^^^^^^^^^^^^^
-
-To run those test you need one wallet and a bank account.
-
-- |democheck| Configure cashier app with libeufin account
-- |democheck| Lock and reconnect
-- |democheck| Reconfigure
-- |democheck| Check insufficient balance error
-- |democheck| Check zero error
-
-- |democheck| Withdraw cash from cashier
-
- - Initiate withdraw in cashier
- - Scan QR code in wallet & accept
- - Pay in cashier
-
-- |democheck| Withdraw cash from cashier & bank
- - Initiate withdraw in cashier
- - Scan QR code in wallet & accept
- - Pay from bank account website (TODO do we want this to be proposed ?)
- - Check cashier redirect
+.. include:: checklist-wallet.rst
Blog demo
-^^^^^^^^^
+---------
- |democheck| Visit https://shop.demo.taler.net/
- |democheck| blog page article list renders
@@ -252,7 +98,7 @@ Blog demo
Donation demo
-^^^^^^^^^^^^^
+-------------
- |democheck| Reset wallet
- |democheck| Withdraw age-restricted coins (< 14)
@@ -265,7 +111,7 @@ Donation demo
Merchant SPA
-^^^^^^^^^^^^
+------------
- |democheck| test SPA loads
- |democheck| check SPA language switcher
@@ -318,7 +164,7 @@ Merchant SPA
Android Merchant PoS
-^^^^^^^^^^^^^^^^^^^^
+--------------------
* |democheck| Configure using instance with configured inventory
* |democheck| Check categories and products show (with images!)
@@ -331,7 +177,7 @@ Android Merchant PoS
* |democheck| Create another order, delete/abort it without paying
Auditor
-^^^^^^^
+-------
- |democheck| Check auditor SPA is access controlled
- |democheck| Check /config endpoint (and implied POST /deposit-confirmation are public)
@@ -342,7 +188,7 @@ Auditor
Exchange KYC Triggers
-^^^^^^^^^^^^^^^^^^^^^
+---------------------
Each of these checks should be done with a fresh account, merchant instance
or wallet (if they previously ran into a KYC check already). Specific amounts
@@ -358,7 +204,7 @@ depend on the configured trigger thresholds.
Exchange KYC SPA
-^^^^^^^^^^^^^^^^
+----------------
Consult the specific deployment's KYC configuration to see which KYC processes
are used.
@@ -377,7 +223,7 @@ are used.
Exchange AML SPA
-^^^^^^^^^^^^^^^^
+----------------
- |democheck| check SPA language switcher
- |democheck| load, enable account using taler-exchange-offline
@@ -402,7 +248,7 @@ Exchange AML SPA
Sanction lists
-^^^^^^^^^^^^^^
+--------------
- |democheck| ensure account with KYC data exists in the system
- |democheck| manually write santion list with user that clearly does not match
@@ -420,7 +266,7 @@ Sanction lists
Shutdown
-^^^^^^^^
+--------
- |democheck| create two full wallets, fill one only via (a large) P2P transfer
- |democheck| revoke highest-value denomination
diff --git a/checklists/checklist-gls.rst b/checklists/checklist-gls.rst
@@ -0,0 +1,8 @@
+GLS GNU Taler Integration Checklist
+===================================
+
+.. toctree::
+
+TODO
+
+.. include:: checklist-wallet.rst
+\ No newline at end of file
diff --git a/checklists/checklist-wallet.rst b/checklists/checklist-wallet.rst
@@ -0,0 +1,171 @@
+
+.. |democheck| raw:: html
+
+ <input type="checkbox">
+
+Wallets
+-------
+
+We consider the following published wallets to be "production wallets":
+
+* Browser: Firefox Add-On Store
+* Browser: Chrome Web Store
+* Android: Google Play / F-Droid / APK
+* iOS: Apple Store / Testflight
+
+To run those tests you need one to three wallets (you should ideally use three different platforms) and one to two opened bank accounts into a bank with Taler Integration.
+
+Withdraw & Deposit
+^^^^^^^^^^^^^^^^^^
+
+To run those tests you need one wallet and two bank accounts.
+
+- |democheck| wallet withdrawal payto-URI
+
+ - trigger withdraw from wallet & copy URI
+ - paste URI in bank & pay more
+ - wallet redirect to success and receive more
+ - paste URI in bank & pay -> bounce
+
+- |democheck| bank withdrawal success
+
+ - bank trigger withdrawal & save QR code
+ - wallet scan QR code
+ - bank pay
+ - wallet redirect to success
+ - wallet scan QR code -> redirect to success
+
+- |democheck| bank withdrawal failure
+
+ - bank trigger withdrawal
+ - wallet scan QR code
+ - bank cancel
+ - wallet redirect to failure
+ - wallet scan QR code -> redirect to failure
+
+- |democheck| deposit existing account
+
+ - check bank1 account is already registered
+ - trigger deposit using bank1
+ - check deposit in bank1 account
+
+- |democheck| deposit new account
+
+ - add bank2 account
+ - trigger deposit using bank2
+ - check deposit in bank2 account
+
+P2P payments
+^^^^^^^^^^^^
+
+TODO: some pay* interactions should become unnecessary in a future update: https://bugs.gnunet.org/view.php?id=9670
+TODO: check different kind of failure (aborted, expired, already complete by another wallet) are correctly shown
+
+To run those test you need three wallets.
+
+Concurrent flow
+""""""""""""""""
+
+Test what happens when two wallets compete on the same payment.
+
+- initiate payment in wallet1 and save URI
+- scan QR code in wallet2 & wallet3
+- pay with wallet2 -> redirect to success
+- check wallet1 redirect to success
+- pay* with wallet3 -> redirect to failure
+- paste URI in wallet2 -> pay* -> redirect to success
+- paste URI in wallet3 -> pay* -> redirect to failure
+
+
+Abort flow
+""""""""""
+
+Test what happens when a payment is aborted.
+
+- initiate payment in wallet1 and save URI
+- scan QR code in wallet2
+- abort in wallet1 -> redirect to failure
+- pay* with wallet2 -> redirect to failure
+- paste URI in wallet3 -> pay* -> redirect to failure
+
+Expire flow
+"""""""""""
+
+Test what happens when a payment is expired.
+
+- initiate payment in wallet1 with short expiration and save URI
+- scan QR code in wallet2
+- wait for expiration
+- check wallet1 redirect to failure
+- pay* with wallet2 -> redirect to failure
+- paste URI in wallet3 -> pay* -> redirect to failure
+
+Network flow
+""""""""""""
+
+Test what happens when the wallet does not have internet access.
+
+- disable network in wallet1
+- initiate payment in wallet1
+- check that a loading state with warning is shown
+- enable network in wallet1
+- check that wallet1 recover and display QR code and URI
+- disable network in wallet2
+- scan QR code -> network failure screen
+- enable network in wallet2
+- pay with wallet2 -> redirect to success
+
+Checklist
+"""""""""
+
+- |democheck| pull payment (receive) concurrent flow
+- |democheck| pull payment (receive) abort flow
+- |democheck| pull payment (receive) expire flow
+- |democheck| pull payment (receive) network flow
+
+- |democheck| push payment (send) concurrent flow
+- |democheck| push payment (send) abort flow
+- |democheck| push payment (send) expire flow
+- |democheck| push payment (send) network flow
+
+- |democheck| check pull payment insufficient fund error on completion
+- |democheck| check push payment insufficient fund error on initiation
+
+- |democheck| sending money back from wallet to bank account
+- |democheck| wallet transaction history rendering
+- |democheck| delete history entry
+
+
+Exchange management
+"""""""""""""""""""
+
+- |democheck| Try to explicitly reload exchange keys (still needed?)
+- |democheck| Have wallet show ToS of an exchange
+- |democheck| Have wallet show PP of an exchange
+- |democheck| Remove exchange with remaining balance
+- |democheck| Check remaining balance is deposited into origin account
+
+
+Android Cashier App
+^^^^^^^^^^^^^^^^^^^
+
+To run those test you need one wallet and a bank account.
+
+- |democheck| Configure cashier app with libeufin account
+- |democheck| Lock and reconnect
+- |democheck| Reconfigure
+- |democheck| Check insufficient balance error
+- |democheck| Check zero error
+
+- |democheck| Withdraw cash from cashier
+
+ - Initiate withdraw in cashier
+ - Scan QR code in wallet & accept
+ - Pay in cashier
+
+- |democheck| Withdraw cash from cashier & bank
+
+ - Initiate withdraw in cashier
+ - Scan QR code in wallet & accept
+ - Pay from bank account website (TODO do we want this to be proposed ?)
+ - Check cashier redirect
diff --git a/taler-developer-manual.rst b/taler-developer-manual.rst
@@ -1,7 +1,7 @@
..
This file is part of GNU TALER.
- Copyright (C) 2014-2023 Taler Systems SA
+ Copyright (C) 2014-2025 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software
@@ -488,9 +488,6 @@ All Taler components must be tagged with git before they are deployed on the
DD = day
SS = serial
-.. include:: checklists/checklist-demo-upgrade.rst
-
-
Environments and Builders on taler.net
======================================