|
@@ -1,7 +1,7 @@
|
|
|
from django.urls import reverse
|
|
|
from rest_framework import status
|
|
|
|
|
|
-from sentry.models import Project, ProjectStatus, SentryAppInstallationToken
|
|
|
+from sentry.models import Project, ProjectKey, ProjectStatus, SentryAppInstallationToken
|
|
|
from sentry.models.apitoken import ApiToken
|
|
|
from sentry.testutils import APITestCase
|
|
|
|
|
@@ -111,6 +111,25 @@ class ProjectsListTest(APITestCase):
|
|
|
response = self.get_success_response(qs_params={"query": "slug:baz"})
|
|
|
assert len(response.data) == 0
|
|
|
|
|
|
+ def test_dsn_filter(self):
|
|
|
+ Project.objects.all().delete()
|
|
|
+
|
|
|
+ user = self.create_user()
|
|
|
+ org = self.create_organization()
|
|
|
+ team = self.create_team(organization=org, members=[user])
|
|
|
+ project1 = self.create_project(teams=[team])
|
|
|
+ key = ProjectKey.objects.get_or_create(project=project1)[0]
|
|
|
+ self.create_project(teams=[team])
|
|
|
+
|
|
|
+ self.login_as(user=user)
|
|
|
+
|
|
|
+ response = self.get_success_response(qs_params={"query": f"dsn:{key.public_key}"})
|
|
|
+ assert len(response.data) == 1
|
|
|
+ assert response.data[0]["id"] == str(project1.id)
|
|
|
+
|
|
|
+ response = self.get_success_response(qs_params={"query": "dsn:nope"})
|
|
|
+ assert len(response.data) == 0
|
|
|
+
|
|
|
def test_id_query(self):
|
|
|
Project.objects.all().delete()
|
|
|
|