Пример #1
0
    def test_parse_post_mapppings(self):
        """Test parsing of POST key/value pairs for data_model in TableIO """
        
        # Test partly loaded table (3 values) in POST
        tIO = AssessTableIO(TestMappings,delimiters)
        records = tIO.parse_POST(mappings_POST_1_3)
        values = []
        for record in records.values():
            values.append(str(record.get_value()))
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_mappings_1_3)

        # Test fully loaded table (4 values) in POST
        tIO = AssessTableIO(TestMappings,delimiters)
        records = tIO.parse_POST(mappings_POST_1_4)
        values = []
        for record in records.values():
            values.append(str(record.get_value()))
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_mappings_1_4)

        # Test overloaded table (5 values) in POST
        tIO = AssessTableIO(TestMappings,delimiters)
        records = tIO.parse_POST(mappings_POST_1_5)
        values = []
        for record in records.values():
            values.append(str(record.get_value()))
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_mappings_1_5)
Пример #2
0
    def test_parse_post_data(self):
        """Test parsing of POST key/value pairs for data_model in TableIO """
        
        # Test fully loaded table (8 values) in POST
        tIO = AssessTableIO(TestData,delimiters)
        records = tIO.parse_POST(POST_1_8)
        values = []
        for record in records.values():
            values.append(record.get_value())
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_data_1_8)

        # Test partly loaded table (7 values) in POST
        tIO = AssessTableIO(TestData,delimiters)
        records = tIO.parse_POST(POST_1_7)
        values = []
        for record in records.values():
            values.append(record.get_value())
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_data_1_7)

        # Test overloaded table (9 values) in POST
        tIO = AssessTableIO(TestData,delimiters)
        records = tIO.parse_POST(POST_1_9)
        values = []
        for record in records.values():
            values.append(record.get_value())
        print_traceback(tIO.errors)
        self.assertEqual(tIO.errors,[])
        self.assertEqual(values,values_data_1_9)
Пример #3
0
 def test_parse_post_data_invalid(self):
     # Test that an invalid key length in POST results in an error and that
     # the POST entry is not added to the records
     tIO = AssessTableIO(TestData,delimiters)
     records = tIO.parse_POST(POST_invalid_length)
     key = list(POST_invalid_length.keys()).pop()
     self.assertEqual(str(tIO.errors.pop()),str(KeyInvalid(key, TestData)))
     self.assertEqual(records,{})
     # Test that an invalid key length in POST results in an error and that
     # the POST entry is not added to the records
     records = tIO.parse_POST(POST_invalid_label)
     key = 'bad_item in ' + list(POST_invalid_label.keys()).pop()
     self.assertEqual(str(tIO.errors.pop()),str(KeyNotFound(key, TestData)))
     self.assertEqual(records,{})
     # Test that an invalid value field name in POST results in an error 
     # and that the POST entry is not added to the records
     records = tIO.parse_POST(POST_invalid_value_field)
     error_msg = str(NoFieldError('bad_field', TestData))
     self.assertNotEqual(len(tIO.errors),0)
     if len(tIO.errors) > 0:
         self.assertEqual(str(tIO.errors.pop()),error_msg)
     self.assertEqual(records,{})