old_console/assets/tests/test_assets.py
2024-11-02 14:12:45 +03:00

47 lines
1.8 KiB
Python

import http
import logging
from http import HTTPStatus
import pytest
from django.contrib.auth import get_user_model
from django.urls import reverse
from rest_framework.test import APIClient
from assets.models.assets import OperatingSystem, Asset
from perms.models import Perm
_log = logging.getLogger()
TIMEOUT = 10 # time before timeout exception appears
User = get_user_model()
@pytest.mark.django_db
class TestAssetPagesAccess(object):
@pytest.fixture(autouse=True)
def setup_tests(self, django_user_model, add_user_with_permissions):
""" Fixture for preparing database for tests
:param client: object to work with test session
:param django_user_model: object to work with User model in pytest
:param add_user_with_permissions: fixture for adding new user
:return: prepared for tests database with:
user 'user1' with perms.can_view_user permission
user 'test_user' for testing view_user page features
"""
username = 'foo'
password = 'bar'
add_user_with_permissions(username=username, password=password,
is_superuser=True)
add_user_with_permissions(username='test_no_perms', password='1')
add_user_with_permissions(username='test_right_perms', password='1',
permissions=[Perm.can_view_assets_list,
Perm.can_view_asset,
Perm.can_edit_asset])
add_user_with_permissions(username='test_perms', password='1',
permissions=[])
os = OperatingSystem.objects.create(name='MACOS')
for i in range(5):
Asset.objects.create(name=f'test{i}', ip='1.1.1.1', os=os)