forked from fabric/fabric
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_io.py
28 lines (22 loc) · 963 Bytes
/
test_io.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from __future__ import with_statement
from nose.tools import eq_
from fabric.io import OutputLooper
from fabric.context_managers import settings
def test_request_prompts():
"""
Test valid responses from prompts
"""
def run(txt, prompts):
with settings(prompts=prompts):
# try to fulfil the OutputLooper interface, only want to test
# _get_prompt_response. (str has a method upper)
ol = OutputLooper(str, 'upper', None, list(txt), None)
return ol._get_prompt_response()
prompts = {"prompt2": "response2",
"prompt1": "response1",
"prompt": "response"
}
eq_(run("this is a prompt for prompt1", prompts), ("prompt1", "response1"))
eq_(run("this is a prompt for prompt2", prompts), ("prompt2", "response2"))
eq_(run("this is a prompt for promptx:", prompts), (None, None))
eq_(run("prompt for promp", prompts), (None, None))