def test_merge(config): """Test the basic logic of the merge() function.""" base = Contact(name='Original Name', email_address='*****@*****.**') remote = Contact(name='New Name', email_address='*****@*****.**') dest = Contact(name='Original Name', email_address='*****@*****.**') dest.merge_from(base, remote) assert dest.name == 'New Name' assert dest.email_address == '*****@*****.**'
def test_merge_conflict(config): """Test that merge() raises an error on conflict.""" base = Contact(name='Original Name', email_address='*****@*****.**') remote = Contact(name='New Name', email_address='*****@*****.**') dest = Contact(name='Some Other Name', email_address='*****@*****.**') with pytest.raises(MergeError): dest.merge_from(base, remote) # Check no update in case of conflict assert dest.name == 'Some Other Name' assert dest.email_address == '*****@*****.**'