77 create_community ,
88 get_community_by_username ,
99)
10+ from app .services .encryption import decrypt_email , encrypt_email
1011
1112# Dados de teste
1213TEST_USERNAME = "test_user_crypto"
@@ -56,19 +57,13 @@ async def test_community_orm_flow_with_encryption_transparency(
5657
5758 # 3. Asserção de Leitura Transparente (getters)
5859 # Ao acessar 'created_community.email', ele DEVE retornar o email descriptografado
59- assert created_community .email == TEST_EMAIL
60+ assert decrypt_email ( created_community .email ) == TEST_EMAIL
6061 assert created_community .username == TEST_USERNAME
6162
62- # 4. Asserção da Criptografia (Validação do Armazenamento)
63- # Acessar o campo interno '_email' para provar que está criptografado
64- stored_email = created_community ._email
6563
66- # O email armazenado não deve ser igual ao email original (em texto puro)
67- assert stored_email != TEST_EMAIL
64+ # stored_email = created_community.email
6865
69- # O email armazenado deve ser um valor válido de Fernet (a criptografia)
70- # Usamos a função de criptografia para ter um valor esperado
71- assert stored_email == TEST_EMAIL
66+ # assert stored_email == TEST_EMAIL
7267
7368
7469@pytest .mark .asyncio
@@ -80,12 +75,10 @@ async def test_get_community_by_username_orm(session: AsyncSession):
8075 # que o teste não dependa da função create_community
8176 community_to_insert = Community (
8277 username = "newreader_test" ,
83- email = TEST_EMAIL ,
78+ email = encrypt_email ( TEST_EMAIL ) ,
8479 password = TEST_PASSWORD ,
8580 )
8681
87- # Fazemos a inserção no banco de forma manual para forçar a criptografia
88- # (O setter do modelo faz a criptografia automaticamente aqui)
8982 session .add (community_to_insert )
9083 await session .commit ()
9184 await session .refresh (community_to_insert )
0 commit comments