fix(loadtest): verify через admin verification-token, убрать token из register. Refs EventHub/EventHubBack#30

This commit is contained in:
2026-07-15 00:12:32 +03:00
parent e8b90606c3
commit 6bba96c36e
6 changed files with 125 additions and 47 deletions
+30 -4
View File
@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<!--
IFT smoke: register → verify → login → calendar/event.
Требует EVENTHUB_ENV≠prod (в ответе register есть verification_token).
Запуск: tsung -f test/tsung/eventhub_ift_smoke.xml start
IFT smoke: register → admin verification-token → verify → login → calendar/event.
Нужен test/tsung/ift-admin.csv (см. ift-admin.csv.example).
Запуск из корня EventHubBack: tsung -f test/tsung/eventhub_ift_smoke.xml start
-->
<tsung loglevel="notice" version="1.0">
<clients>
@@ -22,10 +22,15 @@
<options>
<option name="ssl_reuse" value="true"/>
<option name="file_server" id="admincred" value="test/tsung/ift-admin.csv"/>
</options>
<sessions>
<session name="ift_smoke" probability="100" type="ts_http">
<setdynvars sourcetype="file" fileid="admincred" delimiter=";" order="iter">
<var name="admin_email"/>
<var name="admin_password"/>
</setdynvars>
<setdynvars sourcetype="random_number" start="100000" end="9999999">
<var name="rand_id"/>
</setdynvars>
@@ -33,14 +38,35 @@
<var name="sec"/>
</setdynvars>
<!-- admin login (admin-api host) -->
<request subst="true">
<dyn_variable name="vtoken" re="&quot;verification_token&quot;\s*:\s*&quot;([^&quot;]+)"/>
<dyn_variable name="admin_token" re="&quot;token&quot;\s*:\s*&quot;([^&quot;]+)"/>
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
<http url="https://admin-api.ift.eventhub.local/v1/admin/login" method="POST"
content_type="application/json"
contents='{"email":"%%_admin_email%%","password":"%%_admin_password%%"}'/>
</request>
<thinktime value="1"/>
<request subst="true">
<dyn_variable name="user_id" re="&quot;id&quot;\s*:\s*&quot;([^&quot;]+)"/>
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
<http url="/v1/register" method="POST" content_type="application/json"
contents='{"email":"lt_smoke_%%_rand_id%%@loadtest.local","password":"testpassword123"}'/>
</request>
<thinktime value="1"/>
<!-- GET /v1/admin/users/:id/verification-token -->
<request subst="true">
<dyn_variable name="vtoken" re="&quot;token&quot;\s*:\s*&quot;([^&quot;]+)"/>
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
<http url="https://admin-api.ift.eventhub.local/v1/admin/users/%%_user_id%%/verification-token"
method="GET">
<http_header name="Authorization" value="Bearer %%_admin_token%%"/>
</http>
</request>
<thinktime value="1"/>
<request subst="true">
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
<http url="/v1/verify" method="POST" content_type="application/json"