Log details obfuscated to not leak info
This commit is contained in:
@@ -227,7 +227,31 @@ def test_admin_reports_smtp_validation_errors():
|
||||
'smtp_use_tls': False,
|
||||
})
|
||||
assert failed_validation.status_code == 503
|
||||
assert 'connection refused' in failed_validation.json()['detail']
|
||||
assert failed_validation.json()['detail'].startswith('SMTP validation failed. Reference: ')
|
||||
assert 'connection refused' not in failed_validation.json()['detail']
|
||||
assert failed_validation.headers['X-Request-ID']
|
||||
|
||||
|
||||
def test_request_id_is_preserved_and_sensitive_error_text_is_not_returned():
|
||||
headers = login_headers()
|
||||
with get_connection() as conn:
|
||||
conn.execute('DELETE FROM app_settings WHERE name = ?', ('admin_smtp_mail_rate',))
|
||||
conn.commit()
|
||||
with patch('backend.app.api.admin.send_test_email', side_effect=RuntimeError('password=super-secret token=abc123')):
|
||||
response = client.post(
|
||||
'/api/admin/smtp/test',
|
||||
headers={**headers, 'X-Request-ID': 'audit-test-123'},
|
||||
json={
|
||||
'smtp_host': 'smtp.example.com',
|
||||
'smtp_port': 2525,
|
||||
'smtp_from': 'admin@example.com',
|
||||
},
|
||||
)
|
||||
assert response.status_code == 503
|
||||
assert response.headers['X-Request-ID'] == 'audit-test-123'
|
||||
assert response.json()['detail'] == 'SMTP validation failed. Reference: audit-test-123'
|
||||
assert 'super-secret' not in response.text
|
||||
assert 'abc123' not in response.text
|
||||
|
||||
|
||||
def test_admin_can_add_list_and_remove_users():
|
||||
|
||||
Reference in New Issue
Block a user