Skip to content

Commit

Permalink
[rust] Fix exec driver test in macos
Browse files Browse the repository at this point in the history
  • Loading branch information
bonigarcia committed Aug 5, 2023
1 parent abb0e84 commit 49e8d43
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
8 changes: 5 additions & 3 deletions rust/tests/chrome_download_tests.rs
Expand Up @@ -17,7 +17,7 @@

use assert_cmd::Command;

use crate::common::assert_driver_and_browser;
use crate::common::{assert_browser, assert_driver};
use rstest::rstest;

mod common;
Expand All @@ -36,7 +36,8 @@ fn chrome_latest_download_test() {
.success()
.code(0);

assert_driver_and_browser(&mut cmd);
assert_driver(&mut cmd);
assert_browser(&mut cmd);
}

#[rstest]
Expand All @@ -56,5 +57,6 @@ fn chrome_version_download_test(#[case] browser_version: String) {
.success()
.code(0);

assert_driver_and_browser(&mut cmd);
assert_driver(&mut cmd);
assert_browser(&mut cmd);
}
11 changes: 8 additions & 3 deletions rust/tests/common.rs
Expand Up @@ -23,7 +23,7 @@ use is_executable::is_executable;
use selenium_manager::logger::JsonOutput;
use selenium_manager::shell::run_shell_command_by_os;

pub fn assert_driver_and_browser(cmd: &mut Command) {
pub fn assert_driver(cmd: &mut Command) {
let stdout = &cmd.unwrap().stdout;
let output = std::str::from_utf8(stdout).unwrap();
println!("{}", output);
Expand All @@ -32,7 +32,12 @@ pub fn assert_driver_and_browser(cmd: &mut Command) {
let driver_path = Path::new(&json.result.driver_path);
assert!(driver_path.exists());
assert!(is_executable(driver_path));
}

pub fn assert_browser(cmd: &mut Command) {
let stdout = &cmd.unwrap().stdout;
let output = std::str::from_utf8(stdout).unwrap();
let json: JsonOutput = serde_json::from_str(output).unwrap();
let browser_path = Path::new(&json.result.browser_path);
assert!(browser_path.exists());
assert!(is_executable(browser_path));
Expand All @@ -45,8 +50,8 @@ pub fn exec_driver(cmd: &mut Command) -> String {
let json: JsonOutput = serde_json::from_str(output).unwrap();
let driver_path = Path::new(&json.result.driver_path);

let output =
run_shell_command_by_os(OS, vec![driver_path.to_str().unwrap(), "--version"]).unwrap();
let driver_version_command = format!("{} --version", driver_path.to_str().unwrap());
let output = run_shell_command_by_os(OS, vec![&driver_version_command]).unwrap();
println!("**** EXEC DRIVER: {}", output);
output
}
Expand Down
10 changes: 7 additions & 3 deletions rust/tests/exec_driver_tests.rs
Expand Up @@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.

use crate::common::{assert_driver_and_browser, exec_driver};
use crate::common::{assert_browser, assert_driver, exec_driver};
use std::env::consts::OS;

use assert_cmd::Command;
Expand All @@ -35,8 +35,12 @@ fn exec_driver_test(#[case] browser_name: String, #[case] driver_name: String) {
.success()
.code(0);

if OS.eq("macos") {
assert_driver_and_browser(&mut cmd);
assert_driver(&mut cmd);

if (browser_name.eq("iexplorer") && OS.eq("windows"))
|| (!browser_name.eq("iexplorer") && !OS.eq("windows"))
{
assert_browser(&mut cmd);
let output = exec_driver(&mut cmd);
assert!(output.contains(&driver_name));
}
Expand Down
5 changes: 3 additions & 2 deletions rust/tests/stable_browser_tests.rs
Expand Up @@ -17,7 +17,7 @@

use assert_cmd::Command;

use crate::common::assert_driver_and_browser;
use crate::common::{assert_browser, assert_driver};
use rstest::rstest;

mod common;
Expand All @@ -40,5 +40,6 @@ fn stable_browser_test(#[case] browser_name: String) {
.success()
.code(0);

assert_driver_and_browser(&mut cmd);
assert_driver(&mut cmd);
assert_browser(&mut cmd);
}

0 comments on commit 49e8d43

Please sign in to comment.