def test_sub_group(): resolver = Resolver() @resolver.group() def foo(): pass @resolver.group(foo) def sub_foo(): pass result = ClickRunner(foo).invoke("sub-foo") result.assert_successful()
def test_command(): resolver = Resolver() @resolver.group() def foo(): pass @resolver.command(foo) def command(): pass result = ClickRunner(foo).invoke("command") result.assert_successful()
def test_handled_error(): resolver = Resolver() @resolver.group() def foo(): pass @resolver.command(foo) def command(): raise click.ClickException("woah!") result = ClickRunner(foo).invoke("command") result.assert_unsuccessful() assert "woah!" in result.output
def test_double_submission_command(): resolver = Resolver() resolver.register_values(a=4) @resolver.group() def group(): pass @resolver.command(group) @click.option("--a") def foo(a): pass result = ClickRunner(group).invoke("foo", "--a", "woah") result.assert_successful()
def test_group(): resolver = Resolver() @resolver.group() def foo(): pass result = ClickRunner(foo).invoke() assert result.exit_code == 0
def test_bad_assertion_unsuccessful(): resolver = Resolver() @resolver.group() def foo(): pass @resolver.command(foo) def command(): pass result = ( ClickRunner(foo).patch("strapp.click.resolver.sentry_sdk", new=sentry_sdk).invoke("command") ) with pytest.raises(AssertionError): result.assert_unsuccessful()
def test_bad_assertion_prints_exception(capsys): resolver = Resolver() @resolver.group() def foo(): pass @resolver.command(foo) def command(): raise Exception("f\noo") result = ( ClickRunner(foo).patch("strapp.click.resolver.sentry_sdk", new=sentry_sdk).invoke("command") ) with pytest.raises(AssertionError) as e: result.assert_successful() assert "Exception: f\noo" in str(capsys.readouterr().out)
def test_unhandled_error(sentry_sdk): resolver = Resolver() @resolver.group() def foo(): pass @resolver.command(foo) def command(): raise Exception("foo") result = ( ClickRunner(foo).patch("strapp.click.resolver.sentry_sdk", new=sentry_sdk).invoke("command") ) result.assert_unsuccessful() assert "Traceback" in result.output assert "foo" in result.output