2023-04-10 16:00:15 +00:00
|
|
|
"""Unit tests for scheduler-supported APIs."""
|
|
|
|
import boto3
|
|
|
|
import pytest
|
|
|
|
from botocore.exceptions import ClientError
|
2023-11-30 15:55:51 +00:00
|
|
|
|
2023-04-10 16:00:15 +00:00
|
|
|
from moto import mock_scheduler
|
|
|
|
from moto.core import DEFAULT_ACCOUNT_ID
|
|
|
|
|
|
|
|
# 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_scheduler
|
|
|
|
def test_create_get_delete_schedule_group():
|
|
|
|
client = boto3.client("scheduler", region_name="eu-west-1")
|
|
|
|
arn = client.create_schedule_group(Name="sg")["ScheduleGroupArn"]
|
|
|
|
|
|
|
|
assert arn == f"arn:aws:scheduler:eu-west-1:{DEFAULT_ACCOUNT_ID}:schedule-group/sg"
|
|
|
|
|
|
|
|
group = client.get_schedule_group(Name="sg")
|
|
|
|
assert group["Arn"] == arn
|
|
|
|
assert group["Name"] == "sg"
|
|
|
|
assert group["State"] == "ACTIVE"
|
|
|
|
|
|
|
|
client.delete_schedule_group(Name="sg")
|
|
|
|
|
|
|
|
with pytest.raises(ClientError) as exc:
|
|
|
|
client.get_schedule_group(Name="sg")
|
|
|
|
err = exc.value.response["Error"]
|
|
|
|
assert err["Code"] == "ResourceNotFoundException"
|
|
|
|
|
|
|
|
|
|
|
|
@mock_scheduler
|
|
|
|
def test_list_schedule_groups():
|
|
|
|
client = boto3.client("scheduler", region_name="ap-southeast-1")
|
|
|
|
|
|
|
|
# The default group is always active
|
|
|
|
groups = client.list_schedule_groups()["ScheduleGroups"]
|
|
|
|
assert len(groups) == 1
|
|
|
|
assert (
|
|
|
|
groups[0]["Arn"]
|
|
|
|
== f"arn:aws:scheduler:ap-southeast-1:{DEFAULT_ACCOUNT_ID}:schedule-group/default"
|
|
|
|
)
|
|
|
|
|
|
|
|
arn1 = client.create_schedule_group(Name="sg")["ScheduleGroupArn"]
|
|
|
|
|
|
|
|
groups = client.list_schedule_groups()["ScheduleGroups"]
|
|
|
|
assert len(groups) == 2
|
|
|
|
assert groups[1]["Arn"] == arn1
|