@@ -3160,6 +3160,86 @@ def test_anonymize(self, mock_load):
3160
3160
'child_foreign_key' : 'col2' ,
3161
3161
}
3162
3162
3163
+ def test__get_anonymized_dict (self ):
3164
+ """Test the ``_get_anonymized_dict`` method."""
3165
+ # Setup
3166
+ metadata_dict = {
3167
+ 'tables' : {
3168
+ 'real_table1' : {
3169
+ 'columns' : {
3170
+ 'table1_primary_key' : {'sdtype' : 'id' , 'regex_format' : 'ID_[0-9]{3}' },
3171
+ 'table1_column2' : {'sdtype' : 'categorical' },
3172
+ },
3173
+ 'primary_key' : 'table1_primary_key' ,
3174
+ },
3175
+ 'real_table2' : {
3176
+ 'columns' : {
3177
+ 'table2_primary_key' : {'sdtype' : 'email' },
3178
+ 'table2_foreign_key' : {'sdtype' : 'id' , 'regex_format' : 'ID_[0-9]{3}' },
3179
+ },
3180
+ 'primary_key' : 'table2_primary_key' ,
3181
+ },
3182
+ },
3183
+ 'relationships' : [
3184
+ {
3185
+ 'parent_table_name' : 'real_table1' ,
3186
+ 'parent_primary_key' : 'table1_primary_key' ,
3187
+ 'child_table_name' : 'real_table2' ,
3188
+ 'child_foreign_key' : 'table2_foreign_key' ,
3189
+ }
3190
+ ],
3191
+ }
3192
+ metadata = MultiTableMetadata .load_from_dict (metadata_dict )
3193
+
3194
+ # Run
3195
+ anonymized_dict = metadata ._get_anonymized_dict ()
3196
+
3197
+ # Assert
3198
+ expected_anonymized_dict = {
3199
+ 'tables' : {
3200
+ 'table1' : {
3201
+ 'columns' : {
3202
+ 'col1' : {'sdtype' : 'id' , 'regex_format' : 'ID_[0-9]{3}' },
3203
+ 'col2' : {'sdtype' : 'categorical' },
3204
+ },
3205
+ 'primary_key' : 'col1' ,
3206
+ 'METADATA_SPEC_VERSION' : 'SINGLE_TABLE_V1' ,
3207
+ },
3208
+ 'table2' : {
3209
+ 'columns' : {
3210
+ 'col1' : {'sdtype' : 'email' },
3211
+ 'col2' : {'sdtype' : 'id' , 'regex_format' : 'ID_[0-9]{3}' },
3212
+ },
3213
+ 'primary_key' : 'col1' ,
3214
+ 'METADATA_SPEC_VERSION' : 'SINGLE_TABLE_V1' ,
3215
+ },
3216
+ },
3217
+ 'relationships' : [
3218
+ {
3219
+ 'parent_table_name' : 'table1' ,
3220
+ 'child_table_name' : 'table2' ,
3221
+ 'child_foreign_key' : 'col2' ,
3222
+ 'parent_primary_key' : 'col1' ,
3223
+ }
3224
+ ],
3225
+ }
3226
+ assert anonymized_dict == expected_anonymized_dict
3227
+
3228
+ @patch ('sdv.metadata.metadata.MultiTableMetadata.load_from_dict' )
3229
+ def test_anonymize_mock (self , mock_load_from_dict ):
3230
+ """Test that the `anonymize` method."""
3231
+ # Setup
3232
+ metadata = MultiTableMetadata ()
3233
+ metadata ._get_anonymized_dict = Mock (return_value = {})
3234
+ metadata .load_from_dict = Mock ()
3235
+
3236
+ # Run
3237
+ metadata .anonymize ()
3238
+
3239
+ # Assert
3240
+ metadata ._get_anonymized_dict .assert_called_once ()
3241
+ mock_load_from_dict .assert_called_once_with ({})
3242
+
3163
3243
def test_update_columns_no_list_error (self ):
3164
3244
"""Test that ``update_columns`` only takes in list and that an error is thrown."""
3165
3245
# Setup
0 commit comments