[Python] Pytest not executing mock statement

Discussão em 'Python' iniciado por Stack, Janeiro 31, 2025.

  1. Stack

    Stack Membro Participativo

    Iam writing pytest for method -

    def upload(type="", local_file=None, remote_file=None,
    target_config=None, verify_existence=True,throw_on_error=False):
    if not local_file or not target_config:
    return None
    logger = default_logger
    target_path = remote_file if remote_file else local_file
    pdir = os.path.dirname(target_path)
    cip = getattr(
    target_config, "address", None) or target_config.cip
    if verify_existence:
    target_check = "test -f '%s'" % target_path
    _, _, ret = ssh(ip=cip,command=[target_check],throw_on_error=False)
    if ret == 0:
    message = ("Target file %s(%s) already exists. "
    "Skipping upload" % (cip, target_path))
    logger.info(message)
    return local_file
    else:
    message = ("Target file %s(%s) not present. Uploading file"
    % (cip, target_path))
    logger.info(message)
    for _ in range(10):
    _, _, ret = ssh(ip=cip, command=["mkdir", "-p", pdir],
    throw_on_error=False)
    _, _, ret = scp(
    ip=cip,target_path=target_path,files=[local_file],
    log_on_error=True, throw_on_error=False,
    timeout=None)
    if ret == 0:
    return local_file
    else:
    message = ("Failed to upload %s(%s) to %s:%s" % (type,
    local_file, cip, target_path))
    logger.error(message)
    if throw_on_error:
    raise Exception(message)


    My test case - -

    def test_upload(self):
    default_logger = self.mock.CreateMockAnything()
    pdir ="tmp/sample_path"
    local_file = "tmp/local_path"
    cip = "10.1.1.1"
    verify_existence=True
    objectName.ssh(cip, command=["test", "-f", 'tmp/sample_path'], throw_on_error=False).AndReturn(("", "",0))
    self.mock.ReplayAll()
    result = objectName.upload( local_file= "tmp/local_path" , verify_existence=True)
    print(result)
    self.mock.VerifyAll()


    But it fails with :test_upload_local_file - mox3.mox.ExpectedMethodCallsError: Verify: Expected methods never called: and also return None as result, I want local_file as my output. What is wrong in my test case

    Continue reading...

Compartilhe esta Página