Media package client error (#3983)
* Add delete container and list tags endpoints to MediaStore * Black reformat * Fixed Lint problems * Check if dictionary was deleted effectively * lint fix * MediaPackageClientError * Lint Fix * Test unknown channel describe * Concatenation Fix * MediaPackage - fix error message Co-authored-by: av <arcovoltaico@gmail.com> Co-authored-by: Bert Blommers <info@bertblommers.nl>
This commit is contained in:
parent
9836985473
commit
ae5653b31d
@ -1 +1,13 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from moto.core.exceptions import JsonRESTError
|
||||||
|
|
||||||
|
|
||||||
|
class MediaPackageClientError(JsonRESTError):
|
||||||
|
code = 400
|
||||||
|
|
||||||
|
|
||||||
|
# AWS service exceptions are caught with the underlying botocore exception, ClientError
|
||||||
|
class ClientError(MediaPackageClientError):
|
||||||
|
def __init__(self, error, message):
|
||||||
|
super(ClientError, self).__init__(error, message)
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from boto3 import Session
|
|
||||||
from moto.core import BaseBackend, BaseModel
|
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
from boto3 import Session
|
||||||
|
|
||||||
|
from moto.core import BaseBackend, BaseModel
|
||||||
|
from .exceptions import ClientError
|
||||||
|
|
||||||
|
|
||||||
class Channel(BaseModel):
|
class Channel(BaseModel):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@ -97,8 +101,12 @@ class MediaPackageBackend(BaseBackend):
|
|||||||
return response_channels
|
return response_channels
|
||||||
|
|
||||||
def describe_channel(self, id):
|
def describe_channel(self, id):
|
||||||
|
try:
|
||||||
channel = self._channels[id]
|
channel = self._channels[id]
|
||||||
return channel.to_dict()
|
return channel.to_dict()
|
||||||
|
except KeyError:
|
||||||
|
error = "NotFoundException"
|
||||||
|
raise ClientError(error, "channel with id={} not found".format(id))
|
||||||
|
|
||||||
def delete_channel(self, id):
|
def delete_channel(self, id):
|
||||||
channel = self._channels[id]
|
channel = self._channels[id]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import boto3
|
import boto3
|
||||||
|
import pytest
|
||||||
import sure # noqa
|
import sure # noqa
|
||||||
|
from botocore.exceptions import ClientError # Boto3 will always throw this exception
|
||||||
|
|
||||||
from moto import mock_mediapackage
|
from moto import mock_mediapackage
|
||||||
|
|
||||||
region = "eu-west-1"
|
region = "eu-west-1"
|
||||||
@ -11,7 +14,7 @@ def _create_channel_config(**kwargs):
|
|||||||
id = kwargs.get("id", "channel-id")
|
id = kwargs.get("id", "channel-id")
|
||||||
description = kwargs.get("description", "Awesome channel!")
|
description = kwargs.get("description", "Awesome channel!")
|
||||||
tags = kwargs.get("tags", {"Customer": "moto"})
|
tags = kwargs.get("tags", {"Customer": "moto"})
|
||||||
channel_config = dict(Description=description, Id=id, Tags=tags,)
|
channel_config = dict(Description=description, Id=id, Tags=tags)
|
||||||
return channel_config
|
return channel_config
|
||||||
|
|
||||||
|
|
||||||
@ -81,6 +84,17 @@ def test_describe_channel_succeeds():
|
|||||||
describe_response["Tags"]["Customer"].should.equal("moto")
|
describe_response["Tags"]["Customer"].should.equal("moto")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_mediapackage
|
||||||
|
def test_describe_unknown_channel_throws_error():
|
||||||
|
client = boto3.client("mediapackage", region_name=region)
|
||||||
|
channel_id = "unknown-channel"
|
||||||
|
with pytest.raises(ClientError) as err:
|
||||||
|
client.describe_channel(Id=channel_id)
|
||||||
|
err = err.value.response["Error"]
|
||||||
|
err["Code"].should.equal("NotFoundException")
|
||||||
|
err["Message"].should.equal("channel with id={} not found".format(str(channel_id)))
|
||||||
|
|
||||||
|
|
||||||
@mock_mediapackage
|
@mock_mediapackage
|
||||||
def test_delete_channel_successfully_deletes():
|
def test_delete_channel_successfully_deletes():
|
||||||
client = boto3.client("mediapackage", region_name=region)
|
client = boto3.client("mediapackage", region_name=region)
|
||||||
|
Loading…
Reference in New Issue
Block a user