Fix LD sig tests

ynh-support
Thomas Sileo 2022-07-29 09:24:51 +02:00
rodzic 9c325674c6
commit 1c9b73b170
3 zmienionych plików z 17 dodań i 3 usunięć

Wyświetl plik

@ -83,3 +83,6 @@ extend-exclude = '''
| alembic/versions | alembic/versions
)/ )/
''' '''
[tool.pytest.ini_options]
asyncio_mode = "auto"

Wyświetl plik

@ -1,6 +1,7 @@
from typing import Generator from typing import Generator
import pytest import pytest
import pytest_asyncio
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from app.database import Base from app.database import Base
@ -11,7 +12,7 @@ from app.main import app
from tests.factories import _Session from tests.factories import _Session
@pytest.fixture @pytest_asyncio.fixture
async def async_db_session(): async def async_db_session():
async with async_session() as session: async with async_session() as session:
async with async_engine.begin() as conn: async with async_engine.begin() as conn:

Wyświetl plik

@ -1,7 +1,12 @@
from copy import deepcopy from copy import deepcopy
import httpx
import pytest
from respx import MockRouter
from app import activitypub as ap from app import activitypub as ap
from app import ldsig from app import ldsig
from app.database import AsyncSession
from app.key import Key from app.key import Key
from tests import factories from tests import factories
@ -28,7 +33,11 @@ _SAMPLE_CREATE = {
} }
def test_linked_data_sig(): @pytest.mark.asyncio
async def test_linked_data_sig(
async_db_session: AsyncSession,
respx_mock: MockRouter,
) -> None:
privkey, pubkey = factories.generate_key() privkey, pubkey = factories.generate_key()
ra = factories.RemoteActorFactory( ra = factories.RemoteActorFactory(
base_url="https://microblog.pub", base_url="https://microblog.pub",
@ -37,8 +46,9 @@ def test_linked_data_sig():
) )
k = Key(ra.ap_id, f"{ra.ap_id}#main-key") k = Key(ra.ap_id, f"{ra.ap_id}#main-key")
k.load(privkey) k.load(privkey)
respx_mock.get(ra.ap_id).mock(return_value=httpx.Response(200, json=ra.ap_actor))
doc = deepcopy(_SAMPLE_CREATE) doc = deepcopy(_SAMPLE_CREATE)
ldsig.generate_signature(doc, k) ldsig.generate_signature(doc, k)
assert ldsig.verify_signature(doc, k) assert (await ldsig.verify_signature(async_db_session, doc)) is True