From 7d115a2a657fcfc54670e56cad3fe44fc7a59a9f Mon Sep 17 00:00:00 2001 From: Luka Hartwig Date: Tue, 4 Feb 2020 23:42:07 +0100 Subject: [PATCH] refactor: port fetch test to rust (#3887) --- cli/tests/integration_tests.rs | 29 +++++++++++++++++++++++++++-- tools/fetch_test.py | 32 -------------------------------- 2 files changed, 27 insertions(+), 34 deletions(-) delete mode 100755 tools/fetch_test.py diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs index 8fbe52dc732297..08fccd7357e8ed 100644 --- a/cli/tests/integration_tests.rs +++ b/cli/tests/integration_tests.rs @@ -21,11 +21,36 @@ fn deno_dir_test() { drop(g); } -// TODO(#2933): Rewrite this test in rust. #[test] fn fetch_test() { + pub use deno::test_util::*; + use std::process::Command; + use tempfile::TempDir; + let g = util::http_server(); - util::run_python_script("tools/fetch_test.py"); + + let deno_dir = TempDir::new().expect("tempdir fail"); + let t = util::root_path().join("cli/tests/006_url_imports.ts"); + + let output = Command::new(deno_exe_path()) + .env("DENO_DIR", deno_dir.path()) + .current_dir(util::root_path()) + .arg("fetch") + .arg(t) + .output() + .expect("Failed to spawn script"); + + let code = output.status.code(); + let out = std::str::from_utf8(&output.stdout).unwrap(); + + assert_eq!(Some(0), code); + assert_eq!(out, ""); + + let expected_path = deno_dir + .path() + .join("deps/http/localhost_PORT4545/cli/tests/subdir/mod2.ts"); + assert_eq!(expected_path.exists(), true); + drop(g); } diff --git a/tools/fetch_test.py b/tools/fetch_test.py deleted file mode 100755 index 4dad99b148de98..00000000000000 --- a/tools/fetch_test.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import os -import shutil -import sys - -import http_server -from test_util import DenoTestCase, run_tests -from util import mkdtemp, tests_path, run_output - - -class TestFetch(DenoTestCase): - def test_fetch(self): - deno_dir = mkdtemp() - try: - t = os.path.join(tests_path, "006_url_imports.ts") - result = run_output([self.deno_exe, "fetch", t], - quiet=True, - merge_env={"DENO_DIR": deno_dir}) - self.assertEqual(result.out, "") - self.assertEqual(result.code, 0) - # Check that we actually did the prefetch. - os.path.exists( - os.path.join( - deno_dir, - "deps/http/localhost_PORT4545/cli/tests/subdir/mod2.ts")) - finally: - shutil.rmtree(deno_dir) - - -if __name__ == "__main__": - run_tests()