mirror of
https://github.com/onyx-and-iris/obsws-cli.git
synced 2025-06-07 20:20:32 +01:00
check for error code 600 and print error message
add filter tests
This commit is contained in:
parent
057e677d90
commit
0a944f1f58
@ -1,5 +1,6 @@
|
||||
"""module containing commands for manipulating filters in scenes."""
|
||||
|
||||
import obsws_python as obsws
|
||||
import typer
|
||||
from rich.console import Console
|
||||
from rich.table import Table
|
||||
@ -20,7 +21,14 @@ def main():
|
||||
@app.command('list | ls')
|
||||
def list(ctx: typer.Context, source_name: str):
|
||||
"""List filters for a source."""
|
||||
resp = ctx.obj.get_source_filter_list(source_name)
|
||||
try:
|
||||
resp = ctx.obj.get_source_filter_list(source_name)
|
||||
except obsws.error.OBSSDKError as e:
|
||||
if e.code == 600:
|
||||
err_console.print(f"No source was found by the name of '{source_name}'.")
|
||||
raise typer.Exit(1)
|
||||
else:
|
||||
raise
|
||||
|
||||
if not resp.filters:
|
||||
out_console.print(f'No filters found for source {source_name}')
|
||||
|
30
tests/test_filter.py
Normal file
30
tests/test_filter.py
Normal file
@ -0,0 +1,30 @@
|
||||
"""Unit tests for the filter command in the OBS WebSocket CLI."""
|
||||
|
||||
from typer.testing import CliRunner
|
||||
|
||||
from obsws_cli.app import app
|
||||
|
||||
runner = CliRunner(mix_stderr=False)
|
||||
|
||||
|
||||
def test_filter_list():
|
||||
"""Test the filter list command on an audio source."""
|
||||
result = runner.invoke(app, ['filter', 'list', 'Mic/Aux'])
|
||||
assert result.exit_code == 0
|
||||
assert 'Filters for Source: Mic/Aux' in result.stdout
|
||||
assert 'pytest filter' in result.stdout
|
||||
|
||||
|
||||
def test_filter_list_scene():
|
||||
"""Test the filter list command on a scene."""
|
||||
result = runner.invoke(app, ['filter', 'list', 'pytest_scene'])
|
||||
assert result.exit_code == 0
|
||||
assert 'Filters for Source: pytest_scene' in result.stdout
|
||||
assert 'pytest filter' in result.stdout
|
||||
|
||||
|
||||
def test_filter_list_invalid_source():
|
||||
"""Test the filter list command with an invalid source."""
|
||||
result = runner.invoke(app, ['filter', 'list', 'invalid_source'])
|
||||
assert result.exit_code != 0
|
||||
assert "No source was found by the name of 'invalid_source'" in result.stderr
|
Loading…
x
Reference in New Issue
Block a user