-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathpolycli-cases.bats
More file actions
98 lines (86 loc) · 7 KB
/
polycli-cases.bats
File metadata and controls
98 lines (86 loc) · 7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/usr/bin/env bats
# bats file_tags=standard,execution
setup_file() {
# shellcheck source=core/helpers/common.bash
source "$BATS_TEST_DIRNAME/../../core/helpers/common.bash"
_setup_vars
# source existing helper functions for ephemeral account setup
source "$BATS_TEST_DIRNAME/../lxly/bridge-tests-suite-assets/helpers/bridge-tests-helper.bash"
ephemeral_data=$(_generate_ephemeral_account "polycli-cases")
ephemeral_private_key=$(echo "$ephemeral_data" | cut -d' ' -f1)
ephemeral_address=$(echo "$ephemeral_data" | cut -d' ' -f2)
echo "ephemeral_address: $ephemeral_address" >&3
# Fund the ephemeral account using imported function
_fund_ephemeral_account "$ephemeral_address" "$l2_rpc_url" "$l2_private_key" "10000000000000000"
# Export variables for use in tests
export ephemeral_private_key
export ephemeral_address
}
# bats test_tags=transaction-erc20,transaction-erc721,loadtest
@test "Deploy polycli loadtest contracts" {
# Deploy polycli ERC20 Contract
cast send --json --private-key "$ephemeral_private_key" --rpc-url "$l2_rpc_url" --create "$(cat ./tests/execution/assets/ERC20.bin)" > erc20.out.json
# Deploy polycli ERC721 Contract
cast send --json --private-key "$ephemeral_private_key" --rpc-url "$l2_rpc_url" --create "$(cat ./tests/execution/assets/ERC721.bin)" > erc721.out.json
# Deploy polycli Loadtest Contract
cast send --json --private-key "$ephemeral_private_key" --rpc-url "$l2_rpc_url" --create "$(cat ./tests/execution/assets/LoadTester.bin)" > LoadTester.out.json
}
# bats test_tags=transaction-erc20,loadtest
@test "Perform ERC20 Transfers" {
polycli loadtest --private-key "$ephemeral_private_key" --mode 2 --rate-limit 500 --requests 2 --concurrency 2 --erc20-address "$(jq -r '.contractAddress' erc20.out.json)" --rpc-url "$l2_rpc_url"
}
# bats test_tags=transaction-erc721
@test "Perform some ERC721 Mints" {
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode 7 --rate-limit 500 --requests 2 --concurrency 2 \
--erc721-address "$(jq -r '.contractAddress' erc721.out.json)" --rpc-url "$l2_rpc_url"
}
# bats test_tags=loadtest
@test "Perform some Storage calls in the load tester contract" {
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
polycli loadtest --private-key "$ephemeral_private_key" --mode s --rate-limit 500 --requests 1 --concurrency 1 \
--loadtest-contract-address "$(jq -r '.contractAddress' LoadTester.out.json)" --rpc-url "$l2_rpc_url"
}
# bats test_tags=transaction-uniswap,loadtest
@test "Perform some uniswap v3 calls" {
polycli loadtest --private-key "$ephemeral_private_key" --mode uniswapv3 --rate-limit 100 --requests 32 --concurrency 2 \
--rpc-url "$l2_rpc_url"
}