moto/tests/test_pinpoint/test_pinpoint.py
kbalk 45cffb6cd8
Techdebt: Replace sure with regular assertions in Pinpoint (#6677)
Co-authored-by: Karri Balk <kbalk@users.noreply.github.com>
2023-08-16 11:29:57 +00:00

129 lines
4.4 KiB
Python

"""Unit tests for pinpoint-supported APIs."""
import boto3
from botocore.exceptions import ClientError
import pytest
from moto import mock_pinpoint
# See our Development Tips on writing tests for hints on how to write good tests:
# http://docs.getmoto.org/en/latest/docs/contributing/development_tips/tests.html
@mock_pinpoint
def test_create_app():
client = boto3.client("pinpoint", region_name="us-east-1")
resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})
assert "ApplicationResponse" in resp
assert "Arn" in resp["ApplicationResponse"]
assert "Id" in resp["ApplicationResponse"]
assert resp["ApplicationResponse"]["Name"] == "myfirstapp"
assert "CreationDate" in resp["ApplicationResponse"]
@mock_pinpoint
def test_delete_app():
client = boto3.client("pinpoint", region_name="ap-southeast-1")
creation = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})[
"ApplicationResponse"
]
app_id = creation["Id"]
deletion = client.delete_app(ApplicationId=app_id)["ApplicationResponse"]
assert deletion == creation
with pytest.raises(ClientError) as exc:
client.get_app(ApplicationId=app_id)
err = exc.value.response["Error"]
assert err["Code"] == "NotFoundException"
assert err["Message"] == "Application not found"
@mock_pinpoint
def test_get_app():
client = boto3.client("pinpoint", region_name="eu-west-1")
resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})
app_id = resp["ApplicationResponse"]["Id"]
resp = client.get_app(ApplicationId=app_id)
assert "ApplicationResponse" in resp
assert "Arn" in resp["ApplicationResponse"]
assert "Id" in resp["ApplicationResponse"]
assert resp["ApplicationResponse"]["Name"] == "myfirstapp"
assert "CreationDate" in resp["ApplicationResponse"]
@mock_pinpoint
def test_get_apps_initial():
client = boto3.client("pinpoint", region_name="us-east-1")
resp = client.get_apps()
assert "ApplicationsResponse" in resp
assert resp["ApplicationsResponse"] == {"Item": []}
@mock_pinpoint
def test_get_apps():
client = boto3.client("pinpoint", region_name="us-east-1")
resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})
app_id = resp["ApplicationResponse"]["Id"]
resp = client.get_apps()
assert len(resp["ApplicationsResponse"]["Item"]) == 1
assert "Arn" in resp["ApplicationsResponse"]["Item"][0]
assert resp["ApplicationsResponse"]["Item"][0]["Id"] == app_id
assert resp["ApplicationsResponse"]["Item"][0]["Name"] == "myfirstapp"
assert "CreationDate" in resp["ApplicationsResponse"]["Item"][0]
@mock_pinpoint
def test_update_application_settings():
client = boto3.client("pinpoint", region_name="eu-west-1")
resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})
app_id = resp["ApplicationResponse"]["Id"]
resp = client.update_application_settings(
ApplicationId=app_id,
WriteApplicationSettingsRequest={
"CampaignHook": {"LambdaFunctionName": "lfn"},
"CloudWatchMetricsEnabled": True,
"EventTaggingEnabled": True,
"Limits": {"Daily": 42},
},
)
assert "ApplicationSettingsResource" in resp
app_settings = resp["ApplicationSettingsResource"]
assert app_settings["ApplicationId"] == app_id
assert app_settings["CampaignHook"] == {"LambdaFunctionName": "lfn"}
assert app_settings["Limits"] == {"Daily": 42}
assert "LastModifiedDate" in app_settings
@mock_pinpoint
def test_get_application_settings():
client = boto3.client("pinpoint", region_name="ap-southeast-1")
resp = client.create_app(CreateApplicationRequest={"Name": "myfirstapp"})
app_id = resp["ApplicationResponse"]["Id"]
client.update_application_settings(
ApplicationId=app_id,
WriteApplicationSettingsRequest={
"CampaignHook": {"LambdaFunctionName": "lfn"},
"CloudWatchMetricsEnabled": True,
"EventTaggingEnabled": True,
"Limits": {"Daily": 42},
},
)
resp = client.get_application_settings(ApplicationId=app_id)
assert "ApplicationSettingsResource" in resp
app_settings = resp["ApplicationSettingsResource"]
assert app_settings["ApplicationId"] == app_id
assert app_settings["CampaignHook"] == {"LambdaFunctionName": "lfn"}
assert app_settings["Limits"] == {"Daily": 42}
assert "LastModifiedDate" in app_settings