@ -1,4 +1,5 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
from typing import Any
|
||||||
import django
|
import django
|
||||||
import pytest
|
import pytest
|
||||||
import os
|
import os
|
||||||
@ -7,6 +8,7 @@ import sys
|
|||||||
|
|
||||||
from django.core.management import call_command
|
from django.core.management import call_command
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.db import models
|
||||||
from django.test import (
|
from django.test import (
|
||||||
TestCase
|
TestCase
|
||||||
)
|
)
|
||||||
@ -769,7 +771,3 @@ def user(django_db_blocker, model_user, kwargs_user):
|
|||||||
with django_db_blocker.unblock():
|
with django_db_blocker.unblock():
|
||||||
|
|
||||||
user.delete()
|
user.delete()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
17
app/tests/fixtures/__init__.py
vendored
17
app/tests/fixtures/__init__.py
vendored
@ -5,6 +5,10 @@ from .api_request_permissions import (
|
|||||||
api_request_permissions,
|
api_request_permissions,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from .kwargs_api_create import (
|
||||||
|
kwargs_api_create
|
||||||
|
)
|
||||||
|
|
||||||
from .model_centurionaudit import (
|
from .model_centurionaudit import (
|
||||||
kwargs_centurionaudit,
|
kwargs_centurionaudit,
|
||||||
model_centurionaudit,
|
model_centurionaudit,
|
||||||
@ -47,12 +51,25 @@ from .model_featureflag import (
|
|||||||
from .model_gitgroup import (
|
from .model_gitgroup import (
|
||||||
kwargs_gitgroup,
|
kwargs_gitgroup,
|
||||||
model_gitgroup,
|
model_gitgroup,
|
||||||
|
serializer_gitgroup,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .model_instance import (
|
||||||
|
model_instance
|
||||||
)
|
)
|
||||||
|
|
||||||
from .model_permission import (
|
from .model_permission import (
|
||||||
model_permission,
|
model_permission,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from .model_team import (
|
||||||
|
model_team,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .model_teamuser import (
|
||||||
|
model_teamuser,
|
||||||
|
)
|
||||||
|
|
||||||
from .model_tenancyabstract import (
|
from .model_tenancyabstract import (
|
||||||
kwargs_tenancyabstract,
|
kwargs_tenancyabstract,
|
||||||
model_tenancyabstract,
|
model_tenancyabstract,
|
||||||
|
47
app/tests/fixtures/api_request_permissions.py
vendored
47
app/tests/fixtures/api_request_permissions.py
vendored
@ -1,17 +1,17 @@
|
|||||||
import django
|
import datetime
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from settings.models.app_settings import AppSettings
|
from settings.models.app_settings import AppSettings
|
||||||
|
|
||||||
|
|
||||||
User = django.contrib.auth.get_user_model()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture( scope = 'class')
|
@pytest.fixture( scope = 'class')
|
||||||
def api_request_permissions( django_db_blocker,
|
def api_request_permissions( django_db_blocker,
|
||||||
model_contenttype,
|
model_contenttype,
|
||||||
model_permission,
|
model_permission,
|
||||||
|
model_team,
|
||||||
|
model_teamuser,
|
||||||
|
model_user,
|
||||||
model,
|
model,
|
||||||
organization_one,
|
organization_one,
|
||||||
organization_two,
|
organization_two,
|
||||||
@ -41,18 +41,18 @@ def api_request_permissions( django_db_blocker,
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
add_team = Team.objects.create(
|
add_team = model_team.objects.create(
|
||||||
team_name = 'add_team' + str(random_str),
|
team_name = 'add_team' + str(random_str),
|
||||||
organization = organization_one,
|
organization = organization_one,
|
||||||
)
|
)
|
||||||
|
|
||||||
add_team.permissions.set([add_permissions])
|
add_team.permissions.set([add_permissions])
|
||||||
|
|
||||||
add_user = User.objects.create_user(
|
add_user = model_user.objects.create_user(
|
||||||
username="test_user_add" + str(random_str), password="password"
|
username="test_user_add" + str(random_str), password="password"
|
||||||
)
|
)
|
||||||
|
|
||||||
TeamUsers.objects.create(
|
model_teamuser.objects.create(
|
||||||
team = add_team,
|
team = add_team,
|
||||||
user = add_user
|
user = add_user
|
||||||
)
|
)
|
||||||
@ -67,18 +67,18 @@ def api_request_permissions( django_db_blocker,
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
change_team = Team.objects.create(
|
change_team = model_team.objects.create(
|
||||||
team_name = 'change_team' + str(random_str),
|
team_name = 'change_team' + str(random_str),
|
||||||
organization = organization_one,
|
organization = organization_one,
|
||||||
)
|
)
|
||||||
|
|
||||||
change_team.permissions.set([change_permissions])
|
change_team.permissions.set([change_permissions])
|
||||||
|
|
||||||
change_user = User.objects.create_user(
|
change_user = model_user.objects.create_user(
|
||||||
username="test_user_change" + str(random_str), password="password"
|
username="test_user_change" + str(random_str), password="password"
|
||||||
)
|
)
|
||||||
|
|
||||||
TeamUsers.objects.create(
|
model_teamuser.objects.create(
|
||||||
team = change_team,
|
team = change_team,
|
||||||
user = change_user
|
user = change_user
|
||||||
)
|
)
|
||||||
@ -93,17 +93,17 @@ def api_request_permissions( django_db_blocker,
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
delete_team = Team.objects.create(
|
delete_team = model_team.objects.create(
|
||||||
team_name = 'delete_team' + str(random_str),
|
team_name = 'delete_team' + str(random_str),
|
||||||
organization = organization_one,
|
organization = organization_one,
|
||||||
)
|
)
|
||||||
|
|
||||||
delete_team.permissions.set([delete_permissions])
|
delete_team.permissions.set([delete_permissions])
|
||||||
|
|
||||||
delete_user = User.objects.create_user(
|
delete_user = model_user.objects.create_user(
|
||||||
username="test_user_delete" + str(random_str), password="password"
|
username="test_user_delete" + str(random_str), password="password"
|
||||||
)
|
)
|
||||||
TeamUsers.objects.create(
|
model_teamuser.objects.create(
|
||||||
team = delete_team,
|
team = delete_team,
|
||||||
user = delete_user
|
user = delete_user
|
||||||
)
|
)
|
||||||
@ -118,30 +118,30 @@ def api_request_permissions( django_db_blocker,
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
view_team = Team.objects.create(
|
view_team = model_team.objects.create(
|
||||||
team_name = 'view_team' + str(random_str),
|
team_name = 'view_team' + str(random_str),
|
||||||
organization = organization_one,
|
organization = organization_one,
|
||||||
)
|
)
|
||||||
|
|
||||||
view_team.permissions.set([view_permissions])
|
view_team.permissions.set([view_permissions])
|
||||||
|
|
||||||
view_user = User.objects.create_user(
|
view_user = model_user.objects.create_user(
|
||||||
username="test_user_view" + str(random_str), password="password"
|
username="test_user_view" + str(random_str), password="password"
|
||||||
)
|
)
|
||||||
|
|
||||||
TeamUsers.objects.create(
|
model_teamuser.objects.create(
|
||||||
team = view_team,
|
team = view_team,
|
||||||
user = view_user
|
user = view_user
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
different_organization_user = User.objects.create_user(
|
different_organization_user = model_user.objects.create_user(
|
||||||
username="test_diff_org_user" + str(random_str), password="password"
|
username="test_diff_org_user" + str(random_str), password="password"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
different_organization_team = Team.objects.create(
|
different_organization_team = model_team.objects.create(
|
||||||
team_name = 'diff_org_team' + str(random_str),
|
team_name = 'diff_org_team' + str(random_str),
|
||||||
organization = organization_two,
|
organization = organization_two,
|
||||||
)
|
)
|
||||||
@ -153,11 +153,17 @@ def api_request_permissions( django_db_blocker,
|
|||||||
delete_permissions,
|
delete_permissions,
|
||||||
])
|
])
|
||||||
|
|
||||||
TeamUsers.objects.create(
|
model_teamuser.objects.create(
|
||||||
team = different_organization_team,
|
team = different_organization_team,
|
||||||
user = different_organization_user
|
user = different_organization_user
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
no_permission_user = model_user.objects.create_user(
|
||||||
|
username="nil_permissions" + str(random_str), password="password"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
yield {
|
yield {
|
||||||
'app_settings': app_settings,
|
'app_settings': app_settings,
|
||||||
'tenancy': {
|
'tenancy': {
|
||||||
@ -167,10 +173,11 @@ def api_request_permissions( django_db_blocker,
|
|||||||
},
|
},
|
||||||
'user': {
|
'user': {
|
||||||
'add': add_user,
|
'add': add_user,
|
||||||
|
'anon': None,
|
||||||
'change': change_user,
|
'change': change_user,
|
||||||
'delete': delete_user,
|
'delete': delete_user,
|
||||||
'different_tenancy': different_organization_user,
|
'different_tenancy': different_organization_user,
|
||||||
'no_permissions': '',
|
'no_permissions': no_permission_user,
|
||||||
'view': view_user,
|
'view': view_user,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
26
app/tests/fixtures/kwargs_api_create.py
vendored
Normal file
26
app/tests/fixtures/kwargs_api_create.py
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope = 'class')
|
||||||
|
def kwargs_api_create(django_db_blocker, model_kwargs):
|
||||||
|
|
||||||
|
|
||||||
|
kwargs: dict = {}
|
||||||
|
|
||||||
|
with django_db_blocker.unblock():
|
||||||
|
|
||||||
|
for field, value in model_kwargs.items():
|
||||||
|
|
||||||
|
if value is None:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if isinstance(value, models.Model):
|
||||||
|
value = value.id
|
||||||
|
|
||||||
|
kwargs.update({
|
||||||
|
field: value
|
||||||
|
})
|
||||||
|
|
||||||
|
yield kwargs
|
||||||
|
|
||||||
|
del kwargs
|
17
app/tests/fixtures/model_gitgroup.py
vendored
17
app/tests/fixtures/model_gitgroup.py
vendored
@ -1,7 +1,10 @@
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from devops.models.git_group import GitGroup
|
from devops.models.git_group import GitGroup
|
||||||
|
from devops.serializers.git_group import (
|
||||||
|
ModelSerializer,
|
||||||
|
ViewSerializer
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture( scope = 'class')
|
@pytest.fixture( scope = 'class')
|
||||||
@ -11,10 +14,16 @@ def model_gitgroup(request):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture( scope = 'class')
|
@pytest.fixture( scope = 'class')
|
||||||
def kwargs_gitgroup(kwargs_centurionmodel):
|
def serializer_gitgroup():
|
||||||
|
|
||||||
# kwargs = kwargs_centurionmodel.copy()
|
yield {
|
||||||
# del kwargs['model_notes']
|
'model': ModelSerializer,
|
||||||
|
'view': ViewSerializer,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture( scope = 'class')
|
||||||
|
def kwargs_gitgroup(kwargs_centurionmodel):
|
||||||
|
|
||||||
kwargs = {
|
kwargs = {
|
||||||
**kwargs_centurionmodel.copy(),
|
**kwargs_centurionmodel.copy(),
|
||||||
|
87
app/tests/fixtures/model_instance.py
vendored
Normal file
87
app/tests/fixtures/model_instance.py
vendored
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import datetime
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from django.apps import apps
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
model_objs: list = []
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture( scope = 'class')
|
||||||
|
def model_instance(django_db_blocker, model_user, model, model_kwargs):
|
||||||
|
|
||||||
|
with django_db_blocker.unblock():
|
||||||
|
|
||||||
|
|
||||||
|
def instance( user = None, random_field:str = '', kwargs_create: dict = {} ):
|
||||||
|
"""Create a model instance
|
||||||
|
|
||||||
|
Args:
|
||||||
|
user (User, optional): The User to create and add to model.context['user'].
|
||||||
|
Defaults to None.
|
||||||
|
random_field (str, optional): The unique field that needs to be randomized.
|
||||||
|
Defaults to ''.
|
||||||
|
kwargs_create (dict, optional): object create kwargs. overwrites default.
|
||||||
|
Defaults to {}.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Model Object (Model): Model that was created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
global model_objs
|
||||||
|
|
||||||
|
obj = None
|
||||||
|
|
||||||
|
if user:
|
||||||
|
model.context['user'] = user
|
||||||
|
|
||||||
|
|
||||||
|
if model._meta.abstract:
|
||||||
|
|
||||||
|
class MockModel(model):
|
||||||
|
class Meta:
|
||||||
|
app_label = 'core'
|
||||||
|
verbose_name = 'mock instance'
|
||||||
|
managed = False
|
||||||
|
|
||||||
|
obj = MockModel()
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
kwargs = model_kwargs.copy()
|
||||||
|
|
||||||
|
kwargs.update( kwargs_create )
|
||||||
|
|
||||||
|
if random_field:
|
||||||
|
|
||||||
|
random_str = str(datetime.datetime.now(tz=datetime.timezone.utc))
|
||||||
|
|
||||||
|
kwargs.update({
|
||||||
|
random_field: str( random_field ) + '_' + random_str
|
||||||
|
})
|
||||||
|
|
||||||
|
obj = model.objects.create(
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
|
||||||
|
model_objs += [ obj ]
|
||||||
|
|
||||||
|
return obj
|
||||||
|
|
||||||
|
yield instance
|
||||||
|
|
||||||
|
for model_obj in model_objs:
|
||||||
|
|
||||||
|
if model_obj._meta.abstract:
|
||||||
|
|
||||||
|
del model_obj
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
model_obj.delete()
|
||||||
|
|
||||||
|
|
||||||
|
if 'mockmodel' in apps.all_models['core']:
|
||||||
|
|
||||||
|
del apps.all_models['core']['mockmodel']
|
9
app/tests/fixtures/model_team.py
vendored
Normal file
9
app/tests/fixtures/model_team.py
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from access.models.team import Team
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture( scope = 'class')
|
||||||
|
def model_team(request):
|
||||||
|
|
||||||
|
yield Team
|
9
app/tests/fixtures/model_teamuser.py
vendored
Normal file
9
app/tests/fixtures/model_teamuser.py
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from access.models.team_user import TeamUsers
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture( scope = 'class')
|
||||||
|
def model_teamuser(request):
|
||||||
|
|
||||||
|
yield TeamUsers
|
6
app/tests/fixtures/model_tenancyabstract.py
vendored
6
app/tests/fixtures/model_tenancyabstract.py
vendored
@ -11,8 +11,10 @@ def model_tenancyabstract(request):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture( scope = 'class')
|
@pytest.fixture( scope = 'class')
|
||||||
def kwargs_tenancyabstract():
|
def kwargs_tenancyabstract(organization_one):
|
||||||
|
|
||||||
kwargs = {}
|
kwargs = {
|
||||||
|
'organization': organization_one
|
||||||
|
}
|
||||||
|
|
||||||
yield kwargs.copy()
|
yield kwargs.copy()
|
||||||
|
@ -1066,13 +1066,15 @@ log_cli_format = '%(asctime)s %(levelname)s %(message)s'
|
|||||||
log_cli_date_format = '%Y-%m-%d %H:%M:%S'
|
log_cli_date_format = '%Y-%m-%d %H:%M:%S'
|
||||||
|
|
||||||
markers = [
|
markers = [
|
||||||
"audit_models: Selects Audit models...",
|
"api: Selects all API related tests.",
|
||||||
|
"audit_models: Selects Audit models.",
|
||||||
"centurion_models: Selects Centurion models",
|
"centurion_models: Selects Centurion models",
|
||||||
"functional: Selects all Functional tests.",
|
"functional: Selects all Functional tests.",
|
||||||
"meta_models: Selects Meta models",
|
"meta_models: Selects Meta models",
|
||||||
"model_gitgroup: Selects tests for model `git group`",
|
"model_gitgroup: Selects tests for model `git group`",
|
||||||
"models: Selects all models tests.",
|
"models: Selects all models tests.",
|
||||||
"note_models: Selects all centurion model note models",
|
"note_models: Selects all centurion model note models",
|
||||||
|
"permissions: selects all permission related tests.",
|
||||||
"tenancy_models: Selects Tenancy models.",
|
"tenancy_models: Selects Tenancy models.",
|
||||||
"unit: Selects all Unit Tests.",
|
"unit: Selects all Unit Tests.",
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user