def test_presto_create_row_and_array_hierarchy(self): cols = [{ 'name': 'row_column', 'type': 'ROW(NESTED_OBJ1 VARCHAR, NESTED_ROW ROW(NESTED_OBJ2 VARCHAR)' }, { 'name': 'array_column', 'type': 'ARRAY(ROW(NESTED_ARRAY ARRAY(ROW(NESTED_OBJ VARCHAR))))' }] actual_row_col_hierarchy,\ actual_array_col_hierarchy,\ actual_expanded_cols = PrestoEngineSpec._create_row_and_array_hierarchy(cols) expected_row_col_hierarchy = { 'row_column': { 'type': 'ROW', 'children': ['row_column.nested_obj1', 'row_column.nested_row'], }, 'row_column.nested_row': { 'type': 'ROW', 'children': ['row_column.nested_row.nested_obj2'] }, } expected_array_col_hierarchy = { 'array_column': { 'type': 'ARRAY', 'children': ['array_column.nested_array'], }, 'array_column.nested_array': { 'type': 'ARRAY', 'children': ['array_column.nested_array.nested_obj'] }, } expected_expanded_cols = [{ 'name': 'row_column.nested_obj1', 'type': 'VARCHAR' }, { 'name': 'row_column.nested_row', 'type': 'ROW' }, { 'name': 'row_column.nested_row.nested_obj2', 'type': 'VARCHAR' }, { 'name': 'array_column.nested_array', 'type': 'ARRAY' }, { 'name': 'array_column.nested_array.nested_obj', 'type': 'VARCHAR' }] self.assertEqual(actual_row_col_hierarchy, expected_row_col_hierarchy) self.assertEqual(actual_array_col_hierarchy, expected_array_col_hierarchy) self.assertEqual(actual_expanded_cols, expected_expanded_cols)
def test_presto_create_row_and_array_hierarchy(self): cols = [ { "name": "row_column", "type": "ROW(NESTED_OBJ1 VARCHAR, NESTED_ROW ROW(NESTED_OBJ2 VARCHAR)", }, { "name": "array_column", "type": "ARRAY(ROW(NESTED_ARRAY ARRAY(ROW(NESTED_OBJ VARCHAR))))", }, ] actual_row_col_hierarchy, actual_array_col_hierarchy, actual_expanded_cols = PrestoEngineSpec._create_row_and_array_hierarchy( # noqa ignore: E50 cols ) expected_row_col_hierarchy = { "row_column": { "type": "ROW", "children": ["row_column.nested_obj1", "row_column.nested_row"], }, "row_column.nested_row": { "type": "ROW", "children": ["row_column.nested_row.nested_obj2"], }, } expected_array_col_hierarchy = { "array_column": { "type": "ARRAY", "children": ["array_column.nested_array"], }, "array_column.nested_array": { "type": "ARRAY", "children": ["array_column.nested_array.nested_obj"], }, } expected_expanded_cols = [ {"name": "row_column.nested_obj1", "type": "VARCHAR"}, {"name": "row_column.nested_row", "type": "ROW"}, {"name": "row_column.nested_row.nested_obj2", "type": "VARCHAR"}, {"name": "array_column.nested_array", "type": "ARRAY"}, {"name": "array_column.nested_array.nested_obj", "type": "VARCHAR"}, ] self.assertEqual(actual_row_col_hierarchy, expected_row_col_hierarchy) self.assertEqual(actual_array_col_hierarchy, expected_array_col_hierarchy) self.assertEqual(actual_expanded_cols, expected_expanded_cols)