From 8ed0d0400f5dcd5c784fac1fb41b1ec2a0245faf Mon Sep 17 00:00:00 2001 From: dansheps Date: Mon, 24 Feb 2020 10:29:07 -0600 Subject: [PATCH] Add tests --- netbox/extras/tests/test_scripts.py | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/netbox/extras/tests/test_scripts.py b/netbox/extras/tests/test_scripts.py index 6237d1d95..c926a0b29 100644 --- a/netbox/extras/tests/test_scripts.py +++ b/netbox/extras/tests/test_scripts.py @@ -145,6 +145,30 @@ class ScriptVariablesTest(TestCase): self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['var1'].pk, data['var1']) + def test_dynamicobjectvar(self): + """ + Test dynamic version of the objectvar + """ + + class TestScript(Script): + + var1 = DynamicObjectVar( + queryset=DeviceRole.objects.all() + ) + + # Populate some objects + for i in range(1, 6): + DeviceRole( + name='Device Role {}'.format(i), + slug='device-role-{}'.format(i) + ).save() + + # Validate valid data + data = {'var1': DeviceRole.objects.first().pk} + form = TestScript().as_form(data, None) + self.assertTrue(form.is_valid()) + self.assertEqual(form.cleaned_data['var1'].pk, data['var1']) + def test_multiobjectvar(self): class TestScript(Script): @@ -168,6 +192,32 @@ class ScriptVariablesTest(TestCase): self.assertEqual(form.cleaned_data['var1'][1].pk, data['var1'][1]) self.assertEqual(form.cleaned_data['var1'][2].pk, data['var1'][2]) + def test_dynamicmultiobjectvar(self): + """ + Test dynamic version of the multiobjectvar + """ + + class TestScript(Script): + + var1 = DynamicMultiObjectVar( + queryset=DeviceRole.objects.all() + ) + + # Populate some objects + for i in range(1, 6): + DeviceRole( + name='Device Role {}'.format(i), + slug='device-role-{}'.format(i) + ).save() + + # Validate valid data + data = {'var1': [role.pk for role in DeviceRole.objects.all()[:3]]} + form = TestScript().as_form(data, None) + self.assertTrue(form.is_valid()) + self.assertEqual(form.cleaned_data['var1'][0].pk, data['var1'][0]) + self.assertEqual(form.cleaned_data['var1'][1].pk, data['var1'][1]) + self.assertEqual(form.cleaned_data['var1'][2].pk, data['var1'][2]) + def test_filevar(self): class TestScript(Script):