test_team_manager.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from sentry.app import env
  2. from sentry.models.team import Team
  3. from sentry.services.hybrid_cloud.user.service import user_service
  4. from sentry.testutils.cases import TestCase
  5. from sentry.testutils.silo import region_silo_test
  6. @region_silo_test
  7. class TeamManagerTest(TestCase):
  8. def setUp(self) -> None:
  9. super().setUp()
  10. env.clear()
  11. def test_simple(self):
  12. user = self.create_user()
  13. org = self.create_organization()
  14. team = self.create_team(organization=org, name="Test")
  15. self.create_member(organization=org, user=user, teams=[team])
  16. result = Team.objects.get_for_user(organization=org, user=user)
  17. assert result == [team]
  18. def test_simple_with_rpc_user(self):
  19. user = user_service.get_user(self.create_user().id)
  20. assert user is not None
  21. org = self.create_organization()
  22. team = self.create_team(organization=org, name="Test")
  23. self.create_member(organization=org, user_id=user.id, teams=[team])
  24. result = Team.objects.get_for_user(organization=org, user=user)
  25. assert result == [team]
  26. def test_invalid_scope(self):
  27. user = self.create_user()
  28. org = self.create_organization()
  29. team = self.create_team(organization=org, name="Test")
  30. self.create_member(organization=org, user=user, teams=[team])
  31. result = Team.objects.get_for_user(organization=org, user=user, scope="idontexist")
  32. assert result == []
  33. def test_valid_scope(self):
  34. user = self.create_user()
  35. org = self.create_organization()
  36. team = self.create_team(organization=org, name="Test")
  37. self.create_member(organization=org, user=user, teams=[team])
  38. result = Team.objects.get_for_user(organization=org, user=user, scope="project:read")
  39. assert result == [team]
  40. def test_user_no_access(self):
  41. user = self.create_user()
  42. user2 = self.create_user()
  43. org = self.create_organization()
  44. team = self.create_team(organization=org, name="Test")
  45. self.create_member(organization=org, user=user, teams=[team])
  46. result = Team.objects.get_for_user(organization=org, user=user2)
  47. assert result == []
  48. def test_with_projects(self):
  49. user = self.create_user()
  50. org = self.create_organization()
  51. team = self.create_team(organization=org, name="Test")
  52. self.create_member(organization=org, user=user, teams=[team])
  53. project = self.create_project(teams=[team], name="foo")
  54. project2 = self.create_project(teams=[team], name="bar")
  55. result = Team.objects.get_for_user(organization=org, user=user, with_projects=True)
  56. assert result == [(team, [project2, project])]