|
@@ -1,3 +1,5 @@
|
|
|
|
|
+import tempfile
|
|
|
|
|
+
|
|
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
|
|
from django.test import TestCase
|
|
from django.test import TestCase
|
|
|
from netaddr import IPAddress, IPNetwork
|
|
from netaddr import IPAddress, IPNetwork
|
|
@@ -11,6 +13,50 @@ CHOICES = (
|
|
|
('0000ff', 'Blue')
|
|
('0000ff', 'Blue')
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+YAML_DATA = """
|
|
|
|
|
+Foo: 123
|
|
|
|
|
+Bar: 456
|
|
|
|
|
+Baz:
|
|
|
|
|
+ - A
|
|
|
|
|
+ - B
|
|
|
|
|
+ - C
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+JSON_DATA = """
|
|
|
|
|
+{
|
|
|
|
|
+ "Foo": 123,
|
|
|
|
|
+ "Bar": 456,
|
|
|
|
|
+ "Baz": ["A", "B", "C"]
|
|
|
|
|
+}
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+class ScriptTest(TestCase):
|
|
|
|
|
+
|
|
|
|
|
+ def test_load_yaml(self):
|
|
|
|
|
+ datafile = tempfile.NamedTemporaryFile()
|
|
|
|
|
+ datafile.write(bytes(YAML_DATA, 'UTF-8'))
|
|
|
|
|
+ datafile.seek(0)
|
|
|
|
|
+
|
|
|
|
|
+ data = Script().load_yaml(datafile.name)
|
|
|
|
|
+ self.assertEqual(data, {
|
|
|
|
|
+ 'Foo': 123,
|
|
|
|
|
+ 'Bar': 456,
|
|
|
|
|
+ 'Baz': ['A', 'B', 'C'],
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ def test_load_json(self):
|
|
|
|
|
+ datafile = tempfile.NamedTemporaryFile()
|
|
|
|
|
+ datafile.write(bytes(JSON_DATA, 'UTF-8'))
|
|
|
|
|
+ datafile.seek(0)
|
|
|
|
|
+
|
|
|
|
|
+ data = Script().load_json(datafile.name)
|
|
|
|
|
+ self.assertEqual(data, {
|
|
|
|
|
+ 'Foo': 123,
|
|
|
|
|
+ 'Bar': 456,
|
|
|
|
|
+ 'Baz': ['A', 'B', 'C'],
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
|
|
|
class ScriptVariablesTest(TestCase):
|
|
class ScriptVariablesTest(TestCase):
|
|
|
|
|
|