mirror of
https://github.com/onyx-and-iris/obsws-cli.git
synced 2025-05-15 22:10:23 +01:00
61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
"""Unit tests for the stream commands in the OBS WebSocket CLI."""
|
|
|
|
import time
|
|
|
|
from typer.testing import CliRunner
|
|
|
|
from obsws_cli.app import app
|
|
|
|
runner = CliRunner()
|
|
|
|
|
|
def test_stream_start():
|
|
"""Test the stream start command."""
|
|
result = runner.invoke(app, ['stream', 'status'])
|
|
assert result.exit_code == 0
|
|
active = 'Streaming is in progress' in result.stdout
|
|
|
|
result = runner.invoke(app, ['stream', 'start'])
|
|
assert result.exit_code == 0
|
|
|
|
time.sleep(2) # Wait for the stream to start
|
|
|
|
if active:
|
|
assert 'Streaming is already in progress, cannot start.' in result.stdout
|
|
else:
|
|
assert 'Streaming started successfully.' in result.stdout
|
|
|
|
|
|
def test_stream_stop():
|
|
"""Test the stream stop command."""
|
|
result = runner.invoke(app, ['stream', 'status'])
|
|
assert result.exit_code == 0
|
|
active = 'Streaming is in progress' in result.stdout
|
|
|
|
result = runner.invoke(app, ['stream', 'stop'])
|
|
assert result.exit_code == 0
|
|
|
|
time.sleep(2) # Wait for the stream to stop
|
|
|
|
if active:
|
|
assert 'Streaming stopped successfully.' in result.stdout
|
|
else:
|
|
assert 'Streaming is not in progress, cannot stop.' in result.stdout
|
|
|
|
|
|
def test_stream_toggle():
|
|
"""Test the stream toggle command."""
|
|
result = runner.invoke(app, ['stream', 'status'])
|
|
assert result.exit_code == 0
|
|
active = 'Streaming is in progress' in result.stdout
|
|
|
|
result = runner.invoke(app, ['stream', 'toggle'])
|
|
assert result.exit_code == 0
|
|
|
|
time.sleep(2) # Wait for the stream to toggle
|
|
|
|
if active:
|
|
assert 'Streaming stopped successfully.' in result.stdout
|
|
else:
|
|
assert 'Streaming started successfully.' in result.stdout
|