mirror of
https://github.com/bellingcat/auto-archiver-api.git
synced 2026-06-12 13:38:33 +03:00
Format and lint the tests directory (#58)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
def test_generate_uuid():
|
||||
from app.shared.db.models import generate_uuid
|
||||
from app.shared.db.models import generate_uuid
|
||||
|
||||
assert generate_uuid() != generate_uuid()
|
||||
assert len(generate_uuid()) == 36
|
||||
assert generate_uuid().count("-") == 4
|
||||
|
||||
def test_generate_uuid():
|
||||
assert generate_uuid() != generate_uuid()
|
||||
assert len(generate_uuid()) == 36
|
||||
assert generate_uuid().count("-") == 4
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
from datetime import datetime
|
||||
|
||||
from app.shared import schemas
|
||||
from app.shared.db import models, worker_crud
|
||||
from app.tests.web.db.test_crud import test_data
|
||||
|
||||
|
||||
def test_update_sheet_last_url_archived_at(db_session):
|
||||
|
||||
# Create test sheet
|
||||
test_sheet = models.Sheet(id="sheet-123")
|
||||
db_session.add(test_sheet)
|
||||
@@ -14,17 +13,24 @@ def test_update_sheet_last_url_archived_at(db_session):
|
||||
# Test updating existing sheet
|
||||
assert isinstance(test_sheet.last_url_archived_at, datetime)
|
||||
before = test_sheet.last_url_archived_at
|
||||
assert worker_crud.update_sheet_last_url_archived_at(db_session, "sheet-123") is True
|
||||
assert (
|
||||
worker_crud.update_sheet_last_url_archived_at(db_session, "sheet-123")
|
||||
is True
|
||||
)
|
||||
db_session.refresh(test_sheet)
|
||||
assert isinstance(test_sheet.last_url_archived_at, datetime)
|
||||
assert test_sheet.last_url_archived_at > before
|
||||
|
||||
# Test non-existent sheet
|
||||
assert worker_crud.update_sheet_last_url_archived_at(db_session, "non-existent-sheet") is False
|
||||
assert (
|
||||
worker_crud.update_sheet_last_url_archived_at(
|
||||
db_session, "non-existent-sheet"
|
||||
)
|
||||
is False
|
||||
)
|
||||
|
||||
|
||||
def test_get_group(test_data, db_session):
|
||||
from app.shared.db import worker_crud
|
||||
|
||||
assert worker_crud.get_group(db_session, "spaceship") is not None
|
||||
assert worker_crud.get_group(db_session, "interdimensional") is not None
|
||||
assert worker_crud.get_group(db_session, "animated-characters") is not None
|
||||
@@ -32,24 +38,24 @@ def test_get_group(test_data, db_session):
|
||||
|
||||
|
||||
def test_create_or_get_user(test_data, db_session):
|
||||
from app.shared.db import worker_crud
|
||||
|
||||
assert db_session.query(models.User).count() == 3
|
||||
|
||||
# already exists
|
||||
assert (u1 := worker_crud.create_or_get_user(db_session, "rick@example.com")) is not None
|
||||
assert (
|
||||
u1 := worker_crud.create_or_get_user(db_session, "rick@example.com")
|
||||
) is not None
|
||||
assert u1.email == "rick@example.com"
|
||||
|
||||
# new user
|
||||
assert (u2 := worker_crud.create_or_get_user(db_session, "beth@example.com")) is not None
|
||||
assert (
|
||||
u2 := worker_crud.create_or_get_user(db_session, "beth@example.com")
|
||||
) is not None
|
||||
assert u2.email == "beth@example.com"
|
||||
|
||||
assert db_session.query(models.User).count() == 4
|
||||
|
||||
|
||||
def test_create_tag(db_session):
|
||||
from app.shared.db import worker_crud
|
||||
|
||||
assert db_session.query(models.Tag).count() == 0
|
||||
|
||||
# create first
|
||||
@@ -57,7 +63,10 @@ def test_create_tag(db_session):
|
||||
assert create_tag is not None
|
||||
assert create_tag.id == "tag-101"
|
||||
assert db_session.query(models.Tag).count() == 1
|
||||
assert db_session.query(models.Tag).filter(models.Tag.id == "tag-101").first() == create_tag
|
||||
assert (
|
||||
db_session.query(models.Tag).filter(models.Tag.id == "tag-101").first()
|
||||
== create_tag
|
||||
)
|
||||
|
||||
# same id does not add new db entry
|
||||
existing_tag = worker_crud.create_tag(db_session, "tag-101")
|
||||
@@ -72,9 +81,6 @@ def test_create_tag(db_session):
|
||||
|
||||
|
||||
def test_create_task(db_session):
|
||||
from app.shared import schemas
|
||||
from app.shared.db import worker_crud
|
||||
|
||||
task = schemas.ArchiveCreate(
|
||||
id="archive-id-456-101",
|
||||
url="https://example-0.com",
|
||||
@@ -83,17 +89,22 @@ def test_create_task(db_session):
|
||||
author_id="rick@example.com",
|
||||
group_id="spaceship",
|
||||
tags=[],
|
||||
urls=[]
|
||||
urls=[],
|
||||
)
|
||||
|
||||
# with tags and urls
|
||||
nt = worker_crud.create_archive(db_session, task, [models.Tag(id="tag-101")], [models.ArchiveUrl(url="https://example-0.com/0", key="media_0")])
|
||||
nt = worker_crud.create_archive(
|
||||
db_session,
|
||||
task,
|
||||
[models.Tag(id="tag-101")],
|
||||
[models.ArchiveUrl(url="https://example-0.com/0", key="media_0")],
|
||||
)
|
||||
|
||||
assert nt is not None
|
||||
assert nt.id == "archive-id-456-101"
|
||||
assert nt.url == "https://example-0.com"
|
||||
assert nt.author_id == "rick@example.com"
|
||||
assert nt.public == False
|
||||
assert nt.public is False
|
||||
assert nt.group_id == "spaceship"
|
||||
assert len(nt.tags) == 1
|
||||
assert nt.tags[0].id == "tag-101"
|
||||
@@ -109,7 +120,7 @@ def test_create_task(db_session):
|
||||
assert nt.id == "archive-id-456-102"
|
||||
assert nt.url == "https://example-0.com"
|
||||
assert nt.author_id == "rick@example.com"
|
||||
assert nt.public == False
|
||||
assert nt.public is False
|
||||
assert nt.group_id == "spaceship"
|
||||
assert len(nt.tags) == 0
|
||||
assert len(nt.urls) == 0
|
||||
|
||||
@@ -9,7 +9,7 @@ from app.shared.business_logic import (
|
||||
)
|
||||
|
||||
|
||||
class Test_get_store_archive_until:
|
||||
class TestGetStoreArchiveUntil:
|
||||
GROUP_ID = "test-group"
|
||||
|
||||
def test_group_not_found(self, db_session):
|
||||
@@ -17,7 +17,10 @@ class Test_get_store_archive_until:
|
||||
get_store_archive_until(db_session, self.GROUP_ID)
|
||||
assert str(exc.value) == f"Group {self.GROUP_ID} not found."
|
||||
|
||||
@patch("app.shared.db.worker_crud.get_group", return_value=MagicMock(permissions=None))
|
||||
@patch(
|
||||
"app.shared.db.worker_crud.get_group",
|
||||
return_value=MagicMock(permissions=None),
|
||||
)
|
||||
def test_group_no_permissions(self, db_session):
|
||||
with pytest.raises(AssertionError) as exc:
|
||||
get_store_archive_until(db_session, self.GROUP_ID)
|
||||
@@ -48,14 +51,17 @@ class Test_get_store_archive_until:
|
||||
mock_get_group.assert_called_once_with(db_session, self.GROUP_ID)
|
||||
|
||||
|
||||
class Test_get_store_archive_until_or_never:
|
||||
class TestGetStoreArchiveUntilOrNever:
|
||||
GROUP_ID = "test-group"
|
||||
|
||||
def test_group_not_found(self, db_session):
|
||||
result = get_store_archive_until_or_never(db_session, self.GROUP_ID)
|
||||
assert result is None
|
||||
|
||||
@patch("app.shared.db.worker_crud.get_group", return_value=MagicMock(permissions=None))
|
||||
@patch(
|
||||
"app.shared.db.worker_crud.get_group",
|
||||
return_value=MagicMock(permissions=None),
|
||||
)
|
||||
def test_group_no_permissions(self, db_session):
|
||||
result = get_store_archive_until_or_never(db_session, self.GROUP_ID)
|
||||
assert result is None
|
||||
|
||||
Reference in New Issue
Block a user