Fix LD sig tests
This commit is contained in:
		
							parent
							
								
									9c325674c6
								
							
						
					
					
						commit
						1c9b73b170
					
				
					 3 changed files with 17 additions and 3 deletions
				
			
		|  | @ -83,3 +83,6 @@ extend-exclude = ''' | ||||||
|   | alembic/versions |   | alembic/versions | ||||||
| )/ | )/ | ||||||
| ''' | ''' | ||||||
|  | 
 | ||||||
|  | [tool.pytest.ini_options] | ||||||
|  | asyncio_mode = "auto" | ||||||
|  |  | ||||||
|  | @ -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: | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue