59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import pytest
|
|
|
|
from django.core.urlresolvers import reverse
|
|
from django.core.files.base import File
|
|
|
|
from .. import factories as f
|
|
from ..utils import set_settings
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
def test_authentication(client):
|
|
"User can't access an attachment if not authenticated"
|
|
attachment = f.UserStoryAttachmentFactory.create()
|
|
url = reverse("attachment-url", kwargs={"pk": attachment.pk})
|
|
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 401
|
|
|
|
|
|
def test_authorization(client):
|
|
"User can't access an attachment if not authorized"
|
|
attachment = f.UserStoryAttachmentFactory.create()
|
|
user = f.UserFactory.create()
|
|
|
|
url = reverse("attachment-url", kwargs={"pk": attachment.pk})
|
|
|
|
client.login(user)
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 403
|
|
|
|
|
|
@set_settings(IN_DEVELOPMENT_SERVER=True)
|
|
def test_attachment_redirect_in_devserver(client):
|
|
"When accessing the attachment in devserver redirect to the real attachment url"
|
|
attachment = f.UserStoryAttachmentFactory.create(attached_file="test")
|
|
|
|
url = reverse("attachment-url", kwargs={"pk": attachment.pk})
|
|
|
|
client.login(attachment.owner)
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 302
|
|
|
|
|
|
@set_settings(IN_DEVELOPMENT_SERVER=False)
|
|
def test_attachment_redirect(client):
|
|
"When accessing the attachment redirect using X-Accel-Redirect header"
|
|
attachment = f.UserStoryAttachmentFactory.create()
|
|
|
|
url = reverse("attachment-url", kwargs={"pk": attachment.pk})
|
|
|
|
client.login(attachment.owner)
|
|
response = client.get(url)
|
|
|
|
assert response.status_code == 200
|
|
assert response.has_header('x-accel-redirect')
|