SDK-2525: Add AuthenticationRequired error, change codes

This commit is contained in:
Romuald Juchnowicz-Bierbasz
2019-02-15 10:16:26 +01:00
parent c6d5c55dfd
commit 9f3df6aee3
3 changed files with 47 additions and 28 deletions

View File

@@ -4,6 +4,22 @@ class UnknownError(ApplicationError):
def __init__(self, data=None):
super().__init__(0, "Unknown error", data)
class AuthenticationRequired(ApplicationError):
def __init__(self, data=None):
super().__init__(1, "Authentication required", data)
class BackendNotAvailable(ApplicationError):
def __init__(self, data=None):
super().__init__(2, "Backend not available", data)
class BackendTimeout(ApplicationError):
def __init__(self, data=None):
super().__init__(3, "Backend timed out", data)
class BackendError(ApplicationError):
def __init__(self, data=None):
super().__init__(4, "Backend error", data)
class InvalidCredentials(ApplicationError):
def __init__(self, data=None):
super().__init__(100, "Invalid credentials", data)
@@ -20,41 +36,29 @@ class ProtocolError(ApplicationError):
def __init__(self, data=None):
super().__init__(103, "Protocol error", data)
class BackendNotAvailable(ApplicationError):
def __init__(self, data=None):
super().__init__(104, "Backend not available", data)
class BackendTimeout(ApplicationError):
def __init__(self, data=None):
super().__init__(105, "Backend timed out", data)
class BackendError(ApplicationError):
def __init__(self, data=None):
super().__init__(106, "Backend error", data)
class TemporaryBlocked(ApplicationError):
def __init__(self, data=None):
super().__init__(107, "Temporary blocked", data)
super().__init__(104, "Temporary blocked", data)
class Banned(ApplicationError):
def __init__(self, data=None):
super().__init__(108, "Banned", data)
super().__init__(105, "Banned", data)
class AccessDenied(ApplicationError):
def __init__(self, data=None):
super().__init__(109, "Access denied", data)
super().__init__(106, "Access denied", data)
class ParentalControlBlock(ApplicationError):
def __init__(self, data=None):
super().__init__(110, "Parental control block", data)
super().__init__(107, "Parental control block", data)
class DeviceBlocked(ApplicationError):
def __init__(self, data=None):
super().__init__(111, "Device blocked", data)
super().__init__(108, "Device blocked", data)
class RegionBlocked(ApplicationError):
def __init__(self, data=None):
super().__init__(112, "Region blocked", data)
super().__init__(109, "Region blocked", data)
class FailedParsingManifest(ApplicationError):
def __init__(self, data=None):

View File

@@ -34,19 +34,19 @@ def test_success(plugin, readline, write):
@pytest.mark.parametrize("error,code,message", [
pytest.param(UnknownError, 0, "Unknown error", id="unknown_error"),
pytest.param(BackendNotAvailable, 2, "Backend not available", id="backend_not_available"),
pytest.param(BackendTimeout, 3, "Backend timed out", id="backend_timeout"),
pytest.param(BackendError, 4, "Backend error", id="backend_error"),
pytest.param(InvalidCredentials, 100, "Invalid credentials", id="invalid_credentials"),
pytest.param(NetworkError, 101, "Network error", id="network_error"),
pytest.param(LoggedInElsewhere, 102, "Logged in elsewhere", id="logged_elsewhere"),
pytest.param(ProtocolError, 103, "Protocol error", id="protocol_error"),
pytest.param(BackendNotAvailable, 104, "Backend not available", id="backend_not_available"),
pytest.param(BackendTimeout, 105, "Backend timed out", id="backend_timeout"),
pytest.param(BackendError, 106, "Backend error", id="backend_error"),
pytest.param(TemporaryBlocked, 107, "Temporary blocked", id="temporary_blocked"),
pytest.param(Banned, 108, "Banned", id="banned"),
pytest.param(AccessDenied, 109, "Access denied", id="access_denied"),
pytest.param(ParentalControlBlock, 110, "Parental control block", id="parental_control_clock"),
pytest.param(DeviceBlocked, 111, "Device blocked", id="device_blocked"),
pytest.param(RegionBlocked, 112, "Region blocked", id="region_blocked")
pytest.param(TemporaryBlocked, 104, "Temporary blocked", id="temporary_blocked"),
pytest.param(Banned, 105, "Banned", id="banned"),
pytest.param(AccessDenied, 106, "Access denied", id="access_denied"),
pytest.param(ParentalControlBlock, 107, "Parental control block", id="parental_control_clock"),
pytest.param(DeviceBlocked, 108, "Device blocked", id="device_blocked"),
pytest.param(RegionBlocked, 109, "Region blocked", id="region_blocked")
])
def test_failure(plugin, readline, write, error, code, message):
request = {

View File

@@ -4,7 +4,10 @@ import json
import pytest
from galaxy.api.types import Room, Message
from galaxy.api.errors import UnknownError, TooManyMessagesSent, IncoherentLastMessage, MessageNotFound
from galaxy.api.errors import (
UnknownError, AuthenticationRequired, BackendNotAvailable, BackendTimeout, BackendError,
TooManyMessagesSent, IncoherentLastMessage, MessageNotFound
)
def test_send_message_success(plugin, readline, write):
request = {
@@ -31,6 +34,10 @@ def test_send_message_success(plugin, readline, write):
@pytest.mark.parametrize("error,code,message", [
pytest.param(UnknownError, 0, "Unknown error", id="unknown_error"),
pytest.param(AuthenticationRequired, 1, "Authentication required", id="not_authenticated"),
pytest.param(BackendNotAvailable, 2, "Backend not available", id="backend_not_available"),
pytest.param(BackendTimeout, 3, "Backend timed out", id="backend_timeout"),
pytest.param(BackendError, 4, "Backend error", id="backend_error"),
pytest.param(TooManyMessagesSent, 300, "Too many messages sent", id="too_many_messages")
])
def test_send_message_failure(plugin, readline, write, error, code, message):
@@ -84,6 +91,10 @@ def test_mark_as_read_success(plugin, readline, write):
@pytest.mark.parametrize("error,code,message", [
pytest.param(UnknownError, 0, "Unknown error", id="unknown_error"),
pytest.param(AuthenticationRequired, 1, "Authentication required", id="not_authenticated"),
pytest.param(BackendNotAvailable, 2, "Backend not available", id="backend_not_available"),
pytest.param(BackendTimeout, 3, "Backend timed out", id="backend_timeout"),
pytest.param(BackendError, 4, "Backend error", id="backend_error"),
pytest.param(
IncoherentLastMessage,
400,
@@ -216,6 +227,10 @@ def test_get_room_history_from_message_success(plugin, readline, write):
@pytest.mark.parametrize("error,code,message", [
pytest.param(UnknownError, 0, "Unknown error", id="unknown_error"),
pytest.param(AuthenticationRequired, 1, "Authentication required", id="not_authenticated"),
pytest.param(BackendNotAvailable, 2, "Backend not available", id="backend_not_available"),
pytest.param(BackendTimeout, 3, "Backend timed out", id="backend_timeout"),
pytest.param(BackendError, 4, "Backend error", id="backend_error"),
pytest.param(MessageNotFound, 500, "Message not found", id="message_not_found")
])
def test_get_room_history_from_message_failure(plugin, readline, write, error, code, message):