def test_add_remote_build_app_settings_do_nothing(
            self, get_app_settings_mock, delete_app_settings_mock,
            update_app_settings_mock, validate_app_settings_in_scm_mock):
        # prepare
        cmd_mock = _get_test_cmd()

        # action
        add_remote_build_app_settings(cmd_mock, 'rg', 'name', slot=None)

        # assert
        update_app_settings_mock.assert_not_called()
        validate_app_settings_in_scm_mock.assert_not_called()
    def test_add_remote_build_app_settings_change_scm_do_build_during_deployment(
            self, get_app_settings_mock, delete_app_settings_mock,
            update_app_settings_mock, validate_app_settings_in_scm_mock):
        # prepare
        cmd_mock = _get_test_cmd()

        # action
        add_remote_build_app_settings(cmd_mock, 'rg', 'name', slot=None)

        # assert
        update_app_settings_mock.assert_called_with(
            cmd_mock, 'rg', 'name', ['SCM_DO_BUILD_DURING_DEPLOYMENT=true'],
            None)
        validate_app_settings_in_scm_mock.assert_called_with(
            cmd_mock,
            'rg',
            'name',
            None,
            should_contain={'SCM_DO_BUILD_DURING_DEPLOYMENT': 'true'},
            should_not_have=[])
    def test_add_remote_build_app_settings_remove_unnecessary_app_settings(
            self, get_app_settings_mock, delete_app_settings_mock,
            update_app_settings_mock, validate_app_settings_in_scm_mock):
        # prepare
        cmd_mock = _get_test_cmd()

        # action
        add_remote_build_app_settings(cmd_mock, 'rg', 'name', slot=None)

        # assert
        delete_app_settings_mock.assert_any_call(cmd_mock, 'rg', 'name',
                                                 ['WEBSITE_RUN_FROM_PACKAGE'],
                                                 None)
        delete_app_settings_mock.assert_any_call(cmd_mock, 'rg', 'name',
                                                 ['ENABLE_ORYX_BUILD'], None)
        validate_app_settings_in_scm_mock.assert_called_with(
            cmd_mock,
            'rg',
            'name',
            None,
            should_contain={'SCM_DO_BUILD_DURING_DEPLOYMENT': 'true'},
            should_not_have=['WEBSITE_RUN_FROM_PACKAGE', 'ENABLE_ORYX_BUILD'])