1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
import boto3
import pytest
from botocore.exceptions import ClientError
from moto import mock_aws
@mock_aws
def test_create_origin_access_control():
cf = boto3.client("cloudfront", "us-east-1")
oac_list = cf.list_origin_access_controls()["OriginAccessControlList"]
assert oac_list["Items"] == []
oac_input = {
"Name": "my_oac",
"SigningProtocol": "sigv4",
"SigningBehavior": "always",
"OriginAccessControlOriginType": "s3",
}
resp = cf.create_origin_access_control(OriginAccessControlConfig=oac_input)[
"OriginAccessControl"
]
control_id = resp.pop("Id")
assert control_id is not None
assert resp["OriginAccessControlConfig"] == oac_input
resp = cf.get_origin_access_control(Id=control_id)["OriginAccessControl"]
assert resp.pop("Id") is not None
assert resp["OriginAccessControlConfig"] == oac_input
oac_list = cf.list_origin_access_controls()["OriginAccessControlList"]
assert oac_list["Items"][0].pop("Id") == control_id
assert oac_list["Items"][0] == oac_input
cf.delete_origin_access_control(Id=control_id)
oac_list = cf.list_origin_access_controls()["OriginAccessControlList"]
assert oac_list["Items"] == []
with pytest.raises(ClientError) as exc:
cf.get_origin_access_control(Id=control_id)
err = exc.value.response["Error"]
assert err["Code"] == "NoSuchOriginAccessControl"
assert err["Message"] == "The specified origin access control does not exist."
@mock_aws
def test_update_origin_access_control():
# http://localhost:5000/2020-05-31/origin-access-control/DE53MREVCPIFL/config
cf = boto3.client("cloudfront", "us-east-1")
oac_input = {
"Name": "my_oac",
"SigningProtocol": "sigv4",
"SigningBehavior": "always",
"OriginAccessControlOriginType": "s3",
}
resp = cf.create_origin_access_control(OriginAccessControlConfig=oac_input)[
"OriginAccessControl"
]
control_id = resp.pop("Id")
oac_input["Description"] = "updated"
control = cf.update_origin_access_control(
Id=control_id, OriginAccessControlConfig=oac_input
)["OriginAccessControl"]
assert control["Id"] == control_id
assert control["OriginAccessControlConfig"] == oac_input
|