Esempio n. 1
0
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()
Esempio n. 2
0
def test_command():
    resolver = Resolver()

    @resolver.group()
    def foo():
        pass

    @resolver.command(foo)
    def command():
        pass

    result = ClickRunner(foo).invoke("command")
    result.assert_successful()
Esempio n. 3
0
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
Esempio n. 4
0
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()
Esempio n. 5
0
def test_group():
    resolver = Resolver()

    @resolver.group()
    def foo():
        pass

    result = ClickRunner(foo).invoke()
    assert result.exit_code == 0
Esempio n. 6
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()
Esempio n. 7
0
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)
Esempio n. 8
0
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