multiversx_sc_scenario/scenario/
scenario_runner.rs1use super::model::*;
2
3pub trait ScenarioRunner: Send + Sync {
11 fn run_external_steps(&mut self, step: &ExternalStepsStep);
12
13 fn run_set_state_step(&mut self, step: &SetStateStep);
14
15 fn run_sc_call_step(&mut self, step: &mut ScCallStep);
16
17 fn run_multi_sc_call_step(&mut self, steps: &mut [ScCallStep]);
18
19 fn run_multi_sc_deploy_step(&mut self, steps: &mut [ScDeployStep]);
20
21 fn run_sc_query_step(&mut self, step: &mut ScQueryStep);
22
23 fn run_sc_deploy_step(&mut self, step: &mut ScDeployStep);
24
25 fn run_transfer_step(&mut self, step: &TransferStep);
26
27 fn run_validator_reward_step(&mut self, step: &ValidatorRewardStep);
28
29 fn run_check_state_step(&mut self, step: &CheckStateStep);
30
31 fn run_dump_state_step(&mut self);
32
33 fn run_scenario(&mut self, scenario: &Scenario) {
35 let mut steps = scenario.steps.clone();
36 for step in steps.iter_mut() {
37 match step {
38 Step::ExternalSteps(external_steps_step) => {
39 self.run_external_steps(external_steps_step);
40 }
41 Step::SetState(set_state_step) => {
42 self.run_set_state_step(set_state_step);
43 }
44 Step::ScCall(sc_call_step) => {
45 self.run_sc_call_step(sc_call_step);
46 }
47 Step::ScQuery(sc_query_step) => {
48 self.run_sc_query_step(sc_query_step);
49 }
50 Step::ScDeploy(sc_deploy_step) => {
51 self.run_sc_deploy_step(sc_deploy_step);
52 }
53 Step::Transfer(transfer_step) => {
54 self.run_transfer_step(transfer_step);
55 }
56 Step::ValidatorReward(validator_reward_step) => {
57 self.run_validator_reward_step(validator_reward_step);
58 }
59 Step::CheckState(check_state_step) => {
60 self.run_check_state_step(check_state_step);
61 }
62 Step::DumpState(_) => {
63 self.run_dump_state_step();
64 }
65 }
66 }
67 }
68}