describe_event_bus returns json, not dict
Correct the assumption that describe_event_bus()['Policy'] is a dict As per http://boto3.readthedocs.io/en/latest/reference/services/events.html#CloudWatchEvents.Client.describe_event_bus It should be a JSON encoded string Here we decode the JSON before we look inside the policy
This commit is contained in:
parent
1e01356f99
commit
e85106c708
@ -1,6 +1,7 @@
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
import boto3
|
import boto3
|
||||||
|
import json
|
||||||
|
|
||||||
from moto.events import mock_events
|
from moto.events import mock_events
|
||||||
from botocore.exceptions import ClientError
|
from botocore.exceptions import ClientError
|
||||||
@ -181,13 +182,15 @@ def test_permissions():
|
|||||||
client.put_permission(Action='PutEvents', Principal='222222222222', StatementId='Account2')
|
client.put_permission(Action='PutEvents', Principal='222222222222', StatementId='Account2')
|
||||||
|
|
||||||
resp = client.describe_event_bus()
|
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')
|
client.remove_permission(StatementId='Account2')
|
||||||
|
|
||||||
resp = client.describe_event_bus()
|
resp = client.describe_event_bus()
|
||||||
assert len(resp['Policy']['Statement']) == 1
|
resp_policy = json.loads(resp['Policy'])
|
||||||
assert resp['Policy']['Statement'][0]['Sid'] == 'Account1'
|
assert len(resp_policy['Statement']) == 1
|
||||||
|
assert resp_policy['Statement'][0]['Sid'] == 'Account1'
|
||||||
|
|
||||||
|
|
||||||
@mock_events
|
@mock_events
|
||||||
|
Loading…
x
Reference in New Issue
Block a user