fix: EmailManager route calls get_email_users not get_users
Unit Tests / test (push) Successful in 7m27s

The method is named get_email_users in EmailManager; the route was
calling the non-existent get_users, causing an AttributeError on every
GET /api/email/users request.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-08 10:12:24 -04:00
parent bd71466a87
commit 76bbc2b67a
3 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ def get_email_users():
"""Get email users."""
try:
from app import email_manager
users = email_manager.get_users()
users = email_manager.get_email_users()
return jsonify(users)
except Exception as e:
logger.error(f"Error getting email users: {e}")
+3 -3
View File
@@ -398,7 +398,7 @@ class TestAPIEndpoints(unittest.TestCase):
def test_email_endpoints(self, mock_email, mock_sr):
mock_sr.get.return_value = {'id': 'email', 'installed': True}
# Ensure all relevant mock methods return JSON-serializable values
mock_email.get_users.return_value = [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]
mock_email.get_email_users.return_value = [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]
mock_email.create_email_user.return_value = True
mock_email.delete_email_user.return_value = True
mock_email.get_status.return_value = {'postfix_running': True, 'dovecot_running': True, 'total_users': 1, 'total_size_bytes': 0, 'total_size_mb': 0.0, 'users': [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]}
@@ -409,10 +409,10 @@ class TestAPIEndpoints(unittest.TestCase):
response = self.client.get('/api/email/users')
self.assertEqual(response.status_code, 200)
self.assertIsInstance(json.loads(response.data), list)
mock_email.get_users.side_effect = Exception('fail')
mock_email.get_email_users.side_effect = Exception('fail')
response = self.client.get('/api/email/users')
self.assertEqual(response.status_code, 500)
mock_email.get_users.side_effect = None
mock_email.get_email_users.side_effect = None
# /api/email/users (POST)
response = self.client.post('/api/email/users', data=json.dumps({'username': 'user1', 'domain': 'cell', 'password': 'pw'}), content_type='application/json')
self.assertEqual(response.status_code, 200)
+3 -3
View File
@@ -39,7 +39,7 @@ class TestGetEmailUsers(unittest.TestCase):
@patch('app.email_manager')
def test_get_users_returns_200_with_list(self, mock_em):
mock_em.get_users.return_value = [
mock_em.get_email_users.return_value = [
{'username': 'alice@cell', 'domain': 'cell'},
{'username': 'bob@cell', 'domain': 'cell'},
]
@@ -51,14 +51,14 @@ class TestGetEmailUsers(unittest.TestCase):
@patch('app.email_manager')
def test_get_users_returns_empty_list_when_no_users(self, mock_em):
mock_em.get_users.return_value = []
mock_em.get_email_users.return_value = []
r = self.client.get('/api/email/users')
self.assertEqual(r.status_code, 200)
self.assertEqual(json.loads(r.data), [])
@patch('app.email_manager')
def test_get_users_returns_500_on_exception(self, mock_em):
mock_em.get_users.side_effect = Exception('mailbox unreachable')
mock_em.get_email_users.side_effect = Exception('mailbox unreachable')
r = self.client.get('/api/email/users')
self.assertEqual(r.status_code, 500)
self.assertIn('error', json.loads(r.data))