feat: Make sure that depth can only be either 1 or 0
This commit is contained in:
parent
32e790979e
commit
a6940092bb
2 changed files with 9 additions and 3 deletions
|
@ -49,11 +49,11 @@ def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional
|
||||||
"--depth",
|
"--depth",
|
||||||
action="store",
|
action="store",
|
||||||
default=0,
|
default=0,
|
||||||
|
choices=[0,1],
|
||||||
type=int,
|
type=int,
|
||||||
help="Recursively archive all linked pages up to this many hops away"
|
help="Recursively archive all linked pages up to this many hops away"
|
||||||
)
|
)
|
||||||
command = parser.parse_args(args or ())
|
command = parser.parse_args(args or ())
|
||||||
#import_str = accept_stdin(stdin)
|
|
||||||
add(
|
add(
|
||||||
import_str=command.import_path,
|
import_str=command.import_path,
|
||||||
import_path=None,
|
import_path=None,
|
||||||
|
|
|
@ -5,7 +5,13 @@ from .fixtures import *
|
||||||
|
|
||||||
def test_depth_flag_is_accepted(process):
|
def test_depth_flag_is_accepted(process):
|
||||||
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)
|
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)
|
||||||
assert 'unrecognized arguments: --depth' not in arg_process.stderr.decode('utf-8')
|
assert 'unrecognized arguments: --depth' not in arg_process.stderr.decode("utf-8")
|
||||||
|
|
||||||
|
def test_depth_flag_fails_if_it_is_not_0_or_1(process):
|
||||||
|
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=5"], capture_output=True)
|
||||||
|
assert 'invalid choice' in arg_process.stderr.decode("utf-8")
|
||||||
|
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=-1"], capture_output=True)
|
||||||
|
assert 'invalid choice' in arg_process.stderr.decode("utf-8")
|
||||||
|
|
||||||
def test_depth_flag_0_crawls_only_the_arg_page(tmp_path, process):
|
def test_depth_flag_0_crawls_only_the_arg_page(tmp_path, process):
|
||||||
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)
|
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)
|
||||||
|
@ -19,4 +25,4 @@ def test_depth_flag_1_crawls_the_page_AND_links(tmp_path, process):
|
||||||
with open(tmp_path / "index.json", "r") as f:
|
with open(tmp_path / "index.json", "r") as f:
|
||||||
archive_file = f.read()
|
archive_file = f.read()
|
||||||
assert "https://example.com" in archive_file
|
assert "https://example.com" in archive_file
|
||||||
assert "https://www.iana.org/domains/example" in archive_file
|
assert "https://www.iana.org/domains/example" in archive_file
|
||||||
|
|
Loading…
Reference in a new issue