Source code for tests.test_s3

import unittest

from troposphere import Parameter, Ref, Template
from troposphere.s3 import AccelerateConfiguration, Bucket, Private


[docs]class TestBucketTemplate(unittest.TestCase):
[docs] def test_bucket_template(self): title = "PlaylistsFailoverS3Bucket" template = Template() Bucket( title, template, AccessControl=Private, BucketName="test-bucket", ) self.assertIn(title, template.resources)
[docs]class TestBucket(unittest.TestCase):
[docs] def test_bucket_accesscontrol(self): Bucket("b", AccessControl="AuthenticatedRead").validate()
[docs] def test_bucket_accesscontrol_bad_string(self): with self.assertRaises(ValueError): Bucket("b", AccessControl="FooBar").validate()
[docs] def test_bucket_accesscontrol_bad_type(self): with self.assertRaises(TypeError): Bucket("b", AccessControl=123).validate()
[docs] def test_bucket_accesscontrol_ref(self): bucket_acl = Parameter("acl", Type="String", Default="Private") Bucket("b", AccessControl=Ref(bucket_acl)).validate()
[docs]class TestS3AccelerateConfiguration(unittest.TestCase):
[docs] def test_accelerate_configuration_enabled(self): ac = AccelerateConfiguration( AccelerationStatus="Enabled", ) self.assertEqual("Enabled", ac.AccelerationStatus)
[docs] def test_accelerate_configuration_suspended(self): ac = AccelerateConfiguration( AccelerationStatus="Suspended", ) self.assertEqual("Suspended", ac.AccelerationStatus)
[docs] def test_accelerate_configuration_invalid_value(self): with self.assertRaises(ValueError): AccelerateConfiguration(AccelerationStatus="Invalid Value")
[docs] def test_s3_bucket_accelerate_configuration(self): t = Template() ac = AccelerateConfiguration(AccelerationStatus="Enabled") b = Bucket("s3Bucket", AccelerateConfiguration=ac) t.add_resource(b) output = t.to_json() self.assertIn('"AccelerationStatus": "Enabled"', output)
if __name__ == "__main__": unittest.main()