mirror of
https://github.com/bellingcat/auto-archiver.git
synced 2026-06-08 03:18:28 +03:00
Add unit tests for html_formatter, csv_db
This commit is contained in:
0
tests/databases/__init__.py
Normal file
0
tests/databases/__init__.py
Normal file
32
tests/databases/test_csv_db.py
Normal file
32
tests/databases/test_csv_db.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import tempfile
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from auto_archiver.databases.csv_db import CSVDb
|
||||
from auto_archiver.core import Metadata
|
||||
|
||||
|
||||
|
||||
class TestCSVdb(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
_, temp_db = tempfile.mkstemp(suffix="csv")
|
||||
self.temp_db = temp_db
|
||||
|
||||
def tearDown(self):
|
||||
os.remove(self.temp_db)
|
||||
|
||||
def test_store_item(self):
|
||||
db = CSVDb({
|
||||
"csv_db": {"csv_file": self.temp_db}
|
||||
})
|
||||
|
||||
item = Metadata().set_url("http://example.com").set_title("Example").set_content("Example content").success("my-archiver")
|
||||
|
||||
db.done(item)
|
||||
|
||||
with open(self.temp_db, "r") as f:
|
||||
assert f.read().strip() == f"status,metadata,media\nmy-archiver: success,\"{{'_processed_at': {repr(item.get('_processed_at'))}, 'url': 'http://example.com', 'title': 'Example', 'content': 'Example content'}}\",[]"
|
||||
|
||||
# TODO: csv db doesn't have a fetch method - need to add it (?)
|
||||
# assert db.fetch(item) == item
|
||||
Reference in New Issue
Block a user