summaryrefslogtreecommitdiff
path: root/tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py')
-rwxr-xr-xtools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py88
1 files changed, 52 insertions, 36 deletions
diff --git a/tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py b/tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py
index f2fecdb901..90700fdbb9 100755
--- a/tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py
+++ b/tools/InterfaceGenerator/test/generator/parsers/test_JSONRPC.py
@@ -1,13 +1,25 @@
"""JSONRPC XML parser unit test."""
import os
+import sys
import unittest
-
-import generator.Model
-import generator.parsers.JSONRPC
+from pathlib import Path
+
+sys.path.append(Path(__file__).absolute().parents[3].as_posix())
+sys.path.append(Path(__file__).absolute().parents[4].joinpath('rpc_spec/InterfaceParser').as_posix())
+try:
+ import generator.parsers.JSONRPC
+ from model.array import Array
+ from model.boolean import Boolean
+ from model.enum_subset import EnumSubset
+ from model.integer import Integer
+ from model.float import Float
+ from model.string import String
+except ModuleNotFoundError as error:
+ print('{}.\nJSONRPC\tProbably you did not initialize submodule'.format(error))
+ sys.exit(1)
class TestJSONRPCVParser(unittest.TestCase):
-
"""Test for JSONRPC xml parser."""
class _Issue:
@@ -21,7 +33,7 @@ class TestJSONRPCVParser(unittest.TestCase):
def setUp(self):
"""Test initialization."""
self.valid_xml_name = os.path.dirname(os.path.realpath(__file__)) + \
- "/valid_JSONRPC.xml"
+ "/valid_JSONRPC.xml"
self.parser = generator.parsers.JSONRPC.Parser()
def test_valid_xml(self):
@@ -37,7 +49,7 @@ class TestJSONRPCVParser(unittest.TestCase):
"interface1_design_description": "dd",
"interface2_attribute": "value",
"interface2_description":
- "Description of interface2",
+ "Description of interface2",
"interface2_todos": "i2 todo"},
interface.params)
@@ -217,7 +229,7 @@ class TestJSONRPCVParser(unittest.TestCase):
name="member1",
description=["Param1 description"])
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Integer)
+ self.assertIsInstance(member.param_type, Integer)
self.assertIsNone(member.param_type.min_value)
self.assertIsNone(member.param_type.max_value)
@@ -226,13 +238,13 @@ class TestJSONRPCVParser(unittest.TestCase):
self.verify_base_item(item=member, name="member2",
platform="member2 platform")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Boolean)
+ self.assertIsInstance(member.param_type, Boolean)
self.assertIn("member3", struct.members)
member = struct.members["member3"]
self.verify_base_item(item=member, name="member3")
self.assertEqual(False, member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Double)
+ self.assertIsInstance(member.param_type, Float)
self.assertIsNone(member.param_type.min_value)
self.assertAlmostEqual(20.5, member.param_type.max_value)
@@ -240,11 +252,11 @@ class TestJSONRPCVParser(unittest.TestCase):
member = struct.members["member4"]
self.verify_base_item(item=member, name="member4")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Array)
+ self.assertIsInstance(member.param_type, Array)
self.assertIsNone(member.param_type.min_size)
self.assertIsNone(member.param_type.max_size)
self.assertIsInstance(member.param_type.element_type,
- generator.Model.Integer)
+ Integer)
self.assertEqual(11, member.param_type.element_type.min_value)
self.assertEqual(100, member.param_type.element_type.max_value)
@@ -263,18 +275,18 @@ class TestJSONRPCVParser(unittest.TestCase):
member = struct.members["m1"]
self.verify_base_item(item=member, name="m1")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.String)
+ self.assertIsInstance(member.param_type, String)
self.assertIsNone(member.param_type.max_length)
self.assertIn("m2", struct.members)
member = struct.members["m2"]
self.verify_base_item(item=member, name="m2")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Array)
+ self.assertIsInstance(member.param_type, Array)
self.assertEqual(1, member.param_type.min_size)
self.assertEqual(50, member.param_type.max_size)
self.assertIsInstance(member.param_type.element_type,
- generator.Model.String)
+ String)
self.assertEqual(100, member.param_type.element_type.max_length)
self.assertIn("m3", struct.members)
@@ -287,7 +299,7 @@ class TestJSONRPCVParser(unittest.TestCase):
member = struct.members["m4"]
self.verify_base_item(item=member, name="m4")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Array)
+ self.assertIsInstance(member.param_type, Array)
self.assertIsNone(member.param_type.min_size)
self.assertEqual(10, member.param_type.max_size)
self.assertIs(member.param_type.element_type,
@@ -305,7 +317,7 @@ class TestJSONRPCVParser(unittest.TestCase):
member = struct.members["m_1"]
self.verify_base_item(item=member, name="m_1")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.Array)
+ self.assertIsInstance(member.param_type, Array)
self.assertEqual(1, member.param_type.min_size)
self.assertEqual(10, member.param_type.max_size)
self.assertIs(member.param_type.element_type,
@@ -321,7 +333,7 @@ class TestJSONRPCVParser(unittest.TestCase):
member = struct.members["m_3"]
self.verify_base_item(item=member, name="m_3")
self.assertTrue(member.is_mandatory)
- self.assertIsInstance(member.param_type, generator.Model.String)
+ self.assertIsInstance(member.param_type, String)
self.assertEqual(20, member.param_type.max_length)
# Functions
@@ -357,9 +369,10 @@ class TestJSONRPCVParser(unittest.TestCase):
name="param1",
issues=[TestJSONRPCVParser._Issue(creator="", value="")])
self.assertEqual(False, param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.String)
+ self.assertIsInstance(param.param_type, String)
self.assertIsNone(param.param_type.max_length)
- self.assertEqual("String default value", param.default_value)
+ self.assertIsNone(param.default_value)
+ self.assertEqual("String default value", param.param_type.default_value)
self.assertIn("param2", function.params)
param = function.params["param2"]
@@ -370,7 +383,7 @@ class TestJSONRPCVParser(unittest.TestCase):
todos=["Param2 todo"],
platform="param2 platform")
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.Integer)
+ self.assertIsInstance(param.param_type, Integer)
self.assertIsNone(param.param_type.min_value)
self.assertIsNone(param.param_type.max_value)
self.assertIsNone(param.default_value)
@@ -418,16 +431,18 @@ class TestJSONRPCVParser(unittest.TestCase):
self.verify_base_item(item=param, name="p2")
self.assertTrue(param.is_mandatory)
self.assertIs(param.param_type, interface.enums["interface1_enum1"])
- self.assertIs(
- param.default_value,
- interface.enums["interface1_enum1"].elements["element2"])
+ self.assertIsNone(param.default_value)
+ self.assertIsNone(param.param_type.default_value)
+ self.assertIs(param.param_type.elements["element2"],
+ interface.enums["interface1_enum1"].elements["element2"])
self.assertIn("p3", function.params)
param = function.params["p3"]
self.verify_base_item(item=param, name="p3", design_description=[""])
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.Boolean)
- self.assertEqual(False, param.default_value)
+ self.assertIsInstance(param.param_type, Boolean)
+ self.assertIsNone(param.default_value)
+ self.assertFalse(param.param_type.default_value)
# Function notification "interface1_Function2"
@@ -454,14 +469,14 @@ class TestJSONRPCVParser(unittest.TestCase):
param = function.params["n1"]
self.verify_base_item(item=param, name="n1", todos=["n1 todo"])
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.EnumSubset)
+ self.assertIsInstance(param.param_type, EnumSubset)
self.assertIs(param.param_type.enum,
interface.enums["interface1_enum1"])
self.assertDictEqual(
{"element2":
- interface.enums["interface1_enum1"].elements["element2"],
+ interface.enums["interface1_enum1"].elements["element2"],
"element3":
- interface.enums["interface1_enum1"].elements["element3"]},
+ interface.enums["interface1_enum1"].elements["element3"]},
param.param_type.allowed_elements)
self.assertIsNone(param.default_value)
@@ -469,18 +484,18 @@ class TestJSONRPCVParser(unittest.TestCase):
param = function.params["n2"]
self.verify_base_item(item=param, name="n2", todos=["n2 todo"])
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.Array)
+ self.assertIsInstance(param.param_type, Array)
self.assertEqual(1, param.param_type.min_size)
self.assertEqual(100, param.param_type.max_size)
self.assertIsInstance(param.param_type.element_type,
- generator.Model.EnumSubset)
+ EnumSubset)
self.assertIs(param.param_type.element_type.enum,
interface.enums["interface1_enum1"])
self.assertDictEqual(
{"element1":
- interface.enums["interface1_enum1"].elements["element1"],
+ interface.enums["interface1_enum1"].elements["element1"],
"element3":
- interface.enums["interface1_enum1"].elements["element3"]},
+ interface.enums["interface1_enum1"].elements["element3"]},
param.param_type.element_type.allowed_elements)
self.assertIsNone(param.default_value)
@@ -521,7 +536,7 @@ class TestJSONRPCVParser(unittest.TestCase):
param = function.params["param2"]
self.verify_base_item(item=param, name="param2")
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.Array)
+ self.assertIsInstance(param.param_type, Array)
self.assertEqual(5, param.param_type.min_size)
self.assertEqual(25, param.param_type.max_size)
self.assertIs(param.param_type.element_type,
@@ -555,14 +570,14 @@ class TestJSONRPCVParser(unittest.TestCase):
param = function.params["param"]
self.verify_base_item(item=param, name="param")
self.assertTrue(param.is_mandatory)
- self.assertIsInstance(param.param_type, generator.Model.EnumSubset)
+ self.assertIsInstance(param.param_type, EnumSubset)
self.assertIs(param.param_type.enum,
interface.enums["interface2_enum2"])
self.assertDictEqual(
{"element2":
- interface.enums["interface2_enum2"].elements["element2"],
+ interface.enums["interface2_enum2"].elements["element2"],
"element3":
- interface.enums["interface2_enum2"].elements["element3"]},
+ interface.enums["interface2_enum2"].elements["element3"]},
param.param_type.allowed_elements)
self.assertIsNone(param.default_value)
@@ -591,5 +606,6 @@ class TestJSONRPCVParser(unittest.TestCase):
"""Return provided list or empty list if None is provided."""
return list if list is not None else []
+
if __name__ == "__main__":
unittest.main()