diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-04-23 21:54:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-23 22:54:34 +0200 |
commit | 90a167a1a2bb52017a412897381b114db595afad (patch) | |
tree | 2e3354e1ebe295a6d0b308716e426a03bfbfd2ed /tests/integration/npm_tests.rs | |
parent | aff7a64544ee72069049a5429d625b10e4b390a6 (diff) |
test: add private npm registry (#23510)
This commit adds a "private npm registry" to the test server. This
registry requires to send an appropriate Authorization header.
Towards https://github.com/denoland/deno/issues/16105
Diffstat (limited to 'tests/integration/npm_tests.rs')
-rw-r--r-- | tests/integration/npm_tests.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/integration/npm_tests.rs b/tests/integration/npm_tests.rs index 1b7088e7c..3bfd62680 100644 --- a/tests/integration/npm_tests.rs +++ b/tests/integration/npm_tests.rs @@ -3,9 +3,11 @@ use deno_core::serde_json; use deno_core::serde_json::json; use deno_core::serde_json::Value; +use deno_fetch::reqwest; use pretty_assertions::assert_eq; use test_util as util; use test_util::itest; +use url::Url; use util::assert_contains; use util::env_vars_for_npm_tests; use util::http_server; @@ -3081,3 +3083,29 @@ fn run_cjs_in_node_modules_folder() { .run() .assert_matches_text("hi\n"); } + +#[tokio::test] +async fn test_private_npm_registry() { + let _server = http_server(); + + // For now just check that private server rejects requests without proper + // auth header. + + let client = reqwest::Client::new(); + + let url = + Url::parse("http://127.0.0.1:4252/npm/registry/@denotest/bin/0.5.0") + .unwrap(); + + let req = reqwest::Request::new(reqwest::Method::GET, url.clone()); + let resp = client.execute(req).await.unwrap(); + assert_eq!(resp.status(), reqwest::StatusCode::UNAUTHORIZED); + + let mut req = reqwest::Request::new(reqwest::Method::GET, url.clone()); + req.headers_mut().insert( + reqwest::header::AUTHORIZATION, + reqwest::header::HeaderValue::from_static("Bearer private-reg-token"), + ); + let resp = client.execute(req).await.unwrap(); + assert_eq!(resp.status(), reqwest::StatusCode::OK); +} |