test_core.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from django.apps import apps
  2. from django.conf import settings
  3. from django.test.utils import override_settings
  4. from sentry.models import Organization, Project, ProjectKey, Team, User
  5. from sentry.receivers.core import DEFAULT_SENTRY_PROJECT_ID, create_default_projects
  6. from sentry.testutils import TestCase
  7. class CreateDefaultProjectsTest(TestCase):
  8. @override_settings(SENTRY_PROJECT=1)
  9. def test_simple(self):
  10. user, _ = User.objects.get_or_create(is_superuser=True, defaults={"username": "test"})
  11. Organization.objects.all().delete()
  12. Team.objects.filter(slug="sentry").delete()
  13. Project.objects.filter(id=settings.SENTRY_PROJECT).delete()
  14. config = apps.get_app_config("sentry")
  15. create_default_projects(config)
  16. project = Project.objects.get(id=settings.SENTRY_PROJECT)
  17. assert project.public is False
  18. assert project.name == "Internal"
  19. assert project.slug == "internal"
  20. team = project.teams.first()
  21. assert team.slug == "sentry"
  22. pk = ProjectKey.objects.get(project=project)
  23. assert not pk.roles.api
  24. assert pk.roles.store
  25. # ensure that we don't hit an error here
  26. create_default_projects(config)
  27. @override_settings(SENTRY_PROJECT=1)
  28. def test_without_user(self):
  29. User.objects.filter(is_superuser=True).delete()
  30. Team.objects.filter(slug="sentry").delete()
  31. Project.objects.filter(id=settings.SENTRY_PROJECT).delete()
  32. config = apps.get_app_config("sentry")
  33. create_default_projects(config)
  34. project = Project.objects.get(id=settings.SENTRY_PROJECT)
  35. assert project.public is False
  36. assert project.name == "Internal"
  37. assert project.slug == "internal"
  38. team = project.teams.first()
  39. assert team.slug == "sentry"
  40. pk = ProjectKey.objects.get(project=project)
  41. assert not pk.roles.api
  42. assert pk.roles.store
  43. # ensure that we don't hit an error here
  44. create_default_projects(config)
  45. def test_no_sentry_project(self):
  46. with self.settings(SENTRY_PROJECT=None):
  47. User.objects.filter(is_superuser=True).delete()
  48. Team.objects.filter(slug="sentry").delete()
  49. Project.objects.filter(id=DEFAULT_SENTRY_PROJECT_ID).delete()
  50. config = apps.get_app_config("sentry")
  51. create_default_projects(config)
  52. project = Project.objects.get(id=DEFAULT_SENTRY_PROJECT_ID)
  53. assert project.public is False
  54. assert project.name == "Internal"
  55. assert project.slug == "internal"
  56. team = project.teams.first()
  57. assert team.slug == "sentry"
  58. pk = ProjectKey.objects.get(project=project)
  59. assert not pk.roles.api
  60. assert pk.roles.store
  61. # ensure that we don't hit an error here
  62. create_default_projects(config)