fix(loadtest): verify через admin verification-token, убрать token из register. Refs EventHub/EventHubBack#30
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
|
||||
<!--
|
||||
IFT load mix: auth_browse 60% + create_flow 40%.
|
||||
Auth: register → verify (verification_token на стендах) → login.
|
||||
Перед прогоном: EVENTHUB_REPLICAS=1 bash …/ift-loadtest-prepare.sh
|
||||
Verify через admin GET /v1/admin/users/:id/verification-token.
|
||||
Нужен test/tsung/ift-admin.csv (см. ift-admin.csv.example).
|
||||
thinktime — секунды.
|
||||
-->
|
||||
<tsung loglevel="notice" version="1.0">
|
||||
@@ -29,22 +29,46 @@
|
||||
|
||||
<options>
|
||||
<option name="ssl_reuse" value="true"/>
|
||||
<option name="file_server" id="admincred" value="test/tsung/ift-admin.csv"/>
|
||||
</options>
|
||||
|
||||
<sessions>
|
||||
<session name="auth_browse" probability="60" 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>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="vtoken" re=""verification_token"\s*:\s*"([^"]+)"/>
|
||||
<dyn_variable name="admin_token" re=""token"\s*:\s*"([^"]+)"/>
|
||||
<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 min="1" max="2" random="true"/>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="user_id" re=""id"\s*:\s*"([^"]+)"/>
|
||||
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
|
||||
<http url="/v1/register" method="POST" content_type="application/json"
|
||||
contents='{"email":"lt_b_%%_rand_id%%@loadtest.local","password":"testpassword123"}'/>
|
||||
</request>
|
||||
<thinktime min="1" max="2" random="true"/>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="vtoken" re=""token"\s*:\s*"([^"]+)"/>
|
||||
<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"
|
||||
@@ -93,6 +117,10 @@
|
||||
</session>
|
||||
|
||||
<session name="create_flow" probability="40" 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>
|
||||
@@ -104,13 +132,32 @@
|
||||
</setdynvars>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="vtoken" re=""verification_token"\s*:\s*"([^"]+)"/>
|
||||
<dyn_variable name="admin_token" re=""token"\s*:\s*"([^"]+)"/>
|
||||
<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 min="1" max="2" random="true"/>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="user_id" re=""id"\s*:\s*"([^"]+)"/>
|
||||
<match do="abort" when="nomatch">HTTP/1.[0-1] 20</match>
|
||||
<http url="/v1/register" method="POST" content_type="application/json"
|
||||
contents='{"email":"lt_c_%%_rand_id%%@loadtest.local","password":"testpassword123"}'/>
|
||||
</request>
|
||||
<thinktime min="1" max="2" random="true"/>
|
||||
|
||||
<request subst="true">
|
||||
<dyn_variable name="vtoken" re=""token"\s*:\s*"([^"]+)"/>
|
||||
<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"
|
||||
|
||||
Reference in New Issue
Block a user