def test_synapse_not_restarted_when_config_files_are_identical():
    with setup_mocks_for_main() as (mock_tmp_file, mock_file_cmp, mock_copy,
                                    mock_subprocess_check_call):

        # New and existing synapse configs are identical
        mock_file_cmp.return_value = True

        configure_synapse.main()

        mock_copy.assert_called_with(mock_tmp_file.__enter__().name,
                                     '/etc/synapse/synapse.conf.json')
        assert not mock_subprocess_check_call.called
def test_synapse_not_restarted_when_config_files_are_identical():
    with setup_mocks_for_main() as (
            mock_tmp_file, mock_file_cmp, mock_copy, mock_subprocess_check_call):

        # New and existing synapse configs are identical
        mock_file_cmp.return_value = True

        configure_synapse.main()

        mock_copy.assert_called_with(
            mock_tmp_file.__enter__().name, '/etc/synapse/synapse.conf.json')
        assert not mock_subprocess_check_call.called
def test_synapse_restarted_when_config_files_differ():
    with setup_mocks_for_main() as (
            mock_tmp_file, mock_file_cmp, mock_copy, mock_subprocess_check_call):

        # New and existing synapse configs differ
        mock_file_cmp.return_value = False

        configure_synapse.main()

        mock_copy.assert_called_with(
            mock_tmp_file.__enter__().name, '/etc/synapse/synapse.conf.json')
        mock_subprocess_check_call.assert_called_with(['service', 'synapse', 'restart'])
def test_synapse_restarted_when_config_files_differ():
    with setup_mocks_for_main() as (mock_tmp_file, mock_file_cmp, mock_copy,
                                    mock_subprocess_check_call):

        # New and existing synapse configs differ
        mock_file_cmp.return_value = False

        configure_synapse.main()

        mock_copy.assert_called_with(mock_tmp_file.__enter__().name,
                                     '/etc/synapse/synapse.conf.json')
        mock_subprocess_check_call.assert_called_with(
            ['service', 'synapse', 'restart'])