From bf389143bfa4ea7b5aabd34c56ab11173d5bb550 Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Fri, 16 Jun 2023 12:00:41 +0200 Subject: [PATCH] [rust] Read browser_ttl and driver_ttl from CLI flags --- rust/src/chrome.rs | 4 ++-- rust/src/edge.rs | 4 ++-- rust/src/firefox.rs | 4 ++-- rust/src/iexplorer.rs | 4 ++-- rust/src/lib.rs | 21 +++++++++++++++++++-- rust/src/main.rs | 2 ++ 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/rust/src/chrome.rs b/rust/src/chrome.rs index 2d32fe482d052..bbe88f654addd 100644 --- a/rust/src/chrome.rs +++ b/rust/src/chrome.rs @@ -307,7 +307,6 @@ impl SeleniumManager for ChromeManager { let browser_version_binding = self.get_major_browser_version(); let browser_version = browser_version_binding.as_str(); let mut metadata = get_metadata(self.get_logger()); - let driver_ttl = self.get_config().driver_ttl; match get_driver_version_from_metadata(&metadata.drivers, self.driver_name, browser_version) { @@ -336,7 +335,8 @@ impl SeleniumManager for ChromeManager { self.request_good_version_from_cft()? }; - if !browser_version.is_empty() && !driver_version.is_empty() { + let driver_ttl = self.get_driver_ttl(); + if driver_ttl > 0 && !browser_version.is_empty() && !driver_version.is_empty() { metadata.drivers.push(create_driver_metadata( browser_version, self.driver_name, diff --git a/rust/src/edge.rs b/rust/src/edge.rs index 514ed5371a245..95de9584de098 100644 --- a/rust/src/edge.rs +++ b/rust/src/edge.rs @@ -165,7 +165,6 @@ impl SeleniumManager for EdgeManager { fn request_driver_version(&mut self) -> Result> { let mut browser_version = self.get_major_browser_version(); let mut metadata = get_metadata(self.get_logger()); - let driver_ttl = self.get_config().driver_ttl; match get_driver_version_from_metadata( &metadata.drivers, @@ -211,7 +210,8 @@ impl SeleniumManager for EdgeManager { let driver_version = read_version_from_link(self.get_http_client(), driver_url, self.get_logger())?; - if !browser_version.is_empty() { + let driver_ttl = self.get_driver_ttl(); + if driver_ttl > 0 && !browser_version.is_empty() { metadata.drivers.push(create_driver_metadata( browser_version.as_str(), self.driver_name, diff --git a/rust/src/firefox.rs b/rust/src/firefox.rs index 6630ad9655ca6..09cbeef7ca556 100644 --- a/rust/src/firefox.rs +++ b/rust/src/firefox.rs @@ -166,7 +166,6 @@ impl SeleniumManager for FirefoxManager { let browser_version_binding = self.get_major_browser_version(); let browser_version = browser_version_binding.as_str(); let mut metadata = get_metadata(self.get_logger()); - let driver_ttl = self.get_config().driver_ttl; match get_driver_version_from_metadata(&metadata.drivers, self.driver_name, browser_version) { @@ -182,7 +181,8 @@ impl SeleniumManager for FirefoxManager { let driver_version = read_redirect_from_link(self.get_http_client(), latest_url, self.get_logger())?; - if !browser_version.is_empty() { + let driver_ttl = self.get_driver_ttl(); + if driver_ttl > 0 && !browser_version.is_empty() { metadata.drivers.push(create_driver_metadata( browser_version, self.driver_name, diff --git a/rust/src/iexplorer.rs b/rust/src/iexplorer.rs index 8b6b1889c346a..5453a67168b56 100644 --- a/rust/src/iexplorer.rs +++ b/rust/src/iexplorer.rs @@ -100,7 +100,6 @@ impl SeleniumManager for IExplorerManager { let browser_version_binding = self.get_major_browser_version(); let browser_version = browser_version_binding.as_str(); let mut metadata = get_metadata(self.get_logger()); - let driver_ttl = self.get_config().driver_ttl; match get_driver_version_from_metadata(&metadata.drivers, self.driver_name, browser_version) { @@ -144,7 +143,8 @@ impl SeleniumManager for IExplorerManager { self.get_logger(), )?; - if !browser_version.is_empty() { + let driver_ttl = self.get_driver_ttl(); + if driver_ttl > 0 && !browser_version.is_empty() { metadata.drivers.push(create_driver_metadata( browser_version, self.driver_name, diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 6d8323c383423..d43652e3591e3 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -148,7 +148,6 @@ pub trait SeleniumManager { fn detect_browser_version(&self, commands: Vec) -> Option { let mut metadata = get_metadata(self.get_logger()); let browser_name = &self.get_browser_name(); - let browser_ttl = self.get_config().browser_ttl; match get_browser_version_from_metadata(&metadata.browsers, browser_name) { Some(version) => { @@ -182,7 +181,9 @@ pub trait SeleniumManager { browser_version = Some(full_browser_version); break; } - if browser_version.is_some() && !self.is_safari() { + + let browser_ttl = self.get_browser_ttl(); + if browser_ttl > 0 && browser_version.is_some() && !self.is_safari() { metadata.browsers.push(create_browser_metadata( browser_name, browser_version.as_ref().unwrap(), @@ -455,6 +456,22 @@ pub trait SeleniumManager { self.set_http_client(http_client); Ok(()) } + + fn get_driver_ttl(&self) -> u64 { + self.get_config().driver_ttl + } + + fn set_driver_ttl(&mut self, driver_ttl: u64) { + self.get_config_mut().driver_ttl = driver_ttl; + } + + fn get_browser_ttl(&self) -> u64 { + self.get_config().browser_ttl + } + + fn set_browser_ttl(&mut self, browser_ttl: u64) { + self.get_config_mut().browser_ttl = browser_ttl; + } } // ---------------------------------------------------------- diff --git a/rust/src/main.rs b/rust/src/main.rs index 9c2e34565d6c7..34c292a32f938 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -136,6 +136,8 @@ fn main() { selenium_manager.set_browser_version(cli.browser_version.unwrap_or_default()); selenium_manager.set_driver_version(cli.driver_version.unwrap_or_default()); selenium_manager.set_browser_path(cli.browser_path.unwrap_or_default()); + selenium_manager.set_driver_ttl(cli.driver_ttl); + selenium_manager.set_browser_ttl(cli.browser_ttl); selenium_manager .set_timeout(cli.timeout)