test(config_management): Completed ConfigGroupSoftware Model Tests
ref: #804 #794
This commit is contained in:
@ -0,0 +1,19 @@
|
||||
import pytest
|
||||
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def model(model_configgroupsoftware):
|
||||
|
||||
yield model_configgroupsoftware
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class', autouse = True)
|
||||
def model_kwargs(request, kwargs_configgroupsoftware):
|
||||
|
||||
request.cls.kwargs_create_item = kwargs_configgroupsoftware.copy()
|
||||
|
||||
yield kwargs_configgroupsoftware.copy()
|
||||
|
||||
if hasattr(request.cls, 'kwargs_create_item'):
|
||||
del request.cls.kwargs_create_item
|
@ -9,56 +9,56 @@ from core.tests.unit.centurion_abstract.test_unit_centurion_abstract_model impor
|
||||
|
||||
|
||||
|
||||
class Old:
|
||||
# class Old:
|
||||
|
||||
model = ConfigGroupSoftware
|
||||
# model = ConfigGroupSoftware
|
||||
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(self):
|
||||
""" Setup Test
|
||||
# @classmethod
|
||||
# def setUpTestData(self):
|
||||
# """ Setup Test
|
||||
|
||||
"""
|
||||
# """
|
||||
|
||||
self.organization = Organization.objects.create(name='test_org')
|
||||
# self.organization = Organization.objects.create(name='test_org')
|
||||
|
||||
|
||||
self.parent_item = ConfigGroups.objects.create(
|
||||
organization = self.organization,
|
||||
name = 'group_one'
|
||||
)
|
||||
# self.parent_item = ConfigGroups.objects.create(
|
||||
# organization = self.organization,
|
||||
# name = 'group_one'
|
||||
# )
|
||||
|
||||
self.software_item = Software.objects.create(
|
||||
organization = self.organization,
|
||||
name = 'softwareone',
|
||||
)
|
||||
# self.software_item = Software.objects.create(
|
||||
# organization = self.organization,
|
||||
# name = 'softwareone',
|
||||
# )
|
||||
|
||||
self.kwargs_item_create = {
|
||||
'software': self.software_item,
|
||||
'config_group': self.parent_item,
|
||||
'action': DeviceSoftware.Actions.INSTALL
|
||||
}
|
||||
# self.kwargs_item_create = {
|
||||
# 'software': self.software_item,
|
||||
# 'config_group': self.parent_item,
|
||||
# 'action': DeviceSoftware.Actions.INSTALL
|
||||
# }
|
||||
|
||||
super().setUpTestData()
|
||||
# super().setUpTestData()
|
||||
|
||||
|
||||
|
||||
def test_model_has_property_parent_object(self):
|
||||
""" Check if model contains 'parent_object'
|
||||
# def test_model_has_property_parent_object(self):
|
||||
# """ Check if model contains 'parent_object'
|
||||
|
||||
This is a required property for all models that have a parent
|
||||
"""
|
||||
# This is a required property for all models that have a parent
|
||||
# """
|
||||
|
||||
assert hasattr(self.model, 'parent_object')
|
||||
# assert hasattr(self.model, 'parent_object')
|
||||
|
||||
|
||||
def test_model_property_parent_object_returns_object(self):
|
||||
""" Check if model contains 'parent_object'
|
||||
# def test_model_property_parent_object_returns_object(self):
|
||||
# """ Check if model contains 'parent_object'
|
||||
|
||||
This is a required property for all models that have a parent
|
||||
"""
|
||||
# This is a required property for all models that have a parent
|
||||
# """
|
||||
|
||||
assert self.item.parent_object == self.parent_item
|
||||
# assert self.item.parent_object == self.parent_item
|
||||
|
||||
|
||||
|
||||
@ -71,7 +71,12 @@ class ConfigGroupSoftwareModelTestCases(
|
||||
@property
|
||||
def parameterized_class_attributes(self):
|
||||
|
||||
return {}
|
||||
return {
|
||||
'model_tag': {
|
||||
'type': models.NOT_PROVIDED,
|
||||
'value': models.NOT_PROVIDED,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
parameterized_model_fields = {
|
||||
@ -113,6 +118,25 @@ class ConfigGroupSoftwareModelTestCases(
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.xfail( reason = 'not required for this model' )
|
||||
def test_method_value_not_default___str__(self):
|
||||
pass
|
||||
|
||||
@pytest.mark.xfail( reason = 'not required for this model' )
|
||||
def test_model_tag_defined(self):
|
||||
pass
|
||||
|
||||
def test_method_get_url_kwargs(self, mocker, model_instance, model_kwargs, settings):
|
||||
"""Test Class Method
|
||||
|
||||
Ensure method `get_url_kwargs` returns the correct value.
|
||||
"""
|
||||
|
||||
url = model_instance.get_url_kwargs()
|
||||
|
||||
assert model_instance.get_url_kwargs() == { 'config_group_id': model_kwargs['config_group'].id, 'pk': model_instance.id }
|
||||
|
||||
|
||||
|
||||
class ConfigGroupSoftwareModelInheritedCases(
|
||||
ConfigGroupSoftwareModelTestCases,
|
||||
|
5
app/tests/fixtures/__init__.py
vendored
5
app/tests/fixtures/__init__.py
vendored
@ -49,6 +49,11 @@ from .model_configgrouphost import (
|
||||
model_configgrouphost,
|
||||
)
|
||||
|
||||
from .model_configgroupsoftware import (
|
||||
kwargs_configgroupsoftware,
|
||||
model_configgroupsoftware,
|
||||
)
|
||||
|
||||
from .model_contenttype import (
|
||||
model_contenttype,
|
||||
)
|
||||
|
59
app/tests/fixtures/model_configgroupsoftware.py
vendored
Normal file
59
app/tests/fixtures/model_configgroupsoftware.py
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
import datetime
|
||||
import pytest
|
||||
|
||||
from config_management.models.groups import ConfigGroupSoftware
|
||||
|
||||
from itam.models.device import DeviceSoftware
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def model_configgroupsoftware():
|
||||
|
||||
yield ConfigGroupSoftware
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def kwargs_configgroupsoftware(django_db_blocker,
|
||||
kwargs_software, model_software,
|
||||
kwargs_centurionmodel, model_configgroup, kwargs_configgroup,
|
||||
):
|
||||
|
||||
|
||||
with django_db_blocker.unblock():
|
||||
|
||||
centurion_kwargs = kwargs_centurionmodel.copy()
|
||||
|
||||
random_str = str(datetime.datetime.now(tz=datetime.timezone.utc))
|
||||
|
||||
software_kwargs = kwargs_software.copy()
|
||||
software_kwargs.update({
|
||||
'name': 'cgs' + str(random_str),
|
||||
'organization': centurion_kwargs['organization']
|
||||
})
|
||||
|
||||
software = model_software.objects.create( **software_kwargs )
|
||||
|
||||
|
||||
group_kwargs = kwargs_configgroup.copy()
|
||||
group_kwargs.update({
|
||||
'name': 'cgg' + random_str,
|
||||
'organization': centurion_kwargs['organization']
|
||||
})
|
||||
|
||||
group = model_configgroup.objects.create( **group_kwargs )
|
||||
|
||||
kwargs = {
|
||||
**centurion_kwargs,
|
||||
'software': software,
|
||||
'config_group': group,
|
||||
'action': DeviceSoftware.Actions.INSTALL,
|
||||
'modified': '2024-06-07T23:00:01Z',
|
||||
}
|
||||
|
||||
yield kwargs.copy()
|
||||
|
||||
with django_db_blocker.unblock():
|
||||
|
||||
software.delete()
|
||||
|
||||
group.delete()
|
Reference in New Issue
Block a user