network_inventory/src/core/tests/test_get_object_with_view_p...

46 lines
1.4 KiB
Python
Raw Normal View History

2020-02-29 18:54:04 +01:00
from django.http import Http404
from mixer.backend.django import mixer
2020-02-29 18:54:04 +01:00
import pytest
from core import utils
from customers.models import Customer
from devices.models import Device
2020-02-29 18:54:04 +01:00
pytestmark = pytest.mark.django_db
def test_get_object_with_view_permission(create_admin_user):
fixture = create_admin_user()
2022-03-27 14:50:44 +02:00
customer = fixture["customer"]
admin = fixture["admin"]
2023-07-10 16:47:01 +02:00
object = utils.get_object_with_view_permission(Customer, user=admin, pk=customer.id)
assert object == customer
def test_get_object_with_view_permission_device(create_admin_user):
fixture = create_admin_user()
2022-03-27 14:50:44 +02:00
customer = fixture["customer"]
admin = fixture["admin"]
device = mixer.blend(Device, customer=customer)
2023-07-10 16:47:01 +02:00
object = utils.get_object_with_view_permission(Device, user=admin, pk=device.id)
assert object == device
def test_get_object_without_view_permission(create_admin_user):
fixture = create_admin_user()
customer = mixer.blend(Customer)
2022-03-27 14:50:44 +02:00
admin = fixture["admin"]
with pytest.raises(Http404):
2023-07-10 16:47:01 +02:00
utils.get_object_with_view_permission(Customer, user=admin, pk=customer.id)
def test_get_object_without_view_permission_device(create_admin_user):
fixture = create_admin_user()
customer = mixer.blend(Customer)
2022-03-27 14:50:44 +02:00
admin = fixture["admin"]
device = mixer.blend(Device, customer=customer)
with pytest.raises(Http404):
2022-03-27 14:50:44 +02:00
utils.get_object_with_view_permission(Device, user=admin, pk=device.id)