

@mock.patch.object(cli, '_use_separate_migration_branches', return_value=True)
@mock.patch.object(fileutils, 'delete_if_exists')
def test_update_head_files_success(self, *mocks):
    heads = ['a', 'b']
    mock_open_con = self.useFixture(tools.OpenFixture(cli._get_contract_head_file_path(self.configs[0]))).mock_open
    mock_open_ex = self.useFixture(tools.OpenFixture(cli._get_expand_head_file_path(self.configs[0]))).mock_open
    with mock.patch('alembic.script.ScriptDirectory.from_config') as fc:
        fc.return_value.get_heads.return_value = heads
        revs = {
            heads[0]: FakeRevision(labels=cli.CONTRACT_BRANCH),
            heads[1]: FakeRevision(labels=cli.EXPAND_BRANCH),
        }
        fc.return_value.get_revision.side_effect = revs.__getitem__
        cli.update_head_files(self.configs[0])
        mock_open_con.return_value.write.assert_called_with((heads[0] + '\n'))
        mock_open_ex.return_value.write.assert_called_with((heads[1] + '\n'))
        old_head_file = cli._get_head_file_path(self.configs[0])
        old_heads_file = cli._get_heads_file_path(self.configs[0])
        delete_if_exists = mocks[0]
        heads.assertIn(mock.call(old_head_file), delete_if_exists.call_args_list)
        self.assertIn(mock.call(old_heads_file), delete_if_exists.call_args_list)

dataset/ETHPy150Open openstack/neutron/neutron/tests/unit/db/test_migration.py TestCli.test_update_head_files_success/VarMisuse@254/377 `self`->`heads`