89 lines
3.3 KiB
Python
89 lines
3.3 KiB
Python
import boto3
|
|
import pytest
|
|
from botocore.exceptions import ClientError
|
|
|
|
from moto import mock_aws
|
|
|
|
|
|
@mock_aws
|
|
class TestHostedConfigurationVersions:
|
|
def setup_method(self, *args): # pylint: disable=unused-argument
|
|
self.client = boto3.client("appconfig", region_name="us-west-1")
|
|
self.app_id = self.client.create_application(Name="testapp")["Id"]
|
|
self.config_profile_id = self.client.create_configuration_profile(
|
|
ApplicationId=self.app_id,
|
|
Name="config_name",
|
|
Description="desc",
|
|
LocationUri="luri",
|
|
RetrievalRoleArn="rrarn:rrarn:rrarn:rrarn",
|
|
Validators=[{"Type": "JSON", "Content": "c"}],
|
|
Type="freeform",
|
|
)["Id"]
|
|
|
|
def test_create_hosted_configuration_version(self):
|
|
resp = self.client.create_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
Description="desc",
|
|
Content=b"asdf",
|
|
ContentType="text/xml",
|
|
VersionLabel="vl",
|
|
)
|
|
assert resp["ApplicationId"] == self.app_id
|
|
assert resp["ConfigurationProfileId"] == self.config_profile_id
|
|
assert resp["VersionNumber"] == 1
|
|
assert resp["Description"] == "desc"
|
|
assert resp["VersionLabel"] == "vl"
|
|
assert resp["ContentType"] == "text/xml"
|
|
assert resp["Content"].read() == b"asdf"
|
|
|
|
resp = self.client.create_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
Content=b"asdf",
|
|
ContentType="text/xml",
|
|
)
|
|
assert resp["VersionNumber"] == 2
|
|
|
|
def test_get_hosted_configuration_version(self):
|
|
self.client.create_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
Description="desc",
|
|
Content=b"asdf",
|
|
ContentType="text/xml",
|
|
VersionLabel="vl",
|
|
)
|
|
get = self.client.get_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
VersionNumber=1,
|
|
)
|
|
assert get["ApplicationId"] == self.app_id
|
|
assert get["ConfigurationProfileId"] == self.config_profile_id
|
|
assert get["Description"] == "desc"
|
|
assert get["VersionLabel"] == "vl"
|
|
assert get["ContentType"] == "text/xml"
|
|
assert get["Content"].read() == b"asdf"
|
|
|
|
def test_delete_hosted_configuration_version(self):
|
|
self.client.create_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
Content=b"asdf",
|
|
ContentType="text/xml",
|
|
)
|
|
self.client.delete_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
VersionNumber=1,
|
|
)
|
|
with pytest.raises(ClientError) as exc:
|
|
self.client.get_hosted_configuration_version(
|
|
ApplicationId=self.app_id,
|
|
ConfigurationProfileId=self.config_profile_id,
|
|
VersionNumber=1,
|
|
)
|
|
err = exc.value.response["Error"]
|
|
assert err["Code"] == "ResourceNotFoundException"
|