def test_isbn_code_020(self):
        #test isbn_issn check function
        field = TransformField('z13_isbn_issn', '177091921X', '020')
        self.assertEqual(specific_transform_functions.isbn_code_020(field),
                         '177091921X')

        field = TransformField('z13_isbn_issn', '177091921X', '022')
        self.assertEqual(specific_transform_functions.issn_code_022(field),
                         '177091921X')
    def test_is_provisional(self):
        #test to confirm is_provisional works with upper, lower, mixed, and fail
        field = TransformField('z13u_user_defined_6', 'provisional')
        self.assertEqual(specific_transform_functions.is_provisional(field),
                         'Y')

        field = TransformField('z13u_user_defined_6', 'pRoViSiOnAl')
        self.assertEqual(specific_transform_functions.is_provisional(field),
                         'Y')

        field = TransformField('z13u_user_defined_6', 'Shpoomples')
        self.assertEqual(specific_transform_functions.is_provisional(field),
                         'N')
 def test_is_circ_created(self):
     #test to confirm is_circ_created works with upper, lower, mixed, and fail
     field = TransformField('z13u_user_defined_6',
                            'circ-created suppressed ||')
     self.assertEqual(specific_transform_functions.is_circ_created(field),
                      'Y')
     field = TransformField('z13u_user_defined_6',
                            'CIRC-CREATED SUPPRESSED || ')
     self.assertEqual(specific_transform_functions.is_circ_created(field),
                      'Y')
     field = TransformField('z13u_user_defined_6', 'Shpoomples')
     self.assertEqual(specific_transform_functions.is_circ_created(field),
                      'N')
 def test_is_acq_created(self):
     #test to confirm is_acq_created works with upper, lower, mixed, and fail
     field = TransformField('z13u_user_defined_6', 'acq-created ||')
     self.assertEqual(specific_transform_functions.is_acq_created(field),
                      'Y')
     field = TransformField('z13u_user_defined_6', 'ACQ-CREATED ||')
     self.assertEqual(specific_transform_functions.is_acq_created(field),
                      'Y')
     field = TransformField('z13u_user_defined_6', 'NOT-acq-created')
     self.assertEqual(specific_transform_functions.is_acq_created(field),
                      'Y')
     field = TransformField('z13u_user_defined_6', 'Shpoomples')
     self.assertEqual(specific_transform_functions.is_acq_created(field),
                      'N')
 def test_is_suppressed(self):
     #test to confirm is_suppressed works with upper, lower, mixed, and fail
     field = TransformField('LBRY_HOLDING_DISPLAY_SUPPRESSED_FLAG',
                            'suppressed')
     self.assertEqual(specific_transform_functions.is_suppressed(field),
                      'Y')
     field = TransformField('LBRY_HOLDING_DISPLAY_SUPPRESSED_FLAG',
                            'SuPpReSsEd')
     self.assertEqual(specific_transform_functions.is_suppressed(field),
                      'Y')
     field = TransformField('LBRY_HOLDING_DISPLAY_SUPPRESSED_FLAG',
                            'Shpoomples')
     self.assertEqual(specific_transform_functions.is_suppressed(field),
                      'N')
    def test_remove_ocm_ocn_on(self):
        #test ocn recognition and transform
        c = TransformField('z13u_user_defined_2', 'ocn748578120')
        self.assertEqual(specific_transform_functions.remove_ocm_ocn_on(c),
                         '748578120')

        #test ocm recognition and transform
        d = TransformField('z13u_user_defined_2', 'ocm00003739')
        self.assertEqual(specific_transform_functions.remove_ocm_ocn_on(d),
                         '00003739')

        #test on recognition and transform
        e = TransformField('z13u_user_defined_2', 'on1038022607')
        self.assertEqual(specific_transform_functions.remove_ocm_ocn_on(e),
                         '1038022607')
 def test_sub_look_up(self):
     #test code lookup from CSV table
     f = TransformField('z13u_user_defined_3',
                        '750424m19769999wiub^^^^^b^^^^001^0^eng^^')
     self.assertEqual(
         specific_transform_functions.sub_look_up(
             f, 'lookup_tables/encoding_level.csv', 17, 18), 'Unknown')
     self.assertEqual(
         specific_transform_functions.sub_look_up(
             f, 'lookup_tables/bibliographic_level.csv', 6, 7),
         'Monograph/Item')
Example #8
0
def transform_row(sa_row):
    # fields to transform
    fields = []
    row_dict = sa_row.__dict__
    for column in sa_row.__table__.columns.keys():
        if column.startswith('in_'):
            field_value = row_dict[column]
            optional_isbn_code = get_isbn_issn_code(column, row_dict)
            fields.append(
                TransformField(column,
                               field_value,
                               isbn_issn_code=optional_isbn_code))
    return fields
Example #9
0
    def test_missing_z30_rec_key(self):
        z30_rec_key = TransformField('in_z30_rec_key', '')
        table_transform.transform_field(z30_rec_key, self.table_config)

        # test expected dqs
        # Decide what DQ failed result should be
        expected_dqs = [{
            'name': 'no_missing_values',
            'result': '',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': False
        }]
        self.assertEqual(expected_dqs, z30_rec_key.record['dq'])
Example #10
0
    def test_valid_z30_rec_key(self):
        # create field object
        z30_rec_key = TransformField('in_z30_rec_key', '000001200000020')

        # feed into something
        table_transform.transform_field(z30_rec_key, self.table_config)

        # test pp
        self.assertEqual('000001200000020', z30_rec_key.record['pp'])
        # test dq
        expected_dqs = [{
            'name': 'no_missing_values',
            'result': '000001200000020',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': True
        }, {
            'name': 'is_valid_length',
            'result': '000001200000020',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': True
        }, {
            'name': 'is_numeric',
            'result': '000001200000020',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': True
        }]
        self.assertEqual(expected_dqs, z30_rec_key.record['dq'])

        # test transforms
        expected_transforms = [
            None, {
                'name': 'substring',
                'result': '000001200',
                'target_col_name': 'lbry_item_adm_no'
            }, {
                'name': 'substring',
                'result': '000020',
                'target_col_name': 'lbry_item_seq_no'
            }
        ]
        self.assertEqual(expected_transforms, z30_rec_key.record['transforms'])
Example #11
0
    def test_not_numeric_z30_rec_key(self):
        z30_rec_key = TransformField('in_z30_rec_key', 'thisisnotnumeric')
        table_transform.transform_field(z30_rec_key, self.table_config)

        # test expected dqs
        # Decide what DQ failed result should be
        expected_dqs = [{
            'name': 'no_missing_values',
            'result': 'thisisnotnumeri',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': True
        }, {
            'name': 'is_valid_length',
            'result': 'thisisnotnumeri',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': True
        }, {
            'name': 'is_numeric',
            'result': '',
            'target_col_name': 'LBRY_ITEM_SOURCE_SYSTEM_ID',
            'check_passed': False
        }]
Example #12
0
    def test_is_valid(self):
        field = TransformField('in_z30_rec_key', '000001200000020')
        field.record_dq({'check_passed': True})
        field.record_dq({'check_passed': True})
        field.record_dq({'check_passed': True})
        self.assertTrue(field.is_valid())

        field = TransformField('in_z30_rec_key', '000001200000020')
        field.record_dq({'check_passed': True})
        field.record_dq({'check_passed': False})
        field.record_dq({'check_passed': True})
        self.assertFalse(field.is_valid())

        field = TransformField('in_z30_rec_key', '000001200000020')
        self.assertTrue(field.is_valid())