ArchiveBox/tests/test_oneshot.py

61 lines
2 KiB
Python
Raw Permalink Normal View History

from pathlib import Path
2020-07-29 16:19:06 +00:00
from .fixtures import *
def test_oneshot_command_exists(tmp_path, disable_extractors_dict):
2020-07-29 16:19:06 +00:00
os.chdir(tmp_path)
process = subprocess.run(['archivebox', 'oneshot'], capture_output=True, env=disable_extractors_dict)
2020-07-29 16:19:06 +00:00
assert not "invalid choice: 'oneshot'" in process.stderr.decode("utf-8")
2020-12-07 20:39:44 +00:00
def test_oneshot_command_saves_page_in_right_folder(tmp_path, disable_extractors_dict):
2020-09-24 16:34:41 +00:00
disable_extractors_dict.update({"SAVE_DOM": "true"})
2020-12-11 14:49:18 +00:00
process = subprocess.run(
[
"archivebox",
"oneshot",
f"--out-dir={tmp_path}",
"--extract=title,favicon,dom",
"http://127.0.0.1:8080/static/example.com.html",
],
capture_output=True,
env=disable_extractors_dict,
)
2020-07-29 16:19:06 +00:00
items = ' '.join([str(x) for x in tmp_path.iterdir()])
current_path = ' '.join([str(x) for x in Path.cwd().iterdir()])
2020-07-29 16:19:06 +00:00
assert "index.json" in items
assert not "index.sqlite3" in current_path
2020-09-24 16:34:41 +00:00
assert "output.html" in items
def test_oneshot_command_succeeds(tmp_path, disable_extractors_dict):
disable_extractors_dict.update({"SAVE_DOM": "true"})
process = subprocess.run(
[
"archivebox",
"oneshot",
f"--out-dir={tmp_path}",
"--extract=title,favicon,dom",
"http://127.0.0.1:8080/static/example.com.html",
],
capture_output=True,
env=disable_extractors_dict,
)
assert process.returncode == 0
def test_oneshot_command_logs_archiving_finished(tmp_path, disable_extractors_dict):
disable_extractors_dict.update({"SAVE_DOM": "true"})
process = subprocess.run(
[
"archivebox",
"oneshot",
f"--out-dir={tmp_path}",
"--extract=title,favicon,dom",
"http://127.0.0.1:8080/static/example.com.html",
],
capture_output=True,
env=disable_extractors_dict,
)
output_str = process.stdout.decode("utf-8")
assert "4 files" in output_str