refactor(itam): Update Test Suite for OperatingSystemVersion model
ref: #823 #819
This commit is contained in:
@ -67,7 +67,7 @@ class OperatingSystemModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
),
|
||||
'version': reverse("v2:_api_v2_operating_system_version-list", request=self._context['view'].request, kwargs={'operating_system_id': item.pk}),
|
||||
'version': reverse("v2:_api_operatingsystemversion-list", request=self._context['view'].request, kwargs={'operating_system_id': item.pk}),
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
@ -27,7 +27,7 @@ class ViewSetBase:
|
||||
|
||||
app_namespace = 'v2'
|
||||
|
||||
url_name = '_api_v2_operating_system_version'
|
||||
url_name = '_api_operatingsystemversion'
|
||||
|
||||
change_data = {'name': '22'}
|
||||
|
||||
|
19
app/itam/tests/unit/operating_system_version/conftest.py
Normal file
19
app/itam/tests/unit/operating_system_version/conftest.py
Normal file
@ -0,0 +1,19 @@
|
||||
import pytest
|
||||
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def model(model_operatingsystemversion):
|
||||
|
||||
yield model_operatingsystemversion
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class', autouse = True)
|
||||
def model_kwargs(request, kwargs_operatingsystemversion):
|
||||
|
||||
request.cls.kwargs_create_item = kwargs_operatingsystemversion.copy()
|
||||
|
||||
yield kwargs_operatingsystemversion.copy()
|
||||
|
||||
if hasattr(request.cls, 'kwargs_create_item'):
|
||||
del request.cls.kwargs_create_item
|
@ -1,6 +1,5 @@
|
||||
import django
|
||||
import pytest
|
||||
import unittest
|
||||
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
@ -77,7 +76,7 @@ class OperatingSystemVersionAPI(
|
||||
)
|
||||
|
||||
client = Client()
|
||||
url = reverse('v2:_api_v2_operating_system_version-detail', kwargs=self.url_view_kwargs)
|
||||
url = reverse('v2:_api_operatingsystemversion-detail', kwargs=self.url_view_kwargs)
|
||||
|
||||
|
||||
client.force_login(self.view_user)
|
@ -1,41 +1,101 @@
|
||||
from django.test import TestCase
|
||||
import pytest
|
||||
|
||||
from access.models.tenant import Tenant as Organization
|
||||
from django.db import models
|
||||
|
||||
from centurion.tests.unit.test_unit_models import (
|
||||
TenancyObjectInheritedCases
|
||||
|
||||
from core.tests.unit.centurion_abstract.test_unit_centurion_abstract_model import (
|
||||
CenturionAbstractModelInheritedCases
|
||||
)
|
||||
|
||||
|
||||
from itam.models.operating_system import OperatingSystem, OperatingSystemVersion
|
||||
|
||||
|
||||
|
||||
class OperatingSystemVersionModel(
|
||||
TenancyObjectInheritedCases,
|
||||
TestCase,
|
||||
@pytest.mark.model_operatingsystemversion
|
||||
class OperatingSystemVersionModelTestCases(
|
||||
CenturionAbstractModelInheritedCases
|
||||
):
|
||||
|
||||
model = OperatingSystemVersion
|
||||
|
||||
@property
|
||||
def parameterized_class_attributes(self):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(self):
|
||||
""" Setup Test
|
||||
|
||||
"""
|
||||
|
||||
self.organization = Organization.objects.create(name='test_org')
|
||||
|
||||
|
||||
self.parent_item = OperatingSystem.objects.create(
|
||||
organization = self.organization,
|
||||
name = 'os_name'
|
||||
)
|
||||
|
||||
self.kwargs_item_create = {
|
||||
'name': "12",
|
||||
'operating_system': self.parent_item,
|
||||
return {
|
||||
'model_tag': {
|
||||
'value': 'operating_system_version'
|
||||
},
|
||||
}
|
||||
|
||||
super().setUpTestData()
|
||||
|
||||
@property
|
||||
def parameterized_model_fields(self):
|
||||
|
||||
return {
|
||||
'operating_system': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.ForeignKey,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
'name': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.CharField,
|
||||
'length': 50,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
'modified': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.DateTimeField,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class OperatingSystemVersionModelInheritedCases(
|
||||
OperatingSystemVersionModelTestCases,
|
||||
):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
@pytest.mark.module_itam
|
||||
class OperatingSystemVersionModelPyTest(
|
||||
OperatingSystemVersionModelTestCases,
|
||||
):
|
||||
pass
|
||||
|
||||
def test_method_get_url_kwargs(self, mocker, model_instance, model_kwargs):
|
||||
"""Test Class Method
|
||||
|
||||
Ensure method `get_url_kwargs` returns the correct value.
|
||||
"""
|
||||
|
||||
|
||||
url = model_instance.get_url_kwargs()
|
||||
|
||||
assert model_instance.get_url_kwargs() == {
|
||||
'operating_system_id': model_kwargs['operating_system'].id,
|
||||
'pk': model_instance.id
|
||||
}
|
||||
|
||||
|
||||
# def test_model_tag_defined(self, model):
|
||||
# """ Model Tag
|
||||
|
||||
# Ensure that the model has a tag defined.
|
||||
# """
|
||||
|
||||
# pytest.xfail( reason = 'model does not require' )
|
||||
|
||||
|
||||
# def test_method_value_not_default___str__(self, model, model_instance ):
|
||||
# """Test Method
|
||||
|
||||
# Ensure method `__str__` does not return the default value.
|
||||
# """
|
||||
|
||||
# pytest.xfail( reason = 'model does not require' )
|
||||
|
@ -16,7 +16,7 @@ class DeviceSoftwareViewsetList(
|
||||
|
||||
viewset = ViewSet
|
||||
|
||||
route_name = 'v2:_api_v2_operating_system_version'
|
||||
route_name = 'v2:_api_operatingsystemversion'
|
||||
|
||||
|
||||
@classmethod
|
||||
|
@ -69,7 +69,7 @@ router.register(
|
||||
router.register(
|
||||
prefix = 'operating_system/(?P<operating_system_id>[0-9]+)/version',
|
||||
viewset = operating_system_version_v2.ViewSet,
|
||||
basename = '_api_v2_operating_system_version'
|
||||
basename = '_api_operatingsystemversion'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'software', viewset = software_v2.ViewSet,
|
||||
|
@ -91,7 +91,7 @@ A Model link is a reference to an item within the database. Supported model link
|
||||
| manufacturer| `$manufacturer-<id>` |
|
||||
| modelnotes| `$-<id>` |
|
||||
| operatingsystem| `$operating_system-<id>` |
|
||||
| operatingsystemversion| `$-<id>` |
|
||||
| operatingsystemversion| `$operating_system_version-<id>` |
|
||||
| organization| `$organization-<id>` |
|
||||
| port| `$-<id>` |
|
||||
| project| `$-<id>` |
|
||||
|
Reference in New Issue
Block a user