Skip to content

Commit c2e6088

Browse files
committed
[rust] Refactor logic to get SM CLI binary in tests
1 parent 7af4f19 commit c2e6088

16 files changed

+69
-52
lines changed

rust/tests/browser_download_tests.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::{assert_browser, assert_driver};
19-
use assert_cmd::Command;
18+
use crate::common::{assert_browser, assert_driver, get_selenium_manager};
19+
2020
use rstest::rstest;
2121
use std::env::consts::OS;
2222

@@ -28,7 +28,7 @@ mod common;
2828
#[case("edge")]
2929
fn browser_latest_download_test(#[case] browser: String) {
3030
if !browser.eq("edge") || !OS.eq("windows") {
31-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
31+
let mut cmd = get_selenium_manager();
3232
cmd.args([
3333
"--browser",
3434
&browser,
@@ -54,7 +54,7 @@ fn browser_latest_download_test(#[case] browser: String) {
5454
#[case("firefox", "esr")]
5555
#[case("edge", "beta")]
5656
fn browser_version_download_test(#[case] browser: String, #[case] browser_version: String) {
57-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
57+
let mut cmd = get_selenium_manager();
5858
cmd.args([
5959
"--browser",
6060
&browser,

rust/tests/browser_tests.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::assert_output;
19-
use assert_cmd::Command;
18+
use crate::common::{assert_output, get_selenium_manager};
19+
2020
use exitcode::DATAERR;
2121
use rstest::rstest;
2222
use std::env::consts::OS;
@@ -39,7 +39,7 @@ fn browser_version_test(
3939
#[case] browser_version: String,
4040
#[case] driver_version: String,
4141
) {
42-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
42+
let mut cmd = get_selenium_manager();
4343
cmd.args([
4444
"--browser",
4545
&browser,
@@ -79,7 +79,7 @@ fn wrong_parameters_test(
7979
#[case] driver_version: String,
8080
#[case] error_code: i32,
8181
) {
82-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
82+
let mut cmd = get_selenium_manager();
8383
let result = cmd
8484
.args([
8585
"--debug",
@@ -98,7 +98,7 @@ fn wrong_parameters_test(
9898

9999
#[test]
100100
fn invalid_geckodriver_version_test() {
101-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
101+
let mut cmd = get_selenium_manager();
102102
let result = cmd
103103
.args([
104104
"--browser",
@@ -142,7 +142,7 @@ fn invalid_geckodriver_version_test() {
142142
)]
143143
fn browser_path_test(#[case] os: String, #[case] browser: String, #[case] browser_path: String) {
144144
if OS.eq(&os) {
145-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
145+
let mut cmd = get_selenium_manager();
146146
cmd.args(["--browser", &browser, "--browser-path", &browser_path])
147147
.assert()
148148
.success()

rust/tests/cache_tests.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::get_driver_path;
19-
use assert_cmd::Command;
18+
use crate::common::{get_driver_path, get_selenium_manager};
19+
2020
use rstest::rstest;
2121
use std::fs;
2222
use std::path::Path;
@@ -28,7 +28,7 @@ mod common;
2828
#[case("../áèîö")]
2929
#[case("../テスト")]
3030
fn cache_path_test(#[case] tmp_cache_folder_name: String) {
31-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
31+
let mut cmd = get_selenium_manager();
3232
cmd.args([
3333
"--browser",
3434
"chrome",

rust/tests/common.rs

+5
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ use std::borrow::BorrowMut;
2626
use std::env::consts::OS;
2727
use std::path::Path;
2828

29+
#[allow(dead_code)]
30+
pub fn get_selenium_manager() -> Command {
31+
Command::new(env!("CARGO_BIN_EXE_selenium-manager"))
32+
}
33+
2934
#[allow(dead_code)]
3035
pub fn assert_driver(cmd: &mut Command) {
3136
let stdout = &cmd.unwrap().stdout;

rust/tests/config_tests.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::{assert_browser, assert_driver};
19-
use assert_cmd::Command;
18+
use crate::common::{assert_browser, assert_driver, get_selenium_manager};
19+
2020
use rstest::rstest;
21-
use std::env;
21+
2222
use std::fs::File;
2323
use std::io::{BufWriter, Write};
2424
use tempfile::Builder;
@@ -39,7 +39,7 @@ fn config_test(#[case] browser_name: String) {
3939
.unwrap();
4040
writer.flush().unwrap();
4141

42-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
42+
let mut cmd = get_selenium_manager();
4343
cmd.args([
4444
"--debug",
4545
"--output",

rust/tests/exec_driver_tests.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::{assert_browser, assert_driver, exec_driver};
19-
use assert_cmd::Command;
18+
use crate::common::{assert_browser, assert_driver, exec_driver, get_selenium_manager};
19+
2020
use rstest::rstest;
2121
use std::env::consts::OS;
2222

@@ -28,7 +28,7 @@ mod common;
2828
#[case("firefox", "geckodriver")]
2929
#[case("iexplorer", "IEDriverServer")]
3030
fn exec_driver_test(#[case] browser_name: String, #[case] driver_name: String) {
31-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
31+
let mut cmd = get_selenium_manager();
3232
cmd.args(["--browser", &browser_name, "--output", "json"])
3333
.assert()
3434
.success()

rust/tests/grid_tests.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::assert_output;
19-
use assert_cmd::Command;
18+
use crate::common::{assert_output, get_selenium_manager};
19+
2020
use exitcode::DATAERR;
2121
use rstest::rstest;
2222
use selenium_manager::logger::JsonOutput;
@@ -27,7 +27,7 @@ mod common;
2727

2828
#[test]
2929
fn grid_latest_test() {
30-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
30+
let mut cmd = get_selenium_manager();
3131
cmd.args(["--grid", "--output", "json"])
3232
.assert()
3333
.success()
@@ -55,7 +55,7 @@ fn grid_latest_test() {
5555
#[case("4.9.0")]
5656
#[case("4.10.0")]
5757
fn grid_version_test(#[case] grid_version: &str) {
58-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
58+
let mut cmd = get_selenium_manager();
5959
cmd.args(["--grid", grid_version, "--output", "json"])
6060
.assert()
6161
.success()
@@ -75,7 +75,7 @@ fn grid_version_test(#[case] grid_version: &str) {
7575
#[case("bad-version")]
7676
#[case("99.99.99")]
7777
fn grid_error_test(#[case] grid_version: &str) {
78-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
78+
let mut cmd = get_selenium_manager();
7979
let result = cmd.args(["--grid", grid_version]).assert().try_success();
8080

8181
assert_output(&mut cmd, result, vec!["There was an error"], DATAERR);

rust/tests/iexplorer_tests.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use assert_cmd::Command;
18+
use crate::common::get_selenium_manager;
19+
1920
use rstest::rstest;
2021

22+
mod common;
23+
2124
#[rstest]
2225
#[case("4.8.0")]
2326
#[case("4.8.1")]
2427
fn iexplorer_test(#[case] driver_version: String) {
25-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
28+
let mut cmd = get_selenium_manager();
2629
let cmd_assert = cmd
2730
.args([
2831
"--browser",
@@ -42,7 +45,7 @@ fn iexplorer_test(#[case] driver_version: String) {
4245
#[case("internet-explorer")]
4346
#[case("internet_explorer")]
4447
fn ie_name_test(#[case] browser_name: String) {
45-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
48+
let mut cmd = get_selenium_manager();
4649
let cmd_assert = cmd.args(["--browser", &browser_name]).assert();
4750
cmd_assert.success();
4851
}

rust/tests/mirror_tests.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::assert_driver;
19-
use assert_cmd::Command;
18+
use crate::common::{assert_driver, get_selenium_manager};
2019

2120
mod common;
2221

2322
#[test]
2423
fn mirror_test() {
25-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
24+
let mut cmd = get_selenium_manager();
2625
cmd.args([
2726
"--browser",
2827
"chrome",

rust/tests/offline_tests.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use assert_cmd::Command;
18+
use crate::common::get_selenium_manager;
19+
1920
use std::str;
2021

22+
mod common;
23+
2124
#[test]
2225
fn offline_test() {
23-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
26+
let mut cmd = get_selenium_manager();
2427
cmd.args(["--debug", "--browser", "chrome", "--offline"])
2528
.assert()
2629
.success()

rust/tests/output_tests.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use assert_cmd::Command;
18+
use crate::common::get_selenium_manager;
19+
1920
use selenium_manager::logger::{JsonOutput, MinimalJson, DRIVER_PATH};
2021
use std::path::Path;
2122
use std::str;
2223

24+
mod common;
25+
2326
#[test]
2427
fn json_output_test() {
25-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
28+
let mut cmd = get_selenium_manager();
2629
cmd.args(["--browser", "chrome", "--output", "json"])
2730
.assert()
2831
.success()
@@ -44,7 +47,7 @@ fn json_output_test() {
4447

4548
#[test]
4649
fn shell_output_test() {
47-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
50+
let mut cmd = get_selenium_manager();
4851
cmd.args(["--browser", "chrome", "--output", "shell"])
4952
.assert()
5053
.success()
@@ -58,7 +61,7 @@ fn shell_output_test() {
5861

5962
#[test]
6063
fn mixed_output_test() {
61-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
64+
let mut cmd = get_selenium_manager();
6265
cmd.args(["--browser", "chrome", "--output", "mixed"])
6366
.assert()
6467
.success()

rust/tests/proxy_tests.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::assert_output;
19-
use assert_cmd::Command;
18+
use crate::common::{assert_output, get_selenium_manager};
19+
2020
use exitcode::DATAERR;
2121

2222
mod common;
2323

2424
#[tokio::test]
2525
async fn wrong_proxy_test() {
26-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
26+
let mut cmd = get_selenium_manager();
2727
let result = cmd
2828
.args([
2929
"--debug",
@@ -39,7 +39,7 @@ async fn wrong_proxy_test() {
3939
}
4040
#[test]
4141
fn wrong_protocol_proxy_test() {
42-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
42+
let mut cmd = get_selenium_manager();
4343
let result = cmd
4444
.args(["--browser", "chrome", "--proxy", "wrong:://proxy"])
4545
.assert()
@@ -50,7 +50,7 @@ fn wrong_protocol_proxy_test() {
5050

5151
#[test]
5252
fn wrong_port_proxy_test() {
53-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
53+
let mut cmd = get_selenium_manager();
5454
let result = cmd
5555
.args([
5656
"--browser",

rust/tests/safari_tests.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use assert_cmd::Command;
18+
use crate::common::get_selenium_manager;
19+
1920
use std::env::consts::OS;
2021

22+
mod common;
23+
2124
#[test]
2225
fn safari_test() {
23-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
26+
let mut cmd = get_selenium_manager();
2427
let safari_assert = cmd.args(["--browser", "safari"]).assert();
2528

2629
if OS.eq("macos") {

rust/tests/stable_browser_tests.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::{assert_browser, assert_driver};
19-
use assert_cmd::Command;
18+
use crate::common::{assert_browser, assert_driver, get_selenium_manager};
19+
2020
use rstest::rstest;
2121

2222
mod common;
@@ -26,7 +26,7 @@ mod common;
2626
#[case("firefox")]
2727
#[case("edge")]
2828
fn stable_browser_test(#[case] browser_name: String) {
29-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
29+
let mut cmd = get_selenium_manager();
3030
cmd.args([
3131
"--browser",
3232
&browser_name,

rust/tests/timeout_tests.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use assert_cmd::Command;
18+
use crate::common::get_selenium_manager;
19+
20+
mod common;
1921

2022
#[test]
2123
fn timeout_error_test() {
22-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
24+
let mut cmd = get_selenium_manager();
2325
cmd.args(["--debug", "--browser", "edge", "--timeout", "-1"])
2426
.assert()
2527
.failure();

rust/tests/webview_tests.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::common::assert_driver;
19-
use assert_cmd::Command;
18+
use crate::common::{assert_driver, get_selenium_manager};
2019

2120
mod common;
2221

2322
#[test]
2423
fn webview2_test() {
25-
let mut cmd = Command::new(env!("CARGO_BIN_EXE_selenium-manager"));
24+
let mut cmd = get_selenium_manager();
2625
cmd.args(["--browser", "webview2", "--output", "json"])
2726
.assert()
2827
.success()

0 commit comments

Comments
 (0)