obsws-python/tests/test_error.py
2026-03-27 16:29:16 +00:00

46 lines
1.5 KiB
Python

import os
import pytest
import obsws_python as obsws
from tests import req_cl
class TestErrors:
__test__ = True
def test_it_raises_an_obssdk_error_on_incorrect_password(self):
bad_conn = {
"host": os.getenv("OBSWS_HOST", "localhost"),
"port": int(os.getenv("OBSWS_PORT", 4455)),
"password": "incorrectpassword",
}
with pytest.raises(
obsws.error.OBSSDKError,
match="failed to identify client with the server, please check connection settings",
):
obsws.ReqClient(**bad_conn)
def test_it_raises_an_obssdk_error_if_auth_enabled_but_no_password_provided(self):
bad_conn = {
"host": os.getenv("OBSWS_HOST", "localhost"),
"port": int(os.getenv("OBSWS_PORT", 4455)),
"password": "",
}
with pytest.raises(
obsws.error.OBSSDKError,
match="authentication enabled but no password provided",
):
obsws.ReqClient(**bad_conn)
def test_it_raises_a_request_error_on_invalid_request(self):
with pytest.raises(
obsws.error.OBSSDKRequestError,
match="Request SetCurrentProgramScene returned code 600. With message: No source was found by the name of `invalid`.",
) as exc_info:
req_cl.set_current_program_scene(scene_name="invalid")
e = exc_info.value
assert e.req_name == "SetCurrentProgramScene"
assert e.code == 600