mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-14 21:20:06 +02:00
Compare commits
2 Commits
v4.6.0-bet
...
21361-test
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c69c6c4ca1 | ||
|
|
b1d98643ea |
@@ -254,6 +254,7 @@ class APIViewTestCases:
|
||||
action=ObjectChangeActionChoices.ACTION_CREATE,
|
||||
)
|
||||
self.assertEqual(objectchange.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchange, prechange_is_none=True, postchange_is_none=False)
|
||||
|
||||
def test_bulk_create_objects(self):
|
||||
"""
|
||||
@@ -307,6 +308,7 @@ class APIViewTestCases:
|
||||
self.assertEqual(len(objectchanges), len(self.create_data))
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.message, changelog_message)
|
||||
self.assertObjectChangeData(oc, prechange_is_none=True, postchange_is_none=False)
|
||||
|
||||
class UpdateObjectViewTestCase(APITestCase):
|
||||
update_data = {}
|
||||
@@ -366,6 +368,8 @@ class APIViewTestCases:
|
||||
)
|
||||
self.assertEqual(objectchange.action, ObjectChangeActionChoices.ACTION_UPDATE)
|
||||
self.assertEqual(objectchange.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchange, prechange_is_none=False, postchange_is_none=False)
|
||||
self.assertNotEqual(objectchange.prechange_data, objectchange.postchange_data)
|
||||
|
||||
def test_bulk_update_objects(self):
|
||||
"""
|
||||
@@ -416,6 +420,8 @@ class APIViewTestCases:
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.action, ObjectChangeActionChoices.ACTION_UPDATE)
|
||||
self.assertEqual(oc.message, changelog_message)
|
||||
self.assertObjectChangeData(oc, prechange_is_none=False, postchange_is_none=False)
|
||||
self.assertNotEqual(oc.prechange_data, oc.postchange_data)
|
||||
|
||||
class DeleteObjectViewTestCase(APITestCase):
|
||||
|
||||
@@ -464,6 +470,7 @@ class APIViewTestCases:
|
||||
)
|
||||
self.assertEqual(objectchange.action, ObjectChangeActionChoices.ACTION_DELETE)
|
||||
self.assertEqual(objectchange.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchange, prechange_is_none=False, postchange_is_none=True)
|
||||
|
||||
def test_bulk_delete_objects(self):
|
||||
"""
|
||||
@@ -505,6 +512,7 @@ class APIViewTestCases:
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.action, ObjectChangeActionChoices.ACTION_DELETE)
|
||||
self.assertEqual(oc.message, changelog_message)
|
||||
self.assertObjectChangeData(oc, prechange_is_none=False, postchange_is_none=True)
|
||||
|
||||
class GraphQLTestCase(APITestCase):
|
||||
|
||||
|
||||
@@ -83,6 +83,20 @@ class TestCase(_TestCase):
|
||||
# Custom assertions
|
||||
#
|
||||
|
||||
def assertObjectChangeData(self, objectchange, *, prechange_is_none: bool, postchange_is_none: bool):
|
||||
"""
|
||||
Assert that an ObjectChange record has the expected prechange_data and postchange_data.
|
||||
Set prechange_is_none=True to assert the field is null, False to assert it is populated.
|
||||
"""
|
||||
if prechange_is_none:
|
||||
self.assertIsNone(objectchange.prechange_data, "Expected prechange_data to be None")
|
||||
else:
|
||||
self.assertIsNotNone(objectchange.prechange_data, "Expected prechange_data to be populated")
|
||||
if postchange_is_none:
|
||||
self.assertIsNone(objectchange.postchange_data, "Expected postchange_data to be None")
|
||||
else:
|
||||
self.assertIsNotNone(objectchange.postchange_data, "Expected postchange_data to be populated")
|
||||
|
||||
def assertHttpStatus(self, response, expected_status):
|
||||
"""
|
||||
TestCase method. Provide more detail in the event of an unexpected HTTP response.
|
||||
|
||||
@@ -194,6 +194,7 @@ class ViewTestCases:
|
||||
self.assertEqual(len(objectchanges), 1)
|
||||
self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_CREATE)
|
||||
self.assertEqual(objectchanges[0].message, self.form_data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchanges[0], prechange_is_none=True, postchange_is_none=False)
|
||||
|
||||
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'], EXEMPT_EXCLUDE_MODELS=[])
|
||||
def test_create_object_with_constrained_permission(self):
|
||||
@@ -301,6 +302,8 @@ class ViewTestCases:
|
||||
self.assertEqual(len(objectchanges), 1)
|
||||
self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_UPDATE)
|
||||
self.assertEqual(objectchanges[0].message, self.form_data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchanges[0], prechange_is_none=False, postchange_is_none=False)
|
||||
self.assertNotEqual(objectchanges[0].prechange_data, objectchanges[0].postchange_data)
|
||||
|
||||
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'], EXEMPT_EXCLUDE_MODELS=[])
|
||||
def test_edit_object_with_constrained_permission(self):
|
||||
@@ -396,6 +399,7 @@ class ViewTestCases:
|
||||
self.assertEqual(len(objectchanges), 1)
|
||||
self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_DELETE)
|
||||
self.assertEqual(objectchanges[0].message, form_data['changelog_message'])
|
||||
self.assertObjectChangeData(objectchanges[0], prechange_is_none=False, postchange_is_none=True)
|
||||
|
||||
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
||||
def test_delete_object_with_constrained_permission(self):
|
||||
@@ -717,6 +721,7 @@ class ViewTestCases:
|
||||
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(oc, prechange_is_none=True, postchange_is_none=False)
|
||||
|
||||
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
||||
def test_bulk_update_objects_with_permission(self):
|
||||
@@ -870,6 +875,8 @@ class ViewTestCases:
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.action, ObjectChangeActionChoices.ACTION_UPDATE)
|
||||
self.assertEqual(oc.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(oc, prechange_is_none=False, postchange_is_none=False)
|
||||
self.assertNotEqual(oc.prechange_data, oc.postchange_data)
|
||||
|
||||
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'], EXEMPT_EXCLUDE_MODELS=[])
|
||||
def test_bulk_edit_objects_with_constrained_permission(self):
|
||||
@@ -966,6 +973,7 @@ class ViewTestCases:
|
||||
for oc in objectchanges:
|
||||
self.assertEqual(oc.action, ObjectChangeActionChoices.ACTION_DELETE)
|
||||
self.assertEqual(oc.message, data['changelog_message'])
|
||||
self.assertObjectChangeData(oc, prechange_is_none=False, postchange_is_none=True)
|
||||
|
||||
def test_bulk_delete_objects_with_constrained_permission(self):
|
||||
pk_list = self._get_queryset().values_list('pk', flat=True)
|
||||
|
||||
Reference in New Issue
Block a user