diff options
Diffstat (limited to 'cli/tests/integration/jsr_tests.rs')
-rw-r--r-- | cli/tests/integration/jsr_tests.rs | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/cli/tests/integration/jsr_tests.rs b/cli/tests/integration/jsr_tests.rs deleted file mode 100644 index 2de4f0056..000000000 --- a/cli/tests/integration/jsr_tests.rs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. - -use deno_core::serde_json::Value; -use deno_lockfile::Lockfile; -use test_util as util; -use url::Url; -use util::env_vars_for_jsr_tests; -use util::TestContextBuilder; - -itest!(no_module_graph_run { - args: "run jsr/no_module_graph/main.ts", - output: "jsr/no_module_graph/main.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(no_module_graph_info { - args: "info jsr/no_module_graph/main.ts", - output: "jsr/no_module_graph/main_info.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(same_package_multiple_versions { - args: "run --quiet jsr/no_module_graph/multiple.ts", - output: "jsr/no_module_graph/multiple.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(module_graph_run { - args: "run jsr/module_graph/main.ts", - output: "jsr/module_graph/main.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(module_graph_info { - args: "info jsr/module_graph/main.ts", - output: "jsr/module_graph/main_info.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(deps_run { - args: "run jsr/deps/main.ts", - output: "jsr/deps/main.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(deps_info { - args: "info jsr/deps/main.ts", - output: "jsr/deps/main_info.out", - envs: env_vars_for_jsr_tests(), - http_server: true, -}); - -itest!(subset_type_graph { - args: "check --all jsr/subset_type_graph/main.ts", - output: "jsr/subset_type_graph/main.check.out", - envs: env_vars_for_jsr_tests(), - http_server: true, - exit_code: 1, -}); - -itest!(version_not_found { - args: "run jsr/version_not_found/main.ts", - output: "jsr/version_not_found/main.out", - envs: env_vars_for_jsr_tests(), - http_server: true, - exit_code: 1, -}); - -#[test] -fn specifiers_in_lockfile() { - let test_context = TestContextBuilder::for_jsr().use_temp_cwd().build(); - let temp_dir = test_context.temp_dir(); - - temp_dir.write( - "main.ts", - r#"import version from "jsr:@denotest/no_module_graph@0.1"; - -console.log(version);"#, - ); - temp_dir.write("deno.json", "{}"); // to automatically create a lockfile - - test_context - .new_command() - .args("run --quiet main.ts") - .run() - .assert_matches_text("0.1.1\n"); - - let lockfile_path = temp_dir.path().join("deno.lock"); - let mut lockfile = Lockfile::new(lockfile_path.to_path_buf(), false).unwrap(); - *lockfile - .content - .packages - .specifiers - .get_mut("jsr:@denotest/no_module_graph@0.1") - .unwrap() = "jsr:@denotest/no_module_graph@0.1.0".to_string(); - lockfile_path.write(lockfile.as_json_string()); - - test_context - .new_command() - .args("run --quiet main.ts") - .run() - .assert_matches_text("0.1.0\n"); -} - -#[test] -fn reload_info_not_found_cache_but_exists_remote() { - fn remove_version(registry_json: &mut Value, version: &str) { - registry_json - .as_object_mut() - .unwrap() - .get_mut("versions") - .unwrap() - .as_object_mut() - .unwrap() - .remove(version); - } - - fn remove_version_for_package( - deno_dir: &util::TempDir, - package: &str, - version: &str, - ) { - let specifier = - Url::parse(&format!("http://127.0.0.1:4250/{}/meta.json", package)) - .unwrap(); - let registry_json_path = deno_dir - .path() - .join("deps") - .join(deno_cache_dir::url_to_filename(&specifier).unwrap()); - let mut registry_json = registry_json_path.read_json_value(); - remove_version(&mut registry_json, version); - registry_json_path.write_json(®istry_json); - } - - // This tests that when a local machine doesn't have a version - // specified in a dependency that exists in the npm registry - let test_context = TestContextBuilder::for_jsr().use_temp_cwd().build(); - let deno_dir = test_context.deno_dir(); - let temp_dir = test_context.temp_dir(); - temp_dir.write( - "main.ts", - "import { add } from 'jsr:@denotest/add@1'; console.log(add(1, 2));", - ); - - // cache successfully to the deno_dir - let output = test_context.new_command().args("cache main.ts").run(); - output.assert_matches_text(concat!( - "Download http://127.0.0.1:4250/@denotest/add/meta.json\n", - "Download http://127.0.0.1:4250/@denotest/add/1.0.0_meta.json\n", - "Download http://127.0.0.1:4250/@denotest/add/1.0.0/mod.ts\n", - )); - - // modify the package information in the cache to remove the latest version - remove_version_for_package(deno_dir, "@denotest/add", "1.0.0"); - - // should error when `--cache-only` is used now because the version is not in the cache - let output = test_context - .new_command() - .args("run --cached-only main.ts") - .run(); - output.assert_exit_code(1); - output.assert_matches_text("error: Failed to resolve version constraint. Try running again without --cached-only - at file:///[WILDCARD]main.ts:1:21 -"); - - // now try running without it, it should download the package now - test_context - .new_command() - .args("run main.ts") - .run() - .assert_matches_text(concat!( - "Download http://127.0.0.1:4250/@denotest/add/meta.json\n", - "Download http://127.0.0.1:4250/@denotest/add/1.0.0_meta.json\n", - "3\n", - )) - .assert_exit_code(0); -} |