diff --git a/moto/events/models.py b/moto/events/models.py index 5c1d507ca..0885d8d4b 100644 --- a/moto/events/models.py +++ b/moto/events/models.py @@ -1,5 +1,6 @@ import os import re +import json from moto.core.exceptions import JsonRESTError from moto.core import BaseBackend, BaseModel @@ -238,8 +239,10 @@ class EventsBackend(BaseBackend): 'Action': 'events:{0}'.format(data['action']), 'Resource': arn }) + policy = {'Version': '2012-10-17', 'Statement': statements} + policy_json = json.dumps(policy) return { - 'Policy': {'Version': '2012-10-17', 'Statement': statements}, + 'Policy': policy_json, 'Name': 'default', 'Arn': arn } diff --git a/tests/test_events/test_events.py b/tests/test_events/test_events.py index e839bde5b..835b3b283 100644 --- a/tests/test_events/test_events.py +++ b/tests/test_events/test_events.py @@ -1,6 +1,7 @@ import random import boto3 +import json from moto.events import mock_events from botocore.exceptions import ClientError @@ -181,13 +182,15 @@ def test_permissions(): client.put_permission(Action='PutEvents', Principal='222222222222', StatementId='Account2') resp = client.describe_event_bus() - assert len(resp['Policy']['Statement']) == 2 + resp_policy = json.loads(resp['Policy']) + assert len(resp_policy['Statement']) == 2 client.remove_permission(StatementId='Account2') resp = client.describe_event_bus() - assert len(resp['Policy']['Statement']) == 1 - assert resp['Policy']['Statement'][0]['Sid'] == 'Account1' + resp_policy = json.loads(resp['Policy']) + assert len(resp_policy['Statement']) == 1 + assert resp_policy['Statement'][0]['Sid'] == 'Account1' @mock_events