github.com/yandex/pandora@v0.5.32/components/providers/scenario/testdata/grpc_payload.yaml (about) 1 variable_sources: 2 - name: users 3 type: file/csv 4 file: testdata/users.csv 5 fields: 6 - user_id 7 - login 8 - pass 9 ignore_first_line: true 10 delimiter: ',' 11 - name: filter_src 12 type: file/json 13 file: testdata/filter.json 14 - name: variables 15 type: variables 16 variables: 17 b: s 18 header: yandex 19 requests: [ ] 20 calls: 21 - name: auth_req 22 tag: auth 23 call: target.TargetService.Auth 24 metadata: 25 metadata: server.proto 26 payload: | 27 {"login": "{{.request.auth_req.preprocessor.user.login}}", "pass": "{{.request.auth_req.preprocessor.user.pass}}"} 28 preprocessors: 29 - type: prepare 30 mapping: 31 user: source.users[next] 32 postprocessors: 33 - type: assert/response 34 payload: 35 - token 36 status_code: 200 37 - name: list_req 38 tag: list 39 call: target.TargetService.List 40 metadata: 41 metadata: server.proto 42 payload: | 43 {"user_id": {{.request.auth_req.postprocessor.userId}}, "token": "{{.request.auth_req.postprocessor.token}}"} 44 - name: order_req 45 tag: order 46 call: target.TargetService.Order 47 metadata: 48 metadata: server.proto 49 payload: | 50 {"user_id": {{.request.auth_req.postprocessor.userId}}, "item_id": {{.request.order_req.preprocessor.item_id}}, "token": "{{.request.auth_req.postprocessor.token}}"} 51 preprocessors: 52 - type: prepare 53 mapping: 54 item_id: request.list_req.postprocessor.result[rand].itemId 55 scenarios: 56 - name: scenario_name 57 weight: 50 58 min_waiting_time: 10 59 requests: 60 - auth_req(1) 61 - sleep(100) 62 - list_req(1) 63 - sleep(100) 64 - order_req(3) 65 - name: scenario_2 66 requests: 67 - auth_req(1) 68 - sleep(100) 69 - list_req(1) 70 - sleep(100) 71 - order_req(2)