From 90b7387db50e0fe12178827e613ac63a268c8001 Mon Sep 17 00:00:00 2001
From: hi-rustin <29879298+hi-rustin@users.noreply.github.com>
Date: Tue, 20 Aug 2024 23:24:08 +0800
Subject: [PATCH] test: add a regression test for Issue 14409
Signed-off-by: hi-rustin <29879298+hi-rustin@users.noreply.github.com>
---
tests/testsuite/cargo_info/mod.rs | 1 +
.../in/.cargo/config.toml | 2 +
.../in/Cargo.lock | 16 +++++++
.../in/Cargo.toml | 8 ++++
.../in/src/lib.rs | 0
.../without_requiring_registry_auth/mod.rs | 26 ++++++++++++
.../out/.cargo/config.toml | 2 +
.../out/Cargo.lock | 16 +++++++
.../out/Cargo.toml | 8 ++++
.../out/src/lib.rs | 0
.../stderr.term.svg | 31 ++++++++++++++
.../stdout.term.svg | 42 +++++++++++++++++++
12 files changed, 152 insertions(+)
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/in/.cargo/config.toml
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.lock
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.toml
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/in/src/lib.rs
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/mod.rs
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/out/.cargo/config.toml
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.lock
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.toml
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/out/src/lib.rs
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/stderr.term.svg
create mode 100644 tests/testsuite/cargo_info/without_requiring_registry_auth/stdout.term.svg
diff --git a/tests/testsuite/cargo_info/mod.rs b/tests/testsuite/cargo_info/mod.rs
index 4e8f48e16..ab7a355fc 100644
--- a/tests/testsuite/cargo_info/mod.rs
+++ b/tests/testsuite/cargo_info/mod.rs
@@ -28,6 +28,7 @@ mod within_ws;
mod within_ws_and_pick_ws_package;
mod within_ws_with_alternative_registry;
mod within_ws_without_lockfile;
+mod without_requiring_registry_auth;
// Initialize the registry without a token.
// Otherwise, it will try to list owners of the crate and fail.
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/in/.cargo/config.toml b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/.cargo/config.toml
new file mode 100644
index 000000000..d5dfbaf1f
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/.cargo/config.toml
@@ -0,0 +1,2 @@
+[registry]
+global-credential-providers = ["false"]
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.lock b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.lock
new file mode 100644
index 000000000..e9ede42b3
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.lock
@@ -0,0 +1,16 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "cargo-list-test-fixture"
+version = "0.0.0"
+dependencies = [
+ "my-package",
+]
+
+[[package]]
+name = "my-package"
+version = "0.1.1+my-package"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21c0013931e013e890da011e601d9e8514359837da12125e7e89157d9349dcb7"
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.toml b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.toml
new file mode 100644
index 000000000..a200a736b
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/Cargo.toml
@@ -0,0 +1,8 @@
+[workspace]
+
+[package]
+name = "cargo-list-test-fixture"
+version = "0.0.0"
+
+[dependencies]
+my-package = "0.1"
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/in/src/lib.rs b/tests/testsuite/cargo_info/without_requiring_registry_auth/in/src/lib.rs
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/mod.rs b/tests/testsuite/cargo_info/without_requiring_registry_auth/mod.rs
new file mode 100644
index 000000000..20cafe523
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/mod.rs
@@ -0,0 +1,26 @@
+use cargo_test_support::prelude::*;
+use cargo_test_support::{compare::assert_ui, current_dir, file, Project};
+
+use super::init_registry_without_token;
+
+#[cargo_test]
+fn case() {
+ init_registry_without_token();
+ cargo_test_support::registry::Package::new("my-package", "0.1.1+my-package").publish();
+
+ let project = Project::from_template(current_dir!().join("in"));
+ let project_root = project.root();
+ let cwd = &project_root;
+
+ snapbox::cmd::Command::cargo_ui()
+ .arg("info")
+ .arg("my-package")
+ .arg("--registry=dummy-registry")
+ .current_dir(cwd)
+ .assert()
+ .success()
+ .stdout_eq(file!["stdout.term.svg"])
+ .stderr_eq(file!["stderr.term.svg"]);
+
+ assert_ui().subset_matches(current_dir!().join("out"), &project_root);
+}
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/out/.cargo/config.toml b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/.cargo/config.toml
new file mode 100644
index 000000000..d5dfbaf1f
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/.cargo/config.toml
@@ -0,0 +1,2 @@
+[registry]
+global-credential-providers = ["false"]
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.lock b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.lock
new file mode 100644
index 000000000..e9ede42b3
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.lock
@@ -0,0 +1,16 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "cargo-list-test-fixture"
+version = "0.0.0"
+dependencies = [
+ "my-package",
+]
+
+[[package]]
+name = "my-package"
+version = "0.1.1+my-package"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21c0013931e013e890da011e601d9e8514359837da12125e7e89157d9349dcb7"
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.toml b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.toml
new file mode 100644
index 000000000..a200a736b
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/Cargo.toml
@@ -0,0 +1,8 @@
+[workspace]
+
+[package]
+name = "cargo-list-test-fixture"
+version = "0.0.0"
+
+[dependencies]
+my-package = "0.1"
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/out/src/lib.rs b/tests/testsuite/cargo_info/without_requiring_registry_auth/out/src/lib.rs
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/stderr.term.svg b/tests/testsuite/cargo_info/without_requiring_registry_auth/stderr.term.svg
new file mode 100644
index 000000000..51426fe90
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/stderr.term.svg
@@ -0,0 +1,31 @@
+
diff --git a/tests/testsuite/cargo_info/without_requiring_registry_auth/stdout.term.svg b/tests/testsuite/cargo_info/without_requiring_registry_auth/stdout.term.svg
new file mode 100644
index 000000000..cde68454b
--- /dev/null
+++ b/tests/testsuite/cargo_info/without_requiring_registry_auth/stdout.term.svg
@@ -0,0 +1,42 @@
+