Files
sentinel/tests/apidocs/endpoints/releases/test_project_release_files.py
2024-02-15 17:01:50 +00:00

59 lines
1.9 KiB
Python

from django.core.files.uploadedfile import SimpleUploadedFile
from django.test.client import RequestFactory
from django.urls import reverse
from fixtures.apidocs_test_case import APIDocsTestCase
from sentry.testutils.silo import region_silo_test
@region_silo_test
class ProjectReleaseFilesListDocsTest(APIDocsTestCase):
def setUp(self):
project = self.create_project(name="foo")
file1 = self.create_file(
name="blah.js",
size=42,
type="release.file",
headers={"Content-Type": "application/json"},
checksum="dc1e3f3e411979d336c3057cce64294f3420f93a",
)
release = self.create_release(project=project, version="1")
self.create_release_file(
file=file1, release_id=release.id, name="http://example.com/blah.js"
)
self.url = reverse(
"sentry-api-0-project-release-files",
kwargs={
"project_slug": project.slug,
"organization_slug": project.organization.slug,
"version": release.version,
},
)
self.login_as(user=self.user)
def test_get(self):
response = self.client.get(self.url)
request = RequestFactory().get(self.url)
self.validate_schema(request, response)
def test_post(self):
data = {
"name": "http://example.com/application.js",
"header": "X-SourceMap: http://example.com",
"file": SimpleUploadedFile(
"application.js", b"function() { }", content_type="application/javascript"
),
}
response = self.client.post(
self.url,
data,
format="multipart",
)
request = RequestFactory().post(self.url, data=data, content_type="multipart/form-data")
self.validate_schema(request, response)