diff --git a/python/nav/web/seeddb/page/netbox/edit.py b/python/nav/web/seeddb/page/netbox/edit.py index ae9e7ceadf..2febc78184 100644 --- a/python/nav/web/seeddb/page/netbox/edit.py +++ b/python/nav/web/seeddb/page/netbox/edit.py @@ -56,20 +56,16 @@ def log_netbox_change(account, old, new): # Compare changes from old to new attribute_list = [ - 'read_only', - 'read_write', 'category', 'ip', 'room', 'organization', - 'snmp_version', ] LogEntry.compare_objects( account, old, new, attribute_list, - censored_attributes=['read_only', 'read_write'], ) diff --git a/tests/integration/seeddb_test.py b/tests/integration/seeddb_test.py index efa7edfe60..55bb0edcb7 100644 --- a/tests/integration/seeddb_test.py +++ b/tests/integration/seeddb_test.py @@ -6,8 +6,7 @@ from mock import MagicMock from nav.models.manage import Netbox, Room -from nav.models.profiles import Account, AlertProfile -from nav.web.seeddb.page.netbox.edit import netbox_edit +from nav.web.seeddb.page.netbox.edit import netbox_edit, log_netbox_change from nav.web.seeddb.utils.delete import dependencies import pytest @@ -58,3 +57,14 @@ def test_dependencies_no_whitelist(netbox): deps = dependencies(qs, []) assert Netbox.objects.get(pk=netbox.pk) assert deps == {} + + +def test_log_netbox_change_should_not_crash(admin_account, netbox): + """Regression test to ensure this function doesn't try to access removed or + invalid attributes on Netbox. + """ + old = Netbox.objects.get(id=netbox.id) + new = netbox + new.category_id = "OTHER" + + assert log_netbox_change(admin_account, old, new) is None