File: test_cloudfront_oac.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (69 lines) | stat: -rw-r--r-- 2,291 bytes parent folder | download | duplicates (2)
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