#!/usr/bin/python3.8

import pexpect

from robot.api.deco import keyword

ROBOT_AUTO_KEYWORDS = False

@keyword('Run Process And Enter Empty Password')
def run_proccess_and_interact(cmd: str) -> str:
    p = pexpect.spawn(cmd)
    p.expect("[pP]assword")
    # enter empty password
    p.sendline('\r')
    p.wait()
    # throw a string with password prompt
    first = p.readline()
    # take all output
    child_output = p.readline()
    p.close()
    if p.exitstatus != 0:
        raise Exception(f"{first}\n{child_output}")
    return child_output