Пример #1
0
def mock_script(script, exitcode=0, out="", err="", code=None, times=1):

    # cria um diretório temporário
    script_dir = tempfile.mkdtemp(suffix='networkapi_testes')
    log.debug('Preparando diretorio de execução de script: %s', script_dir)

    # cria o script
    if code is None:
        code = """
echo "%s" 1>&2
echo "%s"
exit %d""" % (out, err, exitcode)

    old = script_utils.SCRIPTS_DIR
    # troca o diretório na aplicação
    script_utils.SCRIPTS_DIR = script_dir

    script_state = ScriptSavedState(old, script_dir, script, times)
    write_script(
        script_state.script_path,
        __build_script(code, script_state.script_path,
                       script_state.script_dir))
    write_script(script_state.functions_path, FUNCTIONS)

    return script_state
Пример #2
0
    def __exit__(self, exc_type, exc_value, traceback):
        log.debug('restaurando diretório de scripts para %s',
                  self.original_dir)

        times_called = self.times_called()

        # apaga o diretório e script criados
        # os.remove(self.script_path)
        # os.remove(self.functions_path)
        # if os.path.isfile(script_path_counter(self.script_path)):
        # os.remove(script_path_counter(self.script_path))
        # os.rmdir(script_utils.SCRIPTS_DIR)

        script_utils.SCRIPTS_DIR = self.original_dir

        # valida se foi chamado o número desejado de vezes
        if self.ensure_running_times:
            assert times_called == self.ensure_running_times, u'Era necessário ao teste executar o script %d vezes, mas ele rodou %d' % (
                self.ensure_running_times, times_called)

        # propaga a exception em caso de erro no bloco executado
        return False
Пример #3
0
    def __exit__(self, exc_type, exc_value, traceback):
        log.debug(
            'restaurando diretório de scripts para %s', self.original_dir)

        times_called = self.times_called()

        # apaga o diretório e script criados
        # os.remove(self.script_path)
        # os.remove(self.functions_path)
        # if os.path.isfile(script_path_counter(self.script_path)):
        # os.remove(script_path_counter(self.script_path))
        # os.rmdir(script_utils.SCRIPTS_DIR)

        script_utils.SCRIPTS_DIR = self.original_dir

        # valida se foi chamado o número desejado de vezes
        if self.ensure_running_times:
            assert times_called == self.ensure_running_times, u'Era necessário ao teste executar o script %d vezes, mas ele rodou %d' % (
                self.ensure_running_times, times_called)

        # propaga a exception em caso de erro no bloco executado
        return False
Пример #4
0
def mock_script(script, exitcode=0, out="", err="", code=None, times=1):

    # cria um diretório temporário
    script_dir = tempfile.mkdtemp(suffix='networkapi_testes')
    log.debug('Preparando diretorio de execução de script: %s', script_dir)

    # cria o script
    if code is None:
        code = """
echo "%s" 1>&2
echo "%s"
exit %d""" % (out, err, exitcode)

    old = script_utils.SCRIPTS_DIR
    # troca o diretório na aplicação
    script_utils.SCRIPTS_DIR = script_dir

    script_state = ScriptSavedState(old, script_dir, script, times)
    write_script(script_state.script_path, __build_script(
        code, script_state.script_path, script_state.script_dir))
    write_script(script_state.functions_path, FUNCTIONS)

    return script_state