mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-01-18 21:32:38 +01:00
a1ea04acf8
* chore: add tests * chore: add reference to jmter job * chore: add jmeter job * chore: touch tests * chorE: disable other workflows * chore: do not set `LNBITS_ADMIN_UI: true` * chore: extra log file * chore: rollback * chore: testing stuff * feat: top-up wallet * chore: clean-up usr * chore: clean-up user query param * chore: remove hardcoded usr * chore: clean-up * chore: clean-up * chore: different improvements * chore: clean-up * chore: remove hardcoded values * refactor: extract `init-server` fragment * chore: move fragment * feat: use test frgment * chore: clean-up hardcoded values * chore: clean-up * fix: get lnurl working * chore: re-arange elements * chore: re-arange elements * fix: add `lnurlp, withdraw` extensions * chore: rename file * fix: login with user id * refactor: extract init account * fix: tips wallet * fix: assertion * refactor: use fragments; group loops * chore: re-enable the other CI jobs * fix: separate wallet for receive * feat: check receive wallet balance * feat: increase wait time
99 lines
3.0 KiB
YAML
99 lines
3.0 KiB
YAML
name: JMeter Tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
python-version:
|
|
description: "Python Version"
|
|
required: true
|
|
default: "3.9"
|
|
type: string
|
|
poetry-version:
|
|
description: "Poetry Version"
|
|
required: true
|
|
default: "1.5.1"
|
|
type: string
|
|
|
|
jobs:
|
|
action_build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Set up Python ${{ inputs.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
cache: "pip"
|
|
|
|
- name: Set up Poetry ${{ inputs.poetry-version }}
|
|
uses: abatilo/actions-poetry@v2
|
|
with:
|
|
poetry-version: ${{ inputs.poetry-version }}
|
|
|
|
- name: create logs and reports dir
|
|
run: |
|
|
mkdir logs
|
|
mkdir reports
|
|
|
|
- name: install packages
|
|
run: poetry install
|
|
|
|
- name: run LNbits
|
|
env:
|
|
LNBITS_ADMIN_UI: true
|
|
LNBITS_EXTENSIONS_DEFAULT_INSTALL: "watchonly, satspay, tipjar, tpos, lnurlp, withdraw"
|
|
LNBITS_BACKEND_WALLET_CLASS: FakeWallet
|
|
run: |
|
|
poetry run lnbits > logs/lnbits.log &
|
|
sleep 5
|
|
|
|
|
|
- name: install jmeter
|
|
run: |
|
|
java -version
|
|
wget https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.6.2.zip
|
|
unzip apache-jmeter-5.6.2.zip
|
|
$GITHUB_WORKSPACE/apache-jmeter-5.6.2/bin/jmeter -v
|
|
|
|
- name: start mirror server
|
|
run: |
|
|
libs_dir=$GITHUB_WORKSPACE/apache-jmeter-5.6.2/lib/
|
|
echo "Fix bad Jmeter lib names. Lib dir: $libs_dir"
|
|
|
|
mv $libs_dir/slf4j-api-1.7.36.jar $libs_dir/slf4j-api-1.7.25.jar
|
|
mv $libs_dir/log4j-slf4j-impl-2.20.0.jar $libs_dir/log4j-slf4j-impl-2.11.0.jar
|
|
mv $libs_dir/log4j-api-2.20.0.jar $libs_dir/log4j-api-2.11.1.jar
|
|
mv $libs_dir/log4j-core-2.20.0.jar $libs_dir/log4j-core-2.11.1.jar
|
|
mv $libs_dir/log4j-1.2-api-2.20.0.jar $libs_dir/og4j-1.2-api-2.11.1.jar
|
|
|
|
echo "Starting the mirror server on dfault port 8081."
|
|
$GITHUB_WORKSPACE/apache-jmeter-5.6.2/bin/mirror-server &
|
|
|
|
- name: run jmx scripts
|
|
run: |
|
|
for file in $( ls $GITHUB_WORKSPACE/integration/*.jmx); do
|
|
echo "Running test with $file"
|
|
filename=$(basename "$file" ".jmx")
|
|
$GITHUB_WORKSPACE/apache-jmeter-5.6.2/bin/jmeter -n -t $file -l logs/$filename.log -e -o reports ;
|
|
error_count=$(cat jmeter.log | grep "summary =" | awk '{print $19}')
|
|
echo "Error count: $error_count"
|
|
if [[ "$error_count" == "0" ]]; then
|
|
echo "Test $filename OK."
|
|
rm -r reports/*
|
|
else
|
|
echo "Test $filename failed. Error count: $error_count."
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
if: ${{ always() }}
|
|
with:
|
|
name: jmeter-test-results
|
|
path: |
|
|
reports/
|
|
logs/
|
|
|