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)
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)
def test_mock_input(capfd): query = "foobar" assert_input(capfd, query, "Y") assert_input(capfd, query, "Y", input_=input)