1
0
Fork 0
mirror of synced 2024-05-03 12:04:18 +12:00
ArchiveBox/tests/test_list.py
Nick Sweeting 354b4627ed fix tests
2021-03-30 23:39:15 -04:00

68 lines
4.1 KiB
Python

import json
from .fixtures import *
def test_list_json(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--json"], capture_output=True)
output_json = json.loads(list_process.stdout.decode("utf-8"))
assert output_json[0]["url"] == "http://127.0.0.1:8080/static/example.com.html"
def test_list_json_headers(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--json", "--with-headers"], capture_output=True)
output_json = json.loads(list_process.stdout.decode("utf-8"))
assert output_json["links"][0]["url"] == "http://127.0.0.1:8080/static/example.com.html"
def test_list_html(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--html"], capture_output=True)
output_html = list_process.stdout.decode("utf-8")
assert "<footer>" not in output_html
assert "http://127.0.0.1:8080/static/example.com.html" in output_html
def test_list_html_headers(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--html", "--with-headers"], capture_output=True)
output_html = list_process.stdout.decode("utf-8")
assert "<footer>" in output_html
assert "http://127.0.0.1:8080/static/example.com.html" in output_html
def test_list_csv(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--csv", "url"], capture_output=True)
output_csv = list_process.stdout.decode("utf-8")
assert "http://127.0.0.1:8080/static/example.com.html" in output_csv
def test_list_csv_headers(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list", "--csv", "url", "--with-headers"], capture_output=True)
output_csv = list_process.stdout.decode("utf-8")
assert "http://127.0.0.1:8080/static/example.com.html" in output_csv
assert "url" in output_csv
def test_list_index_with_wrong_flags(process):
list_process = subprocess.run(["archivebox", "list", "--with-headers"], capture_output=True)
assert "--with-headers can only be used with --json, --html or --csv options" in list_process.stderr.decode("utf-8")
def test_link_sort_by_url(process, disable_extractors_dict):
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/iana.org.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
subprocess.run(["archivebox", "add", "http://127.0.0.1:8080/static/example.com.html", "--depth=0"],
capture_output=True, env=disable_extractors_dict)
list_process = subprocess.run(["archivebox", "list"], capture_output=True)
link_list = list_process.stdout.decode("utf-8").split("\n")
assert "http://127.0.0.1:8080/static/iana.org.html" in link_list[0]
list_process = subprocess.run(["archivebox", "list", "--sort=url"], capture_output=True)
link_list = list_process.stdout.decode("utf-8").split("\n")
assert "http://127.0.0.1:8080/static/example.com.html" in link_list[0]