042-synthetic-wallet-errors.rst (1278B)
1 DD 42: Wallet Dev Experiments 2 ############################# 3 4 Summary 5 ======= 6 7 This design document defines new ``taler://`` URIs to cause synthetic errors 8 or special states in the wallet that can then be rendered by the UI. 9 10 Motivation 11 ========== 12 13 UIs need to handle various (error-) states and responses of wallet-core. It's 14 not easy to cover all of these states and responses manually. Some of them are 15 hard to reach or simulate without an elaborate test setup. 16 17 Requirements 18 ============ 19 20 The implementation of synthetic errors should be as separate from production 21 code as possible, to avoid making the normal code paths unreadable. 22 23 24 Proposed Solution 25 ================= 26 27 Special taler:// URIs 28 --------------------- 29 30 * ``taler://dev-experiment/$STATE_ID`` 31 * ``taler://pay/...?dev-experiment=`` 32 33 Special http(s):// URIs 34 ----------------------- 35 36 * ``http(s)://*.dev-experiment.taler.net/`` 37 38 * URLs for this subdomain are handled specially by the 39 wallet's HTTP layer and return fixed / mocked responses 40 instead of making real requests. 41 42 43 List of experiments 44 ------------------- 45 46 47 48 Alternatives 49 ============ 50 51 Drawbacks 52 ========= 53 54 Discussion / Q&A 55 ================ 56 57 (This should be filled in with results from discussions on mailing lists / personal communication.)