How to send input values to terminal without using subprocess or pexpect modules
up vote
1
down vote
favorite
I am trying to write unit tests for a python script. My script takes user input whether proxy credentials are required or not. I have seen several answer-1, answer-2, answer-3 like executing with subprocess and pexpect. But my intention is that after taking user input, I have to execute other functions in the script. So executing the script doesn't help. My python script is below. Can someone provide me suggestions or with a way to achieve this?
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
choice = raw_input("Enter credentials : Y/N ").lower()
if choice.lower() == "y":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
self.requireProxyCredentials = "Y"
elif choice.lower() == "n":
print("credentials are not present ")
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
obj=ProxyDetails(option="Default")
I want to send input value when Enter credentials : Y/N
is prompted.
python
add a comment |
up vote
1
down vote
favorite
I am trying to write unit tests for a python script. My script takes user input whether proxy credentials are required or not. I have seen several answer-1, answer-2, answer-3 like executing with subprocess and pexpect. But my intention is that after taking user input, I have to execute other functions in the script. So executing the script doesn't help. My python script is below. Can someone provide me suggestions or with a way to achieve this?
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
choice = raw_input("Enter credentials : Y/N ").lower()
if choice.lower() == "y":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
self.requireProxyCredentials = "Y"
elif choice.lower() == "n":
print("credentials are not present ")
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
obj=ProxyDetails(option="Default")
I want to send input value when Enter credentials : Y/N
is prompted.
python
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to write unit tests for a python script. My script takes user input whether proxy credentials are required or not. I have seen several answer-1, answer-2, answer-3 like executing with subprocess and pexpect. But my intention is that after taking user input, I have to execute other functions in the script. So executing the script doesn't help. My python script is below. Can someone provide me suggestions or with a way to achieve this?
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
choice = raw_input("Enter credentials : Y/N ").lower()
if choice.lower() == "y":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
self.requireProxyCredentials = "Y"
elif choice.lower() == "n":
print("credentials are not present ")
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
obj=ProxyDetails(option="Default")
I want to send input value when Enter credentials : Y/N
is prompted.
python
I am trying to write unit tests for a python script. My script takes user input whether proxy credentials are required or not. I have seen several answer-1, answer-2, answer-3 like executing with subprocess and pexpect. But my intention is that after taking user input, I have to execute other functions in the script. So executing the script doesn't help. My python script is below. Can someone provide me suggestions or with a way to achieve this?
import getpass
class ProxyDetails:
def __init__(self,option):
self.option = option
self.proxy_option = self.get_web_proxy_details()
self.call_request()
self.parse_test()
def get_web_proxy_details(self):
if self.option == "Default":
choice = raw_input("Enter credentials : Y/N ").lower()
if choice.lower() == "y":
self.proxy_username = getpass.getpass("Enter Username for Proxy : ")
self.proxy_password = getpass.getpass("Enter Password for Proxy : ")
self.requireProxyCredentials = "Y"
elif choice.lower() == "n":
print("credentials are not present ")
else:
print("proxy is none ")
def call_request(self):
# this method will do API call
pass
def parse_test(self):
#this method will parse the json
pass
obj=ProxyDetails(option="Default")
I want to send input value when Enter credentials : Y/N
is prompted.
python
python
asked Nov 12 at 17:28
Auto-learner
239420
239420
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Actually, this is a duplicate question.I am not deleting this as it might be useful for someone else.
import sys
import StringIO
f1 = sys.stdin
f = StringIO.StringIO('n')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Actually, this is a duplicate question.I am not deleting this as it might be useful for someone else.
import sys
import StringIO
f1 = sys.stdin
f = StringIO.StringIO('n')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
add a comment |
up vote
0
down vote
Actually, this is a duplicate question.I am not deleting this as it might be useful for someone else.
import sys
import StringIO
f1 = sys.stdin
f = StringIO.StringIO('n')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
add a comment |
up vote
0
down vote
up vote
0
down vote
Actually, this is a duplicate question.I am not deleting this as it might be useful for someone else.
import sys
import StringIO
f1 = sys.stdin
f = StringIO.StringIO('n')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
Actually, this is a duplicate question.I am not deleting this as it might be useful for someone else.
import sys
import StringIO
f1 = sys.stdin
f = StringIO.StringIO('n')
sys.stdin = f
obj=ProxyDetails(option="Default")
sys.stdin = f1
answered Nov 12 at 19:48
Auto-learner
239420
239420
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53267209%2fhow-to-send-input-values-to-terminal-without-using-subprocess-or-pexpect-modules%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown