def create_file_definitions(self, file_type):
     self.file_name = None
     self.field_definitions = [
         FieldDefinition('name', file_type, 0, 13, position_in_row=0),
         FieldDefinition('age', file_type, 13, 9, position_in_row=2),
         FieldDefinition('dob', file_type, 22, 10, position_in_row=1)
     ]
Example #2
0
 def setUp(self) -> None:
     self.field_definition = FieldDefinition('dob', 'XML')
     self.file_definition = FileDefinition('XML', [self.field_definition],
                                           has_header=True,
                                           delimiter='|',
                                           record_element_name='person',
                                           input_directory='input',
                                           completed_directory='completed',
                                           file_mask='mask')
Example #3
0
 def setUp(self) -> None:
     self.field_definition = FieldDefinition.create_from_dict(
         fc.XML, {
             fc.FIELD_NAME: 'age',
             fc.START_POSITION: 10,
             fc.FIELD_LENGTH: 5,
             fc.XML_NODE_NAME: 'personAge',
             fc.POSITION_IN_ROW: 0
         })
 def test_process_invalid_file_records_too_short(self):
     with open(self.file_name, 'r') as file:
         self.file_definition.field_definitions.append(
             FieldDefinition.create_from_dict(
                 fc.FIXED, {
                     fc.FIELD_NAME: 'address',
                     fc.START_POSITION: 32,
                     fc.FIELD_LENGTH: 2
                 }))
         self.assertRaises(IndexError, self.file_service.process, file)
 def create_file_definition(file_type,
                            delimiter=None,
                            record_element_name=None,
                            start_position=None,
                            field_length=None,
                            position_in_row=None):
     field_definitions = [
         FieldDefinition('name',
                         file_type,
                         start_position=start_position,
                         field_length=field_length,
                         position_in_row=position_in_row)
     ]
     return FileDefinition(file_type,
                           field_definitions,
                           record_element_name=record_element_name,
                           delimiter=delimiter)
Example #6
0
 def test_field_name_blank(self):
     with self.assertRaises(ValueError):
         FieldDefinition('', fc.DELIMITED)
Example #7
0
 def test_file_type_xml_without_xml_node_name(self):
     field_definition = FieldDefinition('name', fc.XML, xml_node_name='')
     self.assertEqual('name', field_definition.xml_node_name)
Example #8
0
 def test_file_type_fixed_without_field_length(self):
     with self.assertRaises(ValueError):
         FieldDefinition('name',
                         fc.FIXED,
                         start_position=0,
                         field_length=None)
Example #9
0
 def test_file_type_delimited_field_name_only(self):
     with self.assertRaises(ValueError):
         FieldDefinition('name', fc.DELIMITED)
Example #10
0
 def test_file_type_blank(self):
     with self.assertRaises(ValueError):
         FieldDefinition('name', '')
 def test_process_records_not_implemented(self):
     file_service = FileService(
         FileDefinition(fc.FIXED, [FieldDefinition('hello', 'file_type')]))
     with self.assertRaises(NotImplementedError):
         file_service.process_file_records(None)
 def test_process_given_invalid_file_missing_attribute(self):
     with open(self.file_name, 'r') as file:
         self.file_definition.field_definitions.append(
             FieldDefinition.create_from_dict(fc.XML,
                                              {fc.FIELD_NAME: 'address'}))
         self.assertRaises(AttributeError, self.file_service.process, file)