Source code for ska.contrib.django.ska.tests.helpers
import logging
import os
import random
import factories
import pytest
__author__ = "Artur Barseghyan <artur.barseghyan@gmail.com>"
__copyright__ = "2013-2023 Artur Barseghyan"
__license__ = "GPL-2.0-only OR LGPL-2.1-or-later"
__all__ = (
"LOG_INFO",
"NUM_ITEMS",
"PROJECT_DIR",
"SKA_TEST_USER_PASSWORD",
"SKA_TEST_USER_USERNAME",
"change_date",
"create_admin_user",
"generate_data",
"log_info",
"project_dir",
)
LOGGER = logging.getLogger(__name__)
[docs]
def project_dir(base):
"""Project dir."""
return os.path.join(os.path.dirname(__file__), base).replace("\\", "/")
PROJECT_DIR = project_dir
LOG_INFO = True
NUM_ITEMS = 5
SKA_TEST_USER_USERNAME = factories.TEST_ADMIN_USERNAME
SKA_TEST_USER_PASSWORD = factories.TEST_PASSWORD
[docs]
def log_info(func):
"""Logs some useful info."""
if not LOG_INFO:
return func
def inner(self, *args, **kwargs):
"""Inner."""
result = func(self, *args, **kwargs)
LOGGER.debug("\n\n%s", func.__name__)
LOGGER.debug("============================")
if func.__doc__:
LOGGER.debug('""" %s """', func.__doc__.strip())
LOGGER.debug("----------------------------")
if result is not None:
LOGGER.debug(result)
LOGGER.debug("\n++++++++++++++++++++++++++++")
return result
return inner
[docs]
def change_date():
"""Change date."""
return bool(random.randint(0, 1))
[docs]
@pytest.mark.django_db
def create_admin_user():
"""Create a user for testing the dashboard.
TODO: At the moment an admin account is being tested. Automated tests
with diverse accounts are to be implemented.
"""
user = factories.TestAdminUsernameSuperAdminUserFactory(
email="admin@dev.django-ska.com"
)
[docs]
@pytest.mark.django_db
def generate_data(num_items=NUM_ITEMS):
"""Generate data."""
return factories.FooItemFactory.create_batch(num_items)