Added tests for ipypbx.http.FreeswitchConfigGenerator
[ipypbx] / src / ipypbx / http.py
index 3e76ed9..a7cd848 100644 (file)
@@ -37,7 +37,7 @@ Content-Length: %i
 
 %s'''
   
-    def __init__(self, database, parent):
+    def __init__(self, database, parent=None):
         super(FreeswitchConfigServer, self).__init__(parent)
 
         self.host = None
@@ -45,7 +45,7 @@ Content-Length: %i
         self.connection_id = None
         self.is_running = False
         self.generators = [
-            GenClass(database, self) for GenClass in (
+            GenClass(database) for GenClass in (
                 SofiaConfGenerator,)]
         
         self.httpRequestParser = HttpRequestParser()
@@ -65,6 +65,8 @@ Content-Length: %i
         self.port = port
         if connection_id:
             self.connection_id = connection_id
+            for generator in self.generators:
+                generator.connection_id = connection_id
 
         # Restart server if necessary.
         if needs_restart:
@@ -219,15 +221,9 @@ class FreeswitchConfigGenerator(object):
     
     param_match = {}
 
-    def __init__(self, database, parent):
+    def __init__(self, database=None, connection_id=None):
         self.database = database
-        self.parent = parent
-
-#    def database(self):
-#        """
-#        Return database instance.
-#        """
-#        return self.model.controllers['connection'].model.database()
+        self.connection_id = connection_id
 
     def canHandle(self, params):
         """
@@ -254,9 +250,15 @@ class FreeswitchConfigGenerator(object):
         """
         Create params element based on data passed in a list.
         """
+        # Create params element.
+        params_elt = etree.SubElement(parent_elt, 'params')
+
+        # Add param elements to params element.
         for name, value in params:
             etree.SubElement(
-                parent_elt, 'param', name=name, value=str(value))
+                params_elt, 'param', name=name, value=str(value))
+            
+        return parent_elt
             
         
 class SofiaConfGenerator(FreeswitchConfigGenerator):