예제 #1
0
 def _assert_confirm(stdout):
     assert_input(capfd,
                  query,
                  "Y",
                  expected=True,
                  input_=cli.confirm,
                  stdout=stdout)
     assert_input(capfd,
                  query,
                  "y",
                  expected=True,
                  input_=cli.confirm,
                  stdout=stdout)
     assert_input(capfd,
                  query,
                  "\n",
                  expected=True,
                  input_=cli.confirm,
                  stdout=stdout)
     assert_input(capfd,
                  query,
                  "n",
                  expected=False,
                  input_=cli.confirm,
                  stdout=stdout)
     assert_input(capfd,
                  query,
                  "1",
                  expected=False,
                  input_=cli.confirm,
                  stdout=stdout)
예제 #2
0
def test_confirm(capfd):
    query = "foobar"
    stdout = "{} [Y/n/q]: ".format(query)

    def _assert_confirm(stdout):
        assert_input(capfd,
                     query,
                     "Y",
                     expected=True,
                     input_=cli.confirm,
                     stdout=stdout)
        assert_input(capfd,
                     query,
                     "y",
                     expected=True,
                     input_=cli.confirm,
                     stdout=stdout)
        assert_input(capfd,
                     query,
                     "\n",
                     expected=True,
                     input_=cli.confirm,
                     stdout=stdout)
        assert_input(capfd,
                     query,
                     "n",
                     expected=False,
                     input_=cli.confirm,
                     stdout=stdout)
        assert_input(capfd,
                     query,
                     "1",
                     expected=False,
                     input_=cli.confirm,
                     stdout=stdout)

    _assert_confirm(stdout)

    stdout = "{} [Y/n]: ".format(query)

    with pytest.raises(SystemExit):
        assert_input(capfd,
                     query,
                     "q",
                     expected=False,
                     input_=cli.confirm,
                     stdout=stdout)

    with pytest.raises(SystemExit):
        assert_input(capfd,
                     query,
                     "Q",
                     expected=False,
                     input_=cli.confirm,
                     stdout=stdout)
예제 #3
0
def test_mock_input(capfd):
    query = "foobar"

    assert_input(capfd, query, "Y")
    assert_input(capfd, query, "Y", input_=input)