From ffaf4a8e7dca15f441f9c8fd32f78c06daef93b1 Mon Sep 17 00:00:00 2001 From: Felipe Rosa Date: Thu, 24 Nov 2022 15:22:59 -0300 Subject: [PATCH] Finish vit-ss integration tests rest load request generator implementation --- .../src/common/load/rest.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vit-servicing-station/vit-servicing-station-tests/src/common/load/rest.rs b/src/vit-servicing-station/vit-servicing-station-tests/src/common/load/rest.rs index 761db6cbf7..876ac39854 100644 --- a/src/vit-servicing-station/vit-servicing-station-tests/src/common/load/rest.rs +++ b/src/vit-servicing-station/vit-servicing-station-tests/src/common/load/rest.rs @@ -4,10 +4,13 @@ use crate::common::load::SnapshotRandomizer; use jortestkit::load::{Request, RequestFailure, RequestGenerator}; use std::time::Duration; +const DEFAULT_MAX_SPLITS: usize = 7; // equals to 128 splits, will likely not reach that value but it's there just to prevent a stack overflow + #[derive(Clone, Debug)] pub struct VitRestRequestGenerator { rest_client: RestClient, snapshot_randomizer: SnapshotRandomizer, + max_splits: usize, // avoid infinite splitting } impl VitRestRequestGenerator { @@ -17,6 +20,7 @@ impl VitRestRequestGenerator { Self { snapshot_randomizer: SnapshotRandomizer::new(snapshot), rest_client, + max_splits: DEFAULT_MAX_SPLITS, } } } @@ -65,7 +69,11 @@ impl RequestGenerator for VitRestRequestGenerator { } } - fn split(self) -> (Self, Option) { - todo!() + fn split(mut self) -> (Self, Option) { + if self.max_splits == 0 { + return (self, None); + } + self.max_splits -= 1; + (self.clone(), Some(self)) } }