+class TestFreeswitchConfigGenerator(unittest.TestCase):
+ def setUp(self):
+ self.generator = http.FreeswitchConfigGenerator()
+
+ def test_can_handle(self):
+ self.generator.param_match = {'foo': 'bar'}
+ self.assertEqual(self.generator.canHandle({'foo': 'bar'}), True)
+ self.assertEqual(self.generator.canHandle({'foo': 'xxx'}), False)
+ self.assertEqual(self.generator.canHandle({'xxx': 'bar'}), False)
+ self.assertEqual(
+ self.generator.canHandle({'foo': 'bar', 'qwe': 'asd'}), True)
+ self.assertEqual(self.generator.canHandle({'qwe': 'asd'}), False)
+
+ self.generator.param_match = {'foo': 'bar', 'baz': '123'}
+ self.assertEqual(self.generator.canHandle({'foo': 'bar'}), False)
+ self.assertEqual(
+ self.generator.canHandle({'foo': 'bar', 'baz': '123'}), True)
+ self.assertEqual(
+ self.generator.canHandle({'foo': 'bar', 'qwe': 'asd'}), False)
+
+ def test_base_elements(self):
+ """
+ ipypbx.http.FreeswitchConfigGenerator.baseElements returns a tuple of
+ document and section elelements.
+ """
+ self.generator.param_match = {'section': 'foo'}
+ root_elt, section_elt = self.generator.baseElements
+ self.assertEqual(
+ etree.tostring(root_elt),
+ '<document type="freeswitch/xml"><section name="foo" />'
+ '</document>')
+ self.assertEqual(
+ etree.tostring(section_elt), '<section name="foo" />')
+
+ def test_add_params(self):
+ """
+ ipypbx.http.FreeswitchConfigGenerator.addParams is a helper method for
+ creating params element.
+ """
+ foo_elt = etree.Element('foo')
+ self.assertEqual(
+ etree.tostring(self.generator.addParams(foo_elt, (('qwe', 'asd'),))),
+ '<foo><params><param name="qwe" value="asd" /></params></foo>')
+
+
+ bar_elt = etree.Element('bar')
+ self.assertEqual(
+ etree.tostring(
+ self.generator.addParams(bar_elt,
+ (('qwe', 'asd'), ('zxc', '123')))),
+ '<bar><params><param name="qwe" value="asd" />'
+ '<param name="zxc" value="123" /></params></bar>')
+
+
+class TestSofiaConfGenerator(unittest.TestCase):
+ def test_generate_config(self):
+ pass