moto/tests/test_sdb/test_sdb_domains.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

68 lines
2.0 KiB
Python
Raw Normal View History

import boto3
import pytest
from botocore.exceptions import ClientError
2024-01-07 12:03:33 +00:00
from moto import mock_aws
2024-01-07 12:03:33 +00:00
@mock_aws
@pytest.mark.parametrize("name", ["", "a", "a#", "aaa#", "as@asdff", "asf'qwer"])
def test_create_domain_invalid(name):
# Error handling is always the same
sdb = boto3.client("sdb", region_name="eu-west-1")
with pytest.raises(ClientError) as exc:
sdb.create_domain(DomainName=name)
err = exc.value.response["Error"]
assert err["Code"] == "InvalidParameterValue"
assert err["Message"] == f"Value ({name}) for parameter DomainName is invalid. "
assert "BoxUsage" in err
2024-01-07 12:03:33 +00:00
@mock_aws
@pytest.mark.parametrize(
"name", ["abc", "ABc", "a00", "as-df", "jk_kl", "qw.rt", "asfljaejadslfsl"]
)
def test_create_domain_valid(name):
# a-z, A-Z, 0-9, '_', '-', and '.'
sdb = boto3.client("sdb", region_name="eu-west-1")
sdb.create_domain(DomainName=name)
2024-01-07 12:03:33 +00:00
@mock_aws
def test_create_domain_and_list():
sdb = boto3.client("sdb", region_name="eu-west-1")
sdb.create_domain(DomainName="mydomain")
all_domains = sdb.list_domains()["DomainNames"]
assert all_domains == ["mydomain"]
2024-01-07 12:03:33 +00:00
@mock_aws
def test_delete_domain():
sdb = boto3.client("sdb", region_name="eu-west-1")
sdb.create_domain(DomainName="mydomain")
sdb.delete_domain(DomainName="mydomain")
all_domains = sdb.list_domains()
assert "DomainNames" not in all_domains
2024-01-07 12:03:33 +00:00
@mock_aws
def test_delete_domain_unknown():
sdb = boto3.client("sdb", region_name="eu-west-1")
sdb.delete_domain(DomainName="unknown")
all_domains = sdb.list_domains()
assert "DomainNames" not in all_domains
2024-01-07 12:03:33 +00:00
@mock_aws
def test_delete_domain_invalid():
sdb = boto3.client("sdb", region_name="eu-west-1")
with pytest.raises(ClientError) as exc:
sdb.delete_domain(DomainName="a")
err = exc.value.response["Error"]
assert err["Code"] == "InvalidParameterValue"
assert err["Message"] == "Value (a) for parameter DomainName is invalid. "
assert "BoxUsage" in err