"""Tests for error utilities.""" from oto import status from collaborator.utils import error def test_OwsError(): """Test initialization of the class.""" message = "Something bad happen" code = "baddd" status_code = 123 err = error.OwsError(message, code, status_code) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == code assert err.status == status_code err = error.OwsError(message, code) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == code assert err.status == status.BAD_REQUEST err = error.OwsError(message) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == "bad_request" assert err.status == status.BAD_REQUEST def test_OwsError_str(): """Test string representation of the OwsError class.""" message = "Something bad happen" code = "baddd" status_code = 123 err = error.OwsError(message, code, status_code) assert str(err) == "Status 123: Something bad happen (baddd)" def test_OwsError_forbidden(): """Test initializing a Forbidden error.""" message = "Something bad happen" code = "baddd" err = error.OwsError.forbidden(message, code) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == code assert err.status == status.FORBIDDEN err = error.OwsError.forbidden(message) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == "forbidden" assert err.status == status.FORBIDDEN def test_OwsError_not_found(): """Test initializing a Not Found error.""" message = "Something bad happen" code = "baddd" err = error.OwsError.not_found(message, code) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == code assert err.status == status.NOT_FOUND err = error.OwsError.not_found(message) assert isinstance(err, error.OwsError) assert err.message == message assert err.code == "not_found" assert err.status == status.NOT_FOUND