v2: упрощённый хаос — 30 последовательных запросов с задержками

This commit is contained in:
2026-06-12 22:49:13 +04:00
parent 23c59c1aae
commit 81921c4e38
3 changed files with 15 additions and 21 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
// ═══════════════════════════════════════════════════════════════════════════════
module.exports = {
version: '0.5.84',
version: '0.5.85',
iamUrl: process.env.V2_IAM_API_URL || 'https://auth-api.ngcloud.ru',
appUrl: process.env.V2_APP_URL || 'https://whitelist.nodejsk8s.services.ngcloud.ru',
};
+13 -19
View File
@@ -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" ]