v2: test API — action=switch для переключения компаний
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ipwhitelist",
|
"name": "ipwhitelist",
|
||||||
"version": "0.5.82",
|
"version": "0.5.83",
|
||||||
"description": "IP WhiteList microservice for cloud provider",
|
"description": "IP WhiteList microservice for cloud provider",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
// ═══════════════════════════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
version: '0.5.82',
|
version: '0.5.83',
|
||||||
iamUrl: process.env.V2_IAM_API_URL || 'https://auth-api.ngcloud.ru',
|
iamUrl: process.env.V2_IAM_API_URL || 'https://auth-api.ngcloud.ru',
|
||||||
appUrl: process.env.V2_APP_URL || 'https://whitelist.nodejsk8s.services.ngcloud.ru',
|
appUrl: process.env.V2_APP_URL || 'https://whitelist.nodejsk8s.services.ngcloud.ru',
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,6 +39,21 @@ for b in "${BLOCKED[@]}"; do
|
|||||||
t "запрещён $name ($cidr)" fail "?action=add&user=u1&cidr=$cidr"
|
t "запрещён $name ($cidr)" fail "?action=add&user=u1&cidr=$cidr"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 2. Нормализация и маски"
|
echo " 2. Нормализация и маски"
|
||||||
@@ -57,6 +72,21 @@ t "адрес нормализован (13.0.0.5/24→13.0.0.0/24)" [ "$R" = "13
|
|||||||
NORM=$(j "?action=add&user=u1&cidr=14.0.0.100/24" "import sys,json; print(json.load(sys.stdin).get('wasNormalized'))")
|
NORM=$(j "?action=add&user=u1&cidr=14.0.0.100/24" "import sys,json; print(json.load(sys.stdin).get('wasNormalized'))")
|
||||||
t "wasNormalized=true при нормализации" [ "$NORM" = "True" ]
|
t "wasNormalized=true при нормализации" [ "$NORM" = "True" ]
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 3. Лимиты"
|
echo " 3. Лимиты"
|
||||||
@@ -74,6 +104,21 @@ t "лимит 15 — 16-я отклонена" fail "?action=add&user=u1&cidr=20
|
|||||||
ERR=$(j "?action=add&user=u1&cidr=20.0.99.0/24" "import sys,json; d=json.load(sys.stdin); print(d.get('error','')[:30])")
|
ERR=$(j "?action=add&user=u1&cidr=20.0.99.0/24" "import sys,json; d=json.load(sys.stdin); print(d.get('error','')[:30])")
|
||||||
t "сообщение о лимите" [ -n "$ERR" ]
|
t "сообщение о лимите" [ -n "$ERR" ]
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 4. CRUD — полный цикл"
|
echo " 4. CRUD — полный цикл"
|
||||||
@@ -102,6 +147,21 @@ t "список после удаления — 2 записи" [ "$CNT2" = "2"
|
|||||||
CNT_DEL=$(j "?action=list&user=u1&deleted=1" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
CNT_DEL=$(j "?action=list&user=u1&deleted=1" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
t "с удалёнными — 3 записи" [ "$CNT_DEL" = "3" ]
|
t "с удалёнными — 3 записи" [ "$CNT_DEL" = "3" ]
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 5. Изоляция компаний"
|
echo " 5. Изоляция компаний"
|
||||||
@@ -111,6 +171,21 @@ t "добавление в компанию A" ok "?action=add&user=u2&cidr=40.4
|
|||||||
t "добавление в компанию B" ok "?action=add&user=u2&cidr=41.41.41.0/24"
|
t "добавление в компанию B" ok "?action=add&user=u2&cidr=41.41.41.0/24"
|
||||||
t "пересечение между компаниями разрешено" ok "?action=add&user=u1&cidr=40.40.40.0/24"
|
t "пересечение между компаниями разрешено" ok "?action=add&user=u1&cidr=40.40.40.0/24"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 6. Имперсонация — двойной аудит"
|
echo " 6. Имперсонация — двойной аудит"
|
||||||
@@ -139,6 +214,21 @@ t "удаление под имперсонацией" ok "?action=delete&user=i
|
|||||||
AUDIT3=$(j "?action=audit&user=imp" "import sys,json; a=json.load(sys.stdin)['audit']; print(a[0]['action'])")
|
AUDIT3=$(j "?action=audit&user=imp" "import sys,json; a=json.load(sys.stdin)['audit']; print(a[0]['action'])")
|
||||||
t "аудит DELETE записан" [ "$AUDIT3" = "DELETE" ]
|
t "аудит DELETE записан" [ "$AUDIT3" = "DELETE" ]
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 7. Нагрузочное: 50 операций подряд"
|
echo " 7. Нагрузочное: 50 операций подряд"
|
||||||
@@ -160,6 +250,21 @@ t "нагрузка: 50 добавлений (первые 15 ок, осталь
|
|||||||
LOAD_CNT=$(j "?action=list&user=u1" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
LOAD_CNT=$(j "?action=list&user=u1" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
t "БД после нагрузки: ровно 15 записей" [ "$LOAD_CNT" = "15" ]
|
t "БД после нагрузки: ровно 15 записей" [ "$LOAD_CNT" = "15" ]
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " 8. Экспорт CIDR"
|
echo " 8. Экспорт CIDR"
|
||||||
@@ -169,6 +274,21 @@ EXP=$(j "?action=export&user=u1" "import sys,json; print(len(json.load(sys.stdin
|
|||||||
# Просто проверяем что эндпоинт жив
|
# Просто проверяем что эндпоинт жив
|
||||||
t "экспорт — эндпоинт доступен" true
|
t "экспорт — эндпоинт доступен" true
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " Чистка"
|
echo " Чистка"
|
||||||
@@ -176,6 +296,21 @@ echo "════════════════════════
|
|||||||
|
|
||||||
ok "?action=cleanup&cids=WZ10001,WZ20001,WZ20002,WZ01112,WZ03709" >/dev/null 2>&1
|
ok "?action=cleanup&cids=WZ10001,WZ20001,WZ20002,WZ01112,WZ03709" >/dev/null 2>&1
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
echo " 5b. Переключение компаний (юзер с 2 компаниями)"
|
||||||
|
echo "═══════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
t "добавление в активную (WZ20002)" ok "?action=add&user=u2&cidr=60.60.60.0/24"
|
||||||
|
t "переключение на WZ20001" ok "?action=switch&user=u2&to=WZ20001"
|
||||||
|
t "после переключения — список WZ20001 пуст" ok "?action=list&user=u2"
|
||||||
|
CNT_SW=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20001 0 записей" [ "$CNT_SW" = "0" ]
|
||||||
|
t "добавление в WZ20001 после переключения" ok "?action=add&user=u2&cidr=61.61.61.0/24"
|
||||||
|
t "переключение обратно на WZ20002" ok "?action=switch&user=u2&to=WZ20002"
|
||||||
|
CNT_BACK=$(j "?action=list&user=u2" "import sys,json; print(len(json.load(sys.stdin)['entries']))")
|
||||||
|
t "в WZ20002 всё ещё есть записи" [ "$CNT_BACK" -gt 0 ]
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "═══════════════════════════════════════════════════"
|
echo "═══════════════════════════════════════════════════"
|
||||||
echo " $P / $TOTAL passed"
|
echo " $P / $TOTAL passed"
|
||||||
|
|||||||
Reference in New Issue
Block a user