commit 6315ce7b211c6990d409f3f137dca8a9d84a758c
parent 0850379c1bcbd7a59bff7bafc0fbf53ab8a96515
Author: Marc Stibane <marc@taler.net>
Date: Sat, 20 Jul 2024 06:30:26 +0200
withdrawTestBalance from HEAD
Diffstat:
4 files changed, 47 insertions(+), 29 deletions(-)
diff --git a/TalerWallet1/Controllers/PublicConstants.swift b/TalerWallet1/Controllers/PublicConstants.swift
@@ -49,6 +49,7 @@ public let TALER = "taler.net/"
public let TALER_NET = HTTPS + TALER
public let DEMO = ".demo." + TALER
public let TEST = ".test." + TALER
+public let HEAD = ".head." + TALER
public let DEMOBANK = HTTPS + "bank" + DEMO
public let DEMOSHOP = HTTPS + "shop" + DEMO
@@ -58,6 +59,10 @@ public let TESTBANK = HTTPS + "bank" + TEST
public let TESTSHOP = HTTPS + "shop" + TEST
public let TESTBACKEND = HTTPS + "backend" + TEST
public let TESTEXCHANGE = HTTPS + "exchange" + TEST
+public let HEADBANK = HTTPS + "bank" + HEAD
+public let HEADSHOP = HTTPS + "shop" + HEAD
+public let HEADBACKEND = HTTPS + "backend" + HEAD
+public let HEADEXCHANGE = HTTPS + "exchange" + HEAD
public let ARS_AGE_EXCHANGE = HTTPS + "exchange-age.taler.ar/"
public let ARS_EXP_EXCHANGE = HTTPS + "exchange-expensive.taler.ar/"
diff --git a/TalerWallet1/Model/Model+Settings.swift b/TalerWallet1/Model/Model+Settings.swift
@@ -1,7 +1,10 @@
/*
- * This file is part of GNU Taler, ©2022-23 Taler Systems S.A.
+ * This file is part of GNU Taler, ©2022-24 Taler Systems S.A.
* See LICENSE.md
*/
+/**
+ * @author Marc Stibane
+ */
import Foundation
import taler_swift
import SymLog
@@ -15,30 +18,29 @@ fileprivate struct WithdrawTestBalanceRequest: WalletBackendFormattedRequest {
struct Response: Decodable {} // no result - getting no error back means success
func operation() -> String { "withdrawTestBalance" }
func args() -> Args { Args(amount: amount,
-// bankBaseUrl: bankBaseUrl,
- corebankApiBaseUrl: corebankApiBaseUrl,
+ corebankApiBaseUrl: bankBaseUrl,
exchangeBaseUrl: exchangeBaseUrl)
}
var amount: Amount
-// var bankBaseUrl: String
- var corebankApiBaseUrl: String
+ var bankBaseUrl: String
var exchangeBaseUrl: String
struct Args: Encodable {
var amount: Amount
// var bankBaseUrl: String // <= this should be the correct parameter name
- var corebankApiBaseUrl: String // <= but currently this is used by wallet-core
+ var corebankApiBaseUrl: String // <= but this is used by wallet-core
var exchangeBaseUrl: String
}
}
extension WalletModel {
- @MainActor func loadTestKudosM(test: Bool, amount: Amount, viewHandles: Bool = false)
+ @MainActor func loadTestKudosM(_ test: Int, amount: Amount, viewHandles: Bool = false)
async throws { // M for MainActor
let request = WithdrawTestBalanceRequest(amount: amount,
-// bankBaseUrl: test ? TESTBANK : DEMOBANK,
- corebankApiBaseUrl: test ? TESTBANK : DEMOBANK,
- exchangeBaseUrl: test ? TESTEXCHANGE : DEMOEXCHANGE)
+ bankBaseUrl: test == 2 ? HEADBANK
+ : test == 1 ? TESTBANK : DEMOBANK,
+ exchangeBaseUrl: test == 2 ? HEADEXCHANGE
+ : test == 1 ? TESTEXCHANGE : DEMOEXCHANGE)
let response = try await sendRequest(request, ASYNCDELAY, viewHandles: viewHandles)
}
} // loadTestKudosM()
@@ -48,8 +50,7 @@ fileprivate struct RunIntegrationTest: WalletBackendFormattedRequest {
struct Response: Decodable {} // no result - getting no error back means success
func operation() -> String { newVersion ? "runIntegrationTestV2" : "runIntegrationTest" }
func args() -> Args { Args(exchangeBaseUrl: exchangeBaseUrl,
-// bankBaseUrl: bankBaseUrl,
- corebankApiBaseUrl: corebankApiBaseUrl,
+ corebankApiBaseUrl: bankBaseUrl,
merchantBaseUrl: merchantBaseUrl,
merchantAuthToken: merchantAuthToken,
amountToWithdraw: amountToWithdraw,
@@ -59,8 +60,7 @@ fileprivate struct RunIntegrationTest: WalletBackendFormattedRequest {
let newVersion: Bool
var exchangeBaseUrl: String
-// var bankBaseUrl: String
- var corebankApiBaseUrl: String
+ var bankBaseUrl: String
var merchantBaseUrl: String
var merchantAuthToken: String
var amountToWithdraw: Amount
@@ -68,8 +68,8 @@ fileprivate struct RunIntegrationTest: WalletBackendFormattedRequest {
struct Args: Encodable {
var exchangeBaseUrl: String
-// var bankBaseUrl: String
- var corebankApiBaseUrl: String
+// var bankBaseUrl: String // <= this should be the correct parameter name
+ var corebankApiBaseUrl: String // <= but this is used by wallet-core
var merchantBaseUrl: String
var merchantAuthToken: String
var amountToWithdraw: Amount
@@ -82,13 +82,12 @@ extension WalletModel {
let amountW = Amount(currency: test ? TESTCURRENCY : DEMOCURRENCY, cent: 300)
let amountS = Amount(currency: test ? TESTCURRENCY : DEMOCURRENCY, cent: 100)
let request = RunIntegrationTest(newVersion: newVersion,
- exchangeBaseUrl: test ? TESTEXCHANGE : DEMOEXCHANGE,
-// bankBaseUrl: (test ? TESTBANK : DEMOBANK),
- corebankApiBaseUrl: (test ? TESTBANK : DEMOBANK),
- merchantBaseUrl: test ? TESTBACKEND : DEMOBACKEND,
- merchantAuthToken: MERCHANTAUTHTOKEN,
- amountToWithdraw: amountW,
- amountToSpend: amountS)
+ exchangeBaseUrl: test ? TESTEXCHANGE : DEMOEXCHANGE,
+ bankBaseUrl: (test ? TESTBANK : DEMOBANK),
+ merchantBaseUrl: test ? TESTBACKEND : DEMOBACKEND,
+ merchantAuthToken: MERCHANTAUTHTOKEN,
+ amountToWithdraw: amountW,
+ amountToSpend: amountS)
let _ = try await sendRequest(request, ASYNCDELAY, viewHandles: viewHandles)
}
} // runIntegrationTestM()
diff --git a/TalerWallet1/Views/Main/WalletEmptyView.swift b/TalerWallet1/Views/Main/WalletEmptyView.swift
@@ -44,7 +44,7 @@ struct WalletEmptyView: View {
Task { // runs on MainActor
let amount = Amount(currency: DEMOCURRENCY, cent: 2500)
symLog.log("Withdraw KUDOS")
- try? await model.loadTestKudosM(test: false, amount: amount)
+ try? await model.loadTestKudosM(0, amount: amount)
}
}
.buttonStyle(TalerButtonStyle(type: .prominent, narrow: false, disabled: withDrawDisabled, aligned: .center))
diff --git a/TalerWallet1/Views/Settings/SettingsView.swift b/TalerWallet1/Views/Settings/SettingsView.swift
@@ -163,21 +163,21 @@ struct SettingsView: View {
}
#endif
if showDevelopItems { // show or hide the following items
- SettingsItem(name: String("Withdraw \(DEMOCURRENCY)"), id1: "demo1with",
+ SettingsItem(name: String("Withdraw from DEMO"), id1: "demo1with",
description: hideDescriptions ? nil : String("Get money for testing")) {
let title = "Withdraw"
Button(title) {
withDrawDisabled = true // don't run twice
Task { // runs on MainActor
- symLog.log("Withdraw KUDOS")
+ symLog.log("Withdraw DEMO KUDOS")
let amount = Amount(currency: DEMOCURRENCY, cent: 1100)
- try? await model.loadTestKudosM(test: false, amount: amount)
+ try? await model.loadTestKudosM(0, amount: amount)
}
}
.buttonStyle(.bordered)
.disabled(withDrawDisabled)
}.id("demo1withdraw")
- SettingsItem(name: String("Withdraw \(TESTCURRENCY)"), id1: "test1with",
+ SettingsItem(name: String("Withdraw from TEST"), id1: "test1with",
description: hideDescriptions ? nil : String("Get money for testing")) {
let title = "Withdraw"
Button(title) {
@@ -185,12 +185,26 @@ struct SettingsView: View {
Task { // runs on MainActor
symLog.log("Withdraw TESTKUDOS")
let amount = Amount(currency: TESTCURRENCY, cent: 1100)
- try? await model.loadTestKudosM(test: true, amount: amount)
+ try? await model.loadTestKudosM(1, amount: amount)
}
}
.buttonStyle(.bordered)
.disabled(withDrawDisabled)
}.id("test1withdraw")
+ SettingsItem(name: String("Withdraw from HEAD"), id1: "head1with",
+ description: hideDescriptions ? nil : String("Get money for testing")) {
+ let title = "Withdraw"
+ Button(title) {
+ withDrawDisabled = true // don't run twice
+ Task { // runs on MainActor
+ symLog.log("Withdraw HEAD KUDOS")
+ let amount = Amount(currency: DEMOCURRENCY, cent: 1100)
+ try? await model.loadTestKudosM(2, amount: amount)
+ }
+ }
+ .buttonStyle(.bordered)
+ .disabled(withDrawDisabled)
+ }.id("head1withdraw")
SettingsToggle(name: String("Set 2 seconds delay"),
value: $developDelay.onChange({ delay in
walletCore.developDelay = delay}), id1: "delay",