add some more tests for community scripts json file
This commit is contained in:
@@ -87,7 +87,7 @@ class Script(BaseAuditModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
default_timeout = (
|
default_timeout = (
|
||||||
script["default_timeout"]
|
int(script["default_timeout"])
|
||||||
if "default_timeout" in script.keys()
|
if "default_timeout" in script.keys()
|
||||||
else 90
|
else 90
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
from email.policy import default
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@@ -206,6 +207,7 @@ class TestScriptViews(TacticalTestCase):
|
|||||||
) as f:
|
) as f:
|
||||||
info = json.load(f)
|
info = json.load(f)
|
||||||
|
|
||||||
|
guids = []
|
||||||
for script in info:
|
for script in info:
|
||||||
fn: str = script["filename"]
|
fn: str = script["filename"]
|
||||||
self.assertTrue(os.path.exists(os.path.join(scripts_dir, fn)))
|
self.assertTrue(os.path.exists(os.path.join(scripts_dir, fn)))
|
||||||
@@ -222,6 +224,19 @@ class TestScriptViews(TacticalTestCase):
|
|||||||
elif fn.endswith(".py"):
|
elif fn.endswith(".py"):
|
||||||
self.assertEqual(script["shell"], "python")
|
self.assertEqual(script["shell"], "python")
|
||||||
|
|
||||||
|
if "args" in script.keys():
|
||||||
|
self.assertIsInstance(script["args"], list)
|
||||||
|
|
||||||
|
# allows strings as long as they can be type casted to int
|
||||||
|
if "default_timeout" in script.keys():
|
||||||
|
self.assertIsInstance(int(script["default_timeout"]), int)
|
||||||
|
|
||||||
|
self.assertIn("guid", script.keys())
|
||||||
|
guids.append(script["guid"])
|
||||||
|
|
||||||
|
# check guids are unique
|
||||||
|
self.assertEqual(len(guids), len(set(guids)))
|
||||||
|
|
||||||
def test_load_community_scripts(self):
|
def test_load_community_scripts(self):
|
||||||
with open(
|
with open(
|
||||||
os.path.join(settings.BASE_DIR, "scripts/community_scripts.json")
|
os.path.join(settings.BASE_DIR, "scripts/community_scripts.json")
|
||||||
|
|||||||
Reference in New Issue
Block a user