mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-05 15:27:53 +10:00
much better tests and add page ui
This commit is contained in:
62
tests/test_cli_oneshot.py
Normal file
62
tests/test_cli_oneshot.py
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Tests for archivebox oneshot command.
|
||||
Verify oneshot archives URL and exits.
|
||||
"""
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sqlite3
|
||||
from pathlib import Path
|
||||
|
||||
from .fixtures import *
|
||||
|
||||
|
||||
def test_oneshot_creates_temporary_collection(tmp_path, disable_extractors_dict):
|
||||
"""Test that oneshot creates temporary collection."""
|
||||
os.chdir(tmp_path)
|
||||
|
||||
result = subprocess.run(
|
||||
['archivebox', 'oneshot', '--index-only', '--depth=0', 'https://example.com'],
|
||||
capture_output=True,
|
||||
env=disable_extractors_dict,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
# Should complete
|
||||
assert result.returncode in [0, 1]
|
||||
|
||||
|
||||
def test_oneshot_without_existing_collection(tmp_path, disable_extractors_dict):
|
||||
"""Test oneshot works without pre-existing collection."""
|
||||
empty_dir = tmp_path / "oneshot_test"
|
||||
empty_dir.mkdir()
|
||||
os.chdir(empty_dir)
|
||||
|
||||
result = subprocess.run(
|
||||
['archivebox', 'oneshot', '--index-only', '--depth=0', 'https://example.com'],
|
||||
capture_output=True,
|
||||
env=disable_extractors_dict,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
# Should work even without init
|
||||
assert result.returncode in [0, 1]
|
||||
|
||||
|
||||
def test_oneshot_creates_archive_output(tmp_path, disable_extractors_dict):
|
||||
"""Test that oneshot creates archive output."""
|
||||
empty_dir = tmp_path / "oneshot_test2"
|
||||
empty_dir.mkdir()
|
||||
os.chdir(empty_dir)
|
||||
|
||||
result = subprocess.run(
|
||||
['archivebox', 'oneshot', '--index-only', '--depth=0', 'https://example.com'],
|
||||
capture_output=True,
|
||||
env=disable_extractors_dict,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
# Oneshot may create archive directory
|
||||
# Check if any output was created
|
||||
assert result.returncode in [0, 1] or len(list(empty_dir.iterdir())) > 0
|
||||
Reference in New Issue
Block a user