test: Refactor all ViewSet Unit Test cases to use new test cases class

ref: #696 closes #672
This commit is contained in:
2025-03-25 02:22:47 +09:30
parent e8bc98c315
commit 1d1c76e033
88 changed files with 689 additions and 2846 deletions

View File

@ -1,60 +0,0 @@
from django.contrib.auth.models import User
from django.shortcuts import reverse
from django.test import Client, TestCase
from rest_framework.permissions import IsAuthenticated
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetCommon
from itam.viewsets.index import Index
class ItamViewset(
TestCase,
ViewSetCommon
):
viewset = Index
route_name = 'v2:_api_v2_itam_home'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization for user
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_user_add", password="password", is_superuser=True)
client = Client()
url = reverse(self.route_name + '-list')
client.force_login(self.view_user)
self.http_options_response_list = client.options(url)
self.kwargs = {}
def test_view_attr_permission_classes_value(self):
"""Attribute Test
Attribute `permission_classes` must be metadata class `ReactUIMetadata`
"""
view_set = self.viewset()
assert view_set.permission_classes[0] is IsAuthenticated
assert len(view_set.permission_classes) == 1

View File

@ -1,49 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class DeviceViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
"""Setup Test
@ -51,7 +25,6 @@ class DeviceViewsetList(
1. make list request
"""
super().setUpTestData()

View File

@ -1,48 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device_model import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceModelViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_model'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class DeviceModelViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,47 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device_model_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceModelNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_model_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class DeviceModelNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,47 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class DeviceNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,56 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.device import Device
from itam.viewsets.device_operating_system import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceOperatingSystemViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_operating_system'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'device_id': Device.objects.create(
organization = organization,
name = 'dev'
).id
}
class DeviceOperatingSystemViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -62,6 +29,13 @@ class DeviceOperatingSystemViewsetList(
super().setUpTestData()
self.kwargs = {
'device_id': Device.objects.create(
organization = self.organization,
name = 'dev'
).id
}
client = Client()

View File

@ -1,56 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.device import Device
from itam.viewsets.device_software import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceSoftwareViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_software'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'device_id': Device.objects.create(
organization = organization,
name = 'dev'
).id
}
class DeviceSoftwareViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -62,6 +29,13 @@ class DeviceSoftwareViewsetList(
super().setUpTestData()
self.kwargs = {
'device_id': Device.objects.create(
organization = self.organization,
name = 'dev'
).id
}
client = Client()

View File

@ -1,49 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device_type import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceTYpeViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_type'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class DeviceTYpeViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,47 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.device_type_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceTypeNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_device_type_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class DeviceTypeNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,56 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.operating_system import OperatingSystem
from itam.viewsets.device_operating_system import ViewSet
class ViewsetCommon(
ViewSetModel,
class OperatingSystemInstallsViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_operating_system_installs'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'operating_system_id': OperatingSystem.objects.create(
organization = organization,
name = 'os'
).id
}
class OperatingSystemInstallsViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -62,6 +29,12 @@ class OperatingSystemInstallsViewsetList(
super().setUpTestData()
self.kwargs = {
'operating_system_id': OperatingSystem.objects.create(
organization = self.organization,
name = 'os'
).id
}
client = Client()

View File

@ -1,56 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.software import Software
from itam.viewsets.device_software import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareInstallsViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_installs'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'software_id': Software.objects.create(
organization = organization,
name = 'software'
).id
}
class SoftwareInstallsViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -62,6 +29,13 @@ class SoftwareInstallsViewsetList(
super().setUpTestData()
self.kwargs = {
'software_id': Software.objects.create(
organization = self.organization,
name = 'software'
).id
}
client = Client()

View File

@ -1,48 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.operating_system import ViewSet
class ViewsetCommon(
ViewSetModel,
class OperatingSystemViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_operating_system'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class OperatingSystemViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -51,7 +25,6 @@ class OperatingSystemViewsetList(
1. make list request
"""
super().setUpTestData()

View File

@ -1,47 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.operating_system_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class OperatingSystemNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_operating_system_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class OperatingSystemNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,56 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.operating_system import OperatingSystem
from itam.viewsets.operating_system_version import ViewSet
class ViewsetCommon(
ViewSetModel,
class DeviceSoftwareViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_operating_system_version'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'operating_system_id': OperatingSystem.objects.create(
organization = organization,
name = 'os'
).id
}
class DeviceSoftwareViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -62,6 +29,13 @@ class DeviceSoftwareViewsetList(
super().setUpTestData()
self.kwargs = {
'operating_system_id': OperatingSystem.objects.create(
organization = self.organization,
name = 'os'
).id
}
client = Client()

View File

@ -1,48 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.operating_system import OperatingSystem
from itam.viewsets.operating_system_version_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class OperatingSystemVersionNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_operating_system_version_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class OperatingSystemVersionNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,48 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.software import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class SoftwareViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,48 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.software_category import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareCategoryViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_category'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {}
class SoftwareCategoryViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,47 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.software_category_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_category_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class SoftwareCategoryNotesViewsetList(
ViewsetCommon,
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_category_note'
@classmethod
def setUpTestData(self):

View File

@ -1,47 +1,22 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.viewsets.software_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class SoftwareNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -1,54 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.software import Software
from itam.viewsets.software_version import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareVersionViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_version'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
self.kwargs = {
'software_id': Software.objects.create(
organization = organization,
name = 'soft'
).id
}
class SoftwareVersionViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):
@ -57,9 +26,15 @@ class SoftwareVersionViewsetList(
1. make list request
"""
super().setUpTestData()
self.kwargs = {
'software_id': Software.objects.create(
organization = self.organization,
name = 'soft'
).id
}
client = Client()

View File

@ -1,48 +1,23 @@
import pytest
from django.contrib.auth.models import User
from django.test import Client, TestCase
from rest_framework.reverse import reverse
from access.models.organization import Organization
from api.tests.abstract.viewsets import ViewSetModel
from api.tests.unit.test_unit_common_viewset import ModelViewSetInheritedCases
from itam.models.software import Software
from itam.viewsets.software_version_notes import ViewSet
class ViewsetCommon(
ViewSetModel,
class SoftwareVersionNotesViewsetList(
ModelViewSetInheritedCases,
TestCase,
):
viewset = ViewSet
route_name = 'v2:_api_v2_software_version_note'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization
3. create super user
"""
organization = Organization.objects.create(name='test_org')
self.organization = organization
self.view_user = User.objects.create_user(username="test_view_user", password="password", is_superuser=True)
class SoftwareVersionNotesViewsetList(
ViewsetCommon,
TestCase,
):
@classmethod
def setUpTestData(self):

View File

@ -0,0 +1,35 @@
from django.shortcuts import reverse
from django.test import Client, TestCase
from api.tests.unit.test_unit_common_viewset import IndexViewsetInheritedCases
from itam.viewsets.index import Index
class ItamViewset(
IndexViewsetInheritedCases,
TestCase,
):
viewset = Index
route_name = 'v2:_api_v2_itam_home'
@classmethod
def setUpTestData(self):
"""Setup Test
1. Create an organization for user
3. create super user
"""
super().setUpTestData()
client = Client()
url = reverse(self.route_name + '-list')
client.force_login(self.view_user)
self.http_options_response_list = client.options(url)