示例#1
0
    def testSaveFormData_8(self):
        """ Test repeated form definition created and data saved """
        formdefmodel = create_xsd_and_populate("data/8_singlerepeat_2.xsd", domain=self.domain)
        self.assertEquals(int(formdefmodel.version), 2)
        self.assertEquals(int(formdefmodel.uiversion), 3)

        submission = populate("data/8_singlerepeat_2.xml", self.domain)
        m = Metadata.objects.get(attachment__submission=submission)
        self.assertEquals(int(m.version), 2)
        self.assertEquals(int(m.uiversion), 2)
        
        cursor = connection.cursor()
        cursor.execute("SELECT * FROM schema_versioneddomain_xml_singlerepeat_2")
        try:
            row = cursor.fetchone()
            self.assertEquals(row[9],"deviceid0")
            self.assertEquals(row[10],"starttime")
            self.assertEquals(row[11],"endtime")
            cursor.execute("SELECT * FROM schema_versioneddomain_xml_singlerepeat_root_userid_2")
            row = cursor.fetchall()
            self.assertEquals(row[0][1],"userid0")
            self.assertEquals(row[1][1],"userid2")
            self.assertEquals(row[2][1],"userid3")
            self.assertEquals(row[0][2],1)
            self.assertEquals(row[1][2],1)
            self.assertEquals(row[2][2],1)
        finally:
            manager = XFormManager()
            manager.remove_schema(formdefmodel.id)
示例#2
0
    def _testErrors(self, schema_file, instance_file, id):
        su = SU()
        xfm = XFM()
        xsd_file_name = os.path.join(os.path.dirname(__file__),schema_file)
        xml_file_name = os.path.join(os.path.dirname(__file__),instance_file)

        schema = xfm._add_schema_from_file(xsd_file_name)
        formdef = su.get_formdef_from_schema_file(xsd_file_name)
        data_tree = su._get_data_tree_from_file(xml_file_name)
        populator = XFormDBTablePopulator( formdef, schema )
        queries = populator.populate( data_tree )
        xfm.remove_schema(schema.id)
        return populator.errors
示例#3
0
 def testSaveFormData_7(self):
        """ Test very deep form definition created and data saved """
        formdefmodel = create_xsd_and_populate("data/7_verydeep_2.xsd", "data/7_verydeep_2.xml", self.domain)
        cursor = connection.cursor()
        cursor.execute("SELECT * FROM schema_versioneddomain_xml_verydeep_1")
        row = cursor.fetchone()
        try:
            self.assertEquals(row[9],"userid0")
            self.assertEquals(row[10],"great_grand1")
            self.assertEquals(row[11],222)
            self.assertEquals(row[12],1159)
            self.assertEquals(row[13],2002)
        finally:
            manager = XFormManager()
            manager.remove_schema(formdefmodel.id)
示例#4
0
 def testSaveFormData_10(self):
     """ Test nested repeated form definition created and data saved """
     formdefmodel = create_xsd_and_populate("6_nestedrepeats.xsd", "6_nestedrepeats.xml", self.domain)
     formdefmodel_2 = create_xsd_and_populate("data/9_nestedrepeats_2.xsd", "data/9_nestedrepeats_2.xml", self.domain)
     formdefmodel_3 = create_xsd_and_populate("data/10_other_v3.xsd", "data/10_other_v3.xml", self.domain)
     try:
         cursor = connection.cursor()
         cursor.execute("SELECT * FROM schema_versioneddomain_xml_nestedrepeats")
         row = cursor.fetchone()
         self.assertEquals(row[9],"foo")
         self.assertEquals(row[10],"bar")
         self.assertEquals(row[11],"yes")
         self.assertEquals(row[12],"no")
         cursor.execute("SELECT * FROM schema_versioneddomain_xml_nestedrepeats_root_nested")
         row = cursor.fetchall()
         self.assertEquals(row[0][1],"userid0")
         self.assertEquals(row[0][2],"deviceid0")
         if is_configured_realsql():
             self.assertEquals(row[0][3],datetime(2009,10,9,11,4,30) )
             self.assertEquals(row[0][4],datetime(2009,10,9,11,9,30) )
         else:
             self.assertEquals(row[0][3],"2009-10-9 11:04:30" )
             self.assertEquals(row[0][4],"2009-10-9 11:09:30" )
         self.assertEquals(row[0][5],1)
         self.assertEquals(row[1][1],"userid2")
         self.assertEquals(row[1][2],"deviceid2")
         if is_configured_realsql():
             self.assertEquals(row[1][3],datetime(2009,11,12,11,11,11) )
             self.assertEquals(row[1][4],datetime(2009,11,12,11,16,11) )
         else:
             self.assertEquals(row[1][3],"2009-11-12 11:11:11" )
             self.assertEquals(row[1][4],"2009-11-12 11:16:11" )
         self.assertEquals(row[1][5],1)
     finally:
         manager = XFormManager()
         manager.remove_schema(formdefmodel.id)
         manager.remove_schema(formdefmodel_2.id)
         manager.remove_schema(formdefmodel_3.id)