Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

test_helper.py 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import pytest
  2. from libs.helper import extract_tenant_id
  3. from models.account import Account
  4. from models.model import EndUser
  5. class TestExtractTenantId:
  6. """Test cases for the extract_tenant_id utility function."""
  7. def test_extract_tenant_id_from_account_with_tenant(self):
  8. """Test extracting tenant_id from Account with current_tenant_id."""
  9. # Create a mock Account object
  10. account = Account()
  11. # Mock the current_tenant_id property
  12. account._current_tenant = type("MockTenant", (), {"id": "account-tenant-123"})()
  13. tenant_id = extract_tenant_id(account)
  14. assert tenant_id == "account-tenant-123"
  15. def test_extract_tenant_id_from_account_without_tenant(self):
  16. """Test extracting tenant_id from Account without current_tenant_id."""
  17. # Create a mock Account object
  18. account = Account()
  19. account._current_tenant = None
  20. tenant_id = extract_tenant_id(account)
  21. assert tenant_id is None
  22. def test_extract_tenant_id_from_enduser_with_tenant(self):
  23. """Test extracting tenant_id from EndUser with tenant_id."""
  24. # Create a mock EndUser object
  25. end_user = EndUser()
  26. end_user.tenant_id = "enduser-tenant-456"
  27. tenant_id = extract_tenant_id(end_user)
  28. assert tenant_id == "enduser-tenant-456"
  29. def test_extract_tenant_id_from_enduser_without_tenant(self):
  30. """Test extracting tenant_id from EndUser without tenant_id."""
  31. # Create a mock EndUser object
  32. end_user = EndUser()
  33. end_user.tenant_id = None
  34. tenant_id = extract_tenant_id(end_user)
  35. assert tenant_id is None
  36. def test_extract_tenant_id_with_invalid_user_type(self):
  37. """Test extracting tenant_id with invalid user type raises ValueError."""
  38. invalid_user = "not_a_user_object"
  39. with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
  40. extract_tenant_id(invalid_user)
  41. def test_extract_tenant_id_with_none_user(self):
  42. """Test extracting tenant_id with None user raises ValueError."""
  43. with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
  44. extract_tenant_id(None)
  45. def test_extract_tenant_id_with_dict_user(self):
  46. """Test extracting tenant_id with dict user raises ValueError."""
  47. dict_user = {"id": "123", "tenant_id": "456"}
  48. with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
  49. extract_tenant_id(dict_user)