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')
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
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'])
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'])
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 }]
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())