diff --git a/integration/load_001_create_users.jmx b/integration/load_001_create_users.jmx
new file mode 100644
index 00000000..f0b50b3d
--- /dev/null
+++ b/integration/load_001_create_users.jmx
@@ -0,0 +1,589 @@
+
+
+
+
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ host
+ ${__property(host,,127.0.0.1)}
+ =
+
+
+ scheme
+ ${__property(scheme,,http)}
+ =
+
+
+ port
+ ${__property(port,,5000)}
+ =
+
+
+ thinkTime
+ 3000
+ =
+
+
+ defaultPaymentCount
+ 3
+ =
+
+
+ configPath
+ ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
+ =
+
+
+ userCount
+ 100
+ =
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+
+
+ 6
+ Java
+ 20000
+ 30000
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ fragments/init-server.jmx
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 50
+ 50
+ 1370726934000
+ 1370726934000
+ false
+
+
+ false
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {"username":"admin","password":"secret1234"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ groovy
+
+
+ true
+ ${__Random(0,100000000000, randomUserNamespace)}
+ To avoid collision between tests
+
+
+
+
+ true
+ ${userCount}
+
+
+
+ 1
+ ${userCount}
+ 1
+ userIndex
+
+ true
+
+
+
+ true
+
+
+
+ false
+ {
+ "extra": {
+ "first_name": "First Name${randomUserNamespace}",
+ "last_name": "Last Name${randomUserNamespace}"
+ },
+ "username": "u_${randomUserNamespace}_${userIndex}"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /users/api/v1/user
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ u_${randomUserNamespace}_${userIndex}
+ true
+ false
+ false
+ true
+
+
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ 100
+ true
+ (wallet){1}
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+ 8888
+
+ windowsupdate\.microsoft\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)
+ .*msg\.yahoo\.com.*
+ www\.download\.windowsupdate\.com.*
+ toolbarqueries\.google\..*
+ http?://self-repair\.mozilla\.org.*
+ tiles.*\.mozilla\.com.*
+ .*detectportal\.firefox\.com.*
+ us\.update\.toolbar\.yahoo\.com.*
+ .*\.google\.com.*/safebrowsing/.*
+ api\.bing\.com.*
+ toolbar\.google\.com.*
+ .*yimg\.com.*
+ toolbar\.msn\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)[\?;].*
+ toolbar\.avg\.com/.*
+ www\.google-analytics\.com.*
+ pgq\.yahoo\.com.*
+ safebrowsing.*\.google\.com.*
+ sqm\.microsoft\.com.*
+ g\.msn.*
+ clients.*\.google.*
+ .*toolbar\.yahoo\.com.*
+ geo\.yahoo\.com.*
+
+
+ true
+ 4
+ false
+
+ false
+ true
+ true
+ false
+ true
+
+
+ false
+
+ 0
+
+ true
+ UTF-8
+
+
+
+ 8081
+ 0
+ 25
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+
diff --git a/integration/load_002_create_payments.jmx b/integration/load_002_create_payments.jmx
new file mode 100644
index 00000000..4cd3f49c
--- /dev/null
+++ b/integration/load_002_create_payments.jmx
@@ -0,0 +1,1100 @@
+
+
+
+
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ host
+ ${__property(host,,127.0.0.1)}
+ =
+
+
+ scheme
+ ${__property(scheme,,http)}
+ =
+
+
+ port
+ ${__property(port,,5000)}
+ =
+
+
+ thinkTime
+ 3000
+ =
+
+
+ defaultPaymentCount
+ 3
+ =
+
+
+ configPath
+ ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
+ =
+
+
+ paymentCount
+ 1000
+ =
+
+
+ userAdminKey
+ 070e45be347f47d5becb6b1a1f937709
+ =
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+
+
+ 6
+ Java
+ 20000
+ 30000
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ fragments/init-server.jmx
+
+
+
+
+ false
+ true
+
+
+
+ groovy
+
+
+ true
+ ${__Random(0,1000000000, randomUserNamespace)}
+ To avoid collision between tests
+
+
+
+ true
+
+
+
+ false
+ {
+ "username": "user_${randomUserNamespace}",
+ "password": "secret1234",
+ "password_repeat": "secret1234",
+ "email": "u_${randomUserNamespace}@lnbits.com"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth/register
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ user_${randomUserNamespace}
+ true
+ false
+ false
+ true
+
+
+
+ userWalletId
+
+
+ no-user-wallet-id
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ user_${randomUserNamespace}
+ true
+ false
+ false
+ true
+
+
+
+ userWalletId
+ wallets[0].id
+
+ no-user-wallet-id
+
+
+
+
+ javascript
+
+
+ true
+ var userWalletId = vars.get("userWalletId")
+
+props.put("userWalletId", userWalletId)
+
+
+
+
+ javascript
+
+
+ true
+ var adminWalletKey = vars.get("adminWalletKey")
+
+props.put("adminWalletKey", adminWalletKey)
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 100
+ 100
+ 1370726934000
+ 1370726934000
+ false
+
+
+ false
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ groovy
+
+
+ true
+ ${__Random(0,1000000000, randomUserNamespace)}
+ To avoid collision between tests
+
+
+
+ fragments/init-server.jmx
+
+
+
+
+ true
+
+
+
+ false
+ {"username":"admin","password":"secret1234"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ true
+ ${paymentCount}
+
+
+
+ 1
+ ${paymentCount}
+ 1
+ paymentIndex
+
+ true
+
+
+
+ false
+ true
+
+
+
+ 1000
+ 10
+
+ true
+
+ amount
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": false,
+ "amount": ${amount},
+ "memo": "${randomUserNamespace}",
+ "unit": "sat",
+ "lnurl_withdraw": null,
+ "fiat_provider": "",
+ "payment_hash": null
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+ x-api-key
+ ${userAdminKey}
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ bolt11
+
+ false
+ false
+ false
+ true
+
+
+
+ payment_hash
+
+ false
+ false
+ false
+ true
+
+
+
+ paymentRequest
+ bolt11
+ 0
+ no-payment-request
+
+
+
+ paymentHash
+ payment_hash
+ 0
+ no-payment-hash
+
+
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": true,
+ "amount": ${amount},
+ "memo": "paying ${randomUserNamespace}",
+ "unit": "sat",
+ "bolt11": "${paymentRequest}"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ ${adminWalletKey}
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ payment_hash
+ ${paymentHash}
+ true
+ false
+ false
+ false
+
+
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {"amount":"1000","id":"eb0825f0409b48cb994d2e3bb67502c5"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /users/api/v1/balance
+ PUT
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ ${adminWalletKey}
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ 8888
+
+ windowsupdate\.microsoft\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)
+ .*msg\.yahoo\.com.*
+ www\.download\.windowsupdate\.com.*
+ toolbarqueries\.google\..*
+ http?://self-repair\.mozilla\.org.*
+ tiles.*\.mozilla\.com.*
+ .*detectportal\.firefox\.com.*
+ us\.update\.toolbar\.yahoo\.com.*
+ .*\.google\.com.*/safebrowsing/.*
+ api\.bing\.com.*
+ toolbar\.google\.com.*
+ .*yimg\.com.*
+ toolbar\.msn\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)[\?;].*
+ toolbar\.avg\.com/.*
+ www\.google-analytics\.com.*
+ pgq\.yahoo\.com.*
+ safebrowsing.*\.google\.com.*
+ sqm\.microsoft\.com.*
+ g\.msn.*
+ clients.*\.google.*
+ .*toolbar\.yahoo\.com.*
+ geo\.yahoo\.com.*
+
+
+ true
+ 4
+ false
+
+ false
+ true
+ true
+ false
+ true
+
+
+ false
+
+ 0
+
+ true
+ UTF-8
+
+
+
+ 8081
+ 0
+ 25
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+
diff --git a/integration/load_003_search_payments.jmx b/integration/load_003_search_payments.jmx
new file mode 100644
index 00000000..bca18c43
--- /dev/null
+++ b/integration/load_003_search_payments.jmx
@@ -0,0 +1,1143 @@
+
+
+
+
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ host
+ ${__property(host,,127.0.0.1)}
+ =
+
+
+ scheme
+ ${__property(scheme,,http)}
+ =
+
+
+ port
+ ${__property(port,,5000)}
+ =
+
+
+ thinkTime
+ 3000
+ =
+
+
+ defaultPaymentCount
+ 3
+ =
+
+
+ configPath
+ ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
+ =
+
+
+ paymentCount
+ 20
+ =
+
+
+ userAdminKey
+ 070e45be347f47d5becb6b1a1f937709
+ =
+
+
+ adminWalletKey
+ aba01f535a7241889ebe79035bd13fa9
+ =
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+
+
+ 6
+ Java
+ 20000
+ 30000
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ fragments/init-server.jmx
+
+
+
+
+ false
+ true
+
+
+
+ groovy
+
+
+ true
+ ${__Random(0,1000000000, randomUserNamespace)}
+ To avoid collision between tests
+
+
+
+ true
+
+
+
+ false
+ {
+ "username": "user_${randomUserNamespace}",
+ "password": "secret1234",
+ "password_repeat": "secret1234",
+ "email": "u_${randomUserNamespace}@lnbits.com"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth/register
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ user_${randomUserNamespace}
+ true
+ false
+ false
+ true
+
+
+
+ userWalletId
+
+
+ no-user-wallet-id
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ user_${randomUserNamespace}
+ true
+ false
+ false
+ true
+
+
+
+ userWalletId
+ wallets[0].id
+
+ no-user-wallet-id
+
+
+
+
+ javascript
+
+
+ true
+ var userWalletId = vars.get("userWalletId")
+
+props.put("userWalletId", userWalletId)
+
+
+
+
+ javascript
+
+
+ true
+ var adminWalletKey = vars.get("adminWalletKey")
+
+props.put("adminWalletKey", adminWalletKey)
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 100
+ 10
+ 1370726934000
+ 1370726934000
+ false
+
+
+ false
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+ true
+
+
+
+ groovy
+
+
+ true
+ ${__Random(0,1000000000, randomUserNamespace)}
+ To avoid collision between tests
+
+
+
+ fragments/init-server.jmx
+
+
+
+
+ true
+
+
+
+ false
+ {"username":"admin","password":"secret1234"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ true
+ ${paymentCount}
+
+
+
+ 1
+ ${paymentCount}
+ 1
+ paymentIndex
+
+ true
+
+
+
+ false
+ true
+
+
+
+ 300
+
+
+
+ 1000
+ 10
+
+ true
+
+ amount
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": false,
+ "amount": ${amount},
+ "memo": "${randomUserNamespace}",
+ "unit": "sat",
+ "lnurl_withdraw": null,
+ "fiat_provider": "",
+ "payment_hash": null
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+ x-api-key
+ ${userAdminKey}
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ bolt11
+
+ false
+ false
+ false
+ true
+
+
+
+ payment_hash
+
+ false
+ false
+ false
+ true
+
+
+
+ paymentRequest
+ bolt11
+ 0
+ no-payment-request
+
+
+
+ paymentHash
+ payment_hash
+ 0
+ no-payment-hash
+
+
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": true,
+ "amount": ${amount},
+ "memo": "paying ${randomUserNamespace}",
+ "unit": "sat",
+ "bolt11": "${paymentRequest}"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ ${adminWalletKey}
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ payment_hash
+ ${paymentHash}
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+
+
+ false
+ true
+
+
+
+ 1000
+
+
+
+
+
+
+ false
+ 500
+ =
+ true
+ offset
+
+
+ false
+ time
+ =
+ true
+ sortby
+
+
+ false
+ desc
+ =
+ true
+ direction
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments/paginated
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ 27f2c9df619c4812bfc00e65c6f3f565
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ 1000
+ Response Time Graph
+ 0
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ 8888
+
+ windowsupdate\.microsoft\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)
+ .*msg\.yahoo\.com.*
+ www\.download\.windowsupdate\.com.*
+ toolbarqueries\.google\..*
+ http?://self-repair\.mozilla\.org.*
+ tiles.*\.mozilla\.com.*
+ .*detectportal\.firefox\.com.*
+ us\.update\.toolbar\.yahoo\.com.*
+ .*\.google\.com.*/safebrowsing/.*
+ api\.bing\.com.*
+ toolbar\.google\.com.*
+ .*yimg\.com.*
+ toolbar\.msn\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)[\?;].*
+ toolbar\.avg\.com/.*
+ www\.google-analytics\.com.*
+ pgq\.yahoo\.com.*
+ safebrowsing.*\.google\.com.*
+ sqm\.microsoft\.com.*
+ g\.msn.*
+ clients.*\.google.*
+ .*toolbar\.yahoo\.com.*
+ geo\.yahoo\.com.*
+
+
+ true
+ 4
+ false
+
+ false
+ true
+ true
+ false
+ true
+
+
+ false
+
+ 0
+
+ true
+ UTF-8
+
+
+
+ 8081
+ 0
+ 25
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+
diff --git a/integration/load_004_scenario_01.jmx b/integration/load_004_scenario_01.jmx
new file mode 100644
index 00000000..f54ef453
--- /dev/null
+++ b/integration/load_004_scenario_01.jmx
@@ -0,0 +1,2108 @@
+
+
+
+
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ host
+ ${__property(host,,127.0.0.1)}
+ =
+
+
+ scheme
+ ${__property(scheme,,http)}
+ =
+
+
+ port
+ ${__property(port,,5000)}
+ =
+
+
+ thinkTime
+ 1000
+ =
+
+
+ configPath
+ ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
+ =
+
+
+ paymentCount
+ 20
+ =
+
+
+ testRun
+ ${__time(/1000,)}
+ =
+
+
+ userCount
+ 300
+ =
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+
+
+ 6
+ Java
+ 20000
+ 30000
+
+
+
+
+
+
+
+ stoptest
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+ false
+ false
+
+
+
+ true
+ ${userCount}
+
+
+
+ 1
+ ${userCount}
+ 1
+ userIndex
+
+ true
+
+
+
+ true
+
+
+
+ false
+ {
+ "username": "uload_${testRun}_${userIndex}",
+ "password": "secret1234",
+ "password_repeat": "secret1234",
+ "email": "uload_${testRun}_${userIndex}@lnbits.com"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth/register
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ username
+ user_${randomUserNamespace}
+ true
+ false
+ false
+ true
+
+
+
+ userWalletId
+
+
+ no-user-wallet-id
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ userSendWalletAdminKey
+ wallets[0].adminkey
+
+ no-user-send-wallet-adminkey
+
+
+
+ userSendWalletId_${userIndex}
+ wallets[0].id
+
+ no-user-send-wallet-id
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth/logout
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ true
+
+
+
+ false
+ {"username":"admin","password":"secret1234"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ true
+ ${userCount}
+
+
+
+ 1
+ ${userCount}
+ 1
+ userIndex
+
+ true
+
+
+
+ true
+
+
+ var index = vars.get("userIndex")
+var userWalletId = vars.get("userSendWalletId_"+index)
+vars.put("userSendWalletId", userWalletId)
+ javascript
+
+
+
+ true
+
+
+
+ false
+ {"amount":"1000000","id":"${userSendWalletId}"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /users/api/v1/balance
+ PUT
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ 1000
+ scenario_01_setup
+ 0
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ ${userCount}
+ ${userCount}
+ 1370726934000
+ 1370726934000
+ false
+
+
+ false
+
+
+
+
+ false
+ false
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {"username":"uload_${testRun}_${__threadNum}","password":"secret1234"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/auth
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ userSendAdminKey
+ wallets[0].adminkey
+
+ no-user-send-adminkey
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+ true
+
+
+
+ false
+ {"name":"Wallet for ${__threadNum}","wallet_type":"lightning"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/wallet
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ x-api-key
+ ${userSendAdminKey}
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ userReceiveAdminKey
+ adminkey
+
+ no-user-receive-adminkey
+
+
+
+
+
+ true
+ ${paymentCount}
+
+
+
+ 1
+ ${paymentCount}
+ 1
+ paymentIndex
+
+ true
+
+
+
+ false
+ true
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/extension
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/rate/USD
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+ 100
+ 10
+
+ true
+
+ amount
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": false,
+ "amount": ${amount},
+ "memo": "Payment ${paymentIndex}/${paymentCount} for test run ${__threadNum}/${testRun}",
+ "unit": "sat",
+ "lnurl_withdraw": null,
+ "fiat_provider": "",
+ "payment_hash": null
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+ x-api-key
+ ${userReceiveAdminKey}
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ bolt11
+ bolt11
+
+ no-bolt11
+
+
+
+
+
+ false
+ true
+
+
+
+ true
+
+
+
+ false
+ {
+ "out": true,
+ "memo": "paying ${testRun}",
+ "unit": "sat",
+ "bolt11": "${bolt11}"
+}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments
+ POST
+ true
+ false
+ true
+ false
+
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ ${userSendAdminKey}
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 201
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${thinkTime}
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+
+
+
+ false
+ 0
+ =
+ true
+ offset
+
+
+ false
+ time
+ =
+ true
+ sortby
+
+
+ false
+ desc
+ =
+ true
+ direction
+
+
+ false
+ failed
+ =
+ true
+ status[ne]
+
+
+ false
+ payment
+ =
+ true
+ search
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments/paginated
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+ With search text
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ X-Api-Key
+ ${userSendAdminKey}
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+
+
+
+ false
+ 0
+ =
+ true
+ offset
+
+
+ false
+ time
+ =
+ true
+ sortby
+
+
+ false
+ desc
+ =
+ true
+ direction
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/payments/all/paginated
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/extension/all
+ GET
+ true
+ false
+ true
+ false
+
+ HttpClient4
+ 60000
+
+
+
+
+
+
+ Sec-Fetch-Mode
+ cors
+
+
+ Sec-Fetch-Site
+ same-origin
+
+
+ Accept-Language
+ en-US,en;q=0.${lnurlpCount}
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ Content-Type
+ application/json;charset=utf-8
+
+
+ Accept-Encoding
+ gzip, deflate, br
+
+
+ User-Agent
+ Mozilla/${lnurlpCount}.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
+
+
+ Sec-Fetch-Dest
+ empty
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+ true
+
+
+
+ ${thinkTime}
+
+
+
+ true
+
+
+
+ false
+ {"name":"Wallet ${paymentIndex}","wallet_type":"lightning"}
+ =
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ UTF-8
+ /api/v1/wallet
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ Referer
+ ${scheme}://${host}:${port}/
+
+
+ Accept-Language
+ en-US,en;q=0.5
+
+
+ Origin
+ ${scheme}://${host}:${port}
+
+
+ Content-Type
+ application/json
+
+
+ Accept-Encoding
+ gzip, deflate
+
+
+ User-Agent
+ Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
+
+
+ Accept
+ application/json, text/plain, */*
+
+
+ x-api-key
+ ${userSendAdminKey}
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${port}
+ ${scheme}
+ utf-8
+ /api/v1/auth/logout
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ content-type
+ application/json
+
+
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ scenario_01
+ 1
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ 8888
+
+ windowsupdate\.microsoft\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)
+ .*msg\.yahoo\.com.*
+ www\.download\.windowsupdate\.com.*
+ toolbarqueries\.google\..*
+ http?://self-repair\.mozilla\.org.*
+ tiles.*\.mozilla\.com.*
+ .*detectportal\.firefox\.com.*
+ us\.update\.toolbar\.yahoo\.com.*
+ .*\.google\.com.*/safebrowsing/.*
+ api\.bing\.com.*
+ toolbar\.google\.com.*
+ .*yimg\.com.*
+ toolbar\.msn\.com.*
+ (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2)[\?;].*
+ toolbar\.avg\.com/.*
+ www\.google-analytics\.com.*
+ pgq\.yahoo\.com.*
+ safebrowsing.*\.google\.com.*
+ sqm\.microsoft\.com.*
+ g\.msn.*
+ clients.*\.google.*
+ .*toolbar\.yahoo\.com.*
+ geo\.yahoo\.com.*
+
+
+ true
+ 4
+ false
+
+ false
+ true
+ true
+ false
+ true
+
+
+ false
+
+ 0
+
+ true
+ UTF-8
+
+
+
+ 8081
+ 0
+ 25
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ false
+
+
+ true
+
+
+
+
+