def test_success_rds_dbcluster(self): """Success test""" patched = patch_spec(self.spec, 'all') self.assertTrue(patched['PropertyTypes'] ['AWS::CloudFront::Distribution.DistributionConfig'] ['Properties']['DefaultCacheBehavior']['Required']) self.assertTrue(patched['PropertyTypes'] ['AWS::CloudFront::Distribution.DistributionConfig'] ['Properties']['Origins']['Required']) self.assertIn( 'VpcEndpointType', patched['ResourceTypes']['AWS::EC2::VPCEndpoint']['Properties']) self.assertTrue( patched['PropertyTypes']['AWS::Cognito::UserPool.SmsConfiguration'] ['Properties']['ExternalId']['Required']) self.assertTrue(patched['ResourceTypes']['AWS::SNS::Subscription'] ['Properties']['TopicArn']['Required']) self.assertTrue(patched['ResourceTypes']['AWS::SNS::Subscription'] ['Properties']['Protocol']['Required']) self.assertEqual( patched['ResourceTypes']['AWS::ServiceDiscovery::Instance'] ['Properties']['InstanceAttributes']['Type'], 'Map') self.assertEqual( patched['ResourceTypes']['AWS::ServiceDiscovery::Instance'] ['Properties']['InstanceAttributes']['PrimitiveItemType'], 'String')
def test_success_rds_dbcluster(self): """Success test""" patched = patch_spec(self.spec, 'us-east-1') self.assertTrue(patched['PropertyTypes'] ['AWS::CloudFront::Distribution.DistributionConfig'] ['Properties']['DefaultCacheBehavior']['Required']) self.assertTrue(patched['PropertyTypes'] ['AWS::CloudFront::Distribution.DistributionConfig'] ['Properties']['Origins']['Required']) self.assertFalse( patched['ResourceTypes']['AWS::CloudFormation::WaitCondition'] ['Properties']['Handle']['Required']) self.assertFalse( patched['ResourceTypes']['AWS::CloudFormation::WaitCondition'] ['Properties']['Timeout']['Required']) self.assertIn( 'VpcEndpointType', patched['ResourceTypes']['AWS::EC2::VPCEndpoint']['Properties']) self.assertIn( 'Tags', patched['PropertyTypes'] ['AWS::EC2::SpotFleet.SpotFleetTagSpecification']['Properties']) self.assertTrue( patched['PropertyTypes']['AWS::Cognito::UserPool.SmsConfiguration'] ['Properties']['ExternalId']['Required']) self.assertIn('AWS::SSM::MaintenanceWindow', patched['ResourceTypes']) self.assertIn('AWS::SSM::MaintenanceWindowTarget', patched['ResourceTypes']) self.assertIn('AWS::SSM::MaintenanceWindowTarget.Target', patched['PropertyTypes']) self.assertTrue(patched['ResourceTypes']['AWS::SNS::Subscription'] ['Properties']['TopicArn']['Required']) self.assertTrue(patched['ResourceTypes']['AWS::SNS::Subscription'] ['Properties']['Protocol']['Required'])
def test_failure_in_patch_parent(self): """ Doesn't fail when a parent doesn't exist """ spec = self.spec del spec['ResourceTypes']['AWS::SNS::Subscription'] patched = patch_spec(spec, 'us-east-1') self.assertNotIn('AWS::SNS::Subscription', patched['ResourceTypes'])
def test_failure_in_patch_move(self): """ Doesn't fail when final key doesn't match """ spec = self.spec del spec['ResourceTypes']['AWS::EC2::VPCEndpoint']['Properties']['VPCEndpointType'] patched = patch_spec(spec, 'us-east-1') self.assertNotIn('VPCEndpointType', patched['ResourceTypes']['AWS::EC2::VPCEndpoint']['Properties'])
def test_success_sbd_domain_removed(self): """Success removal of SBD Domain form unsupported regions""" patched = patch_spec(self.spec, 'us-east-2') self.assertNotIn('AWS::SDB::Domain', patched['ResourceTypes'])