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
from moto import mock_sdb
@mock_sdb
@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
@mock_sdb
@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)
@mock_sdb
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"]
@mock_sdb
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
@mock_sdb
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
@mock_sdb
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