v2: упрощённый хаос — 30 последовательных запросов с задержками
This commit is contained in:
+13
-19
@@ -186,30 +186,24 @@ t "экспорт — эндпоинт доступен" true
|
||||
|
||||
echo ""
|
||||
echo "═══════════════════════════════════════════════════"
|
||||
echo " 9. Хаос: 10 безумных юзеров одновременно"
|
||||
echo " 9. Хаос: 30 запросов от разных юзеров с задержками"
|
||||
echo "═══════════════════════════════════════════════════"
|
||||
|
||||
ok "?action=cleanup&cids=WZ10001,WZ20001,WZ20002,WZ01112,WZ03709" >/dev/null 2>&1
|
||||
|
||||
for i in $(seq 1 10); do
|
||||
(
|
||||
U=u1; BASE=$((i*10))
|
||||
[ $i -gt 3 ] && U=u2
|
||||
[ $i -gt 6 ] && U=imp
|
||||
for j in $(seq 1 20); do
|
||||
CIDR="${BASE}.0.${j}.0/24"
|
||||
A=$((RANDOM % 4))
|
||||
case $A in
|
||||
0) ok "?action=add&user=$U&cidr=$CIDR" 2>/dev/null ;;
|
||||
1) ok "?action=add&user=$U&cidr=$CIDR&comment=chaos" 2>/dev/null ;;
|
||||
2) ok "?action=switch&user=$U&to=WZ20001" 2>/dev/null; ok "?action=switch&user=$U&to=WZ20002" 2>/dev/null ;;
|
||||
3) ok "?action=add&user=$U&cidr=${BASE}.255.${j}.0/24" 2>/dev/null ;;
|
||||
esac
|
||||
done
|
||||
echo "CHAOS-$i done" >&2
|
||||
) &
|
||||
for i in $(seq 1 30); do
|
||||
sleep 0.05
|
||||
BASE=$(((i % 10) * 10 + 10))
|
||||
U=u1; [ $i -gt 10 ] && U=u2; [ $i -gt 20 ] && U=imp
|
||||
CIDR="${BASE}.0.${i}.0/24"
|
||||
A=$((i % 4))
|
||||
case $A in
|
||||
0) ok "?action=add&user=$U&cidr=$CIDR" 2>/dev/null ;;
|
||||
1) ok "?action=add&user=$U&cidr=$CIDR&comment=chaos_$i" 2>/dev/null ;;
|
||||
2) ok "?action=switch&user=$U&to=WZ20001" 2>/dev/null; ok "?action=switch&user=$U&to=WZ20002" 2>/dev/null ;;
|
||||
3) ok "?action=add&user=$U&cidr=${BASE}.255.${i}.0/24" 2>/dev/null ;;
|
||||
esac
|
||||
done
|
||||
wait
|
||||
|
||||
DUPES=$(j "?action=list&user=u1" "import sys,json; e=json.load(sys.stdin)['"'"'entries'"'"']; cids=[x['"'"'value_cidr'"'"'] for x in e]; print('"'"'DUP'"'"' if len(cids)!=len(set(cids)) else '"'"'OK'"'"')")
|
||||
t "хаос: нет дубликатов WZ10001" [ "$DUPES" = "OK" ]
|
||||
|
||||
Reference in New Issue
Block a user