Source code for tests.test_apigatewayv2

import unittest

from troposphere import Join
from troposphere.apigatewayv2 import Authorizer, IntegrationResponse, Model


[docs]class TestModel(unittest.TestCase):
[docs] def test_schema(self): # Check with no schema model = Model( "schema", Name="model", ApiId="apiid", ) model.validate() # Check valid json schema string model = Model( "schema", ApiId="apiid", Name="model", Schema='{"a": "b"}', ) model.validate() # Check invalid json schema string model = Model( "schema", ApiId="apiid", Name="model", Schema='{"a: "b"}', ) with self.assertRaises(ValueError): model.validate() # Check accepting dict and converting to string in validate d = {"c": "d"} model = Model("schema", ApiId="apiid", Name="model", Schema=d) model.validate() self.assertEqual(model.properties["Schema"], '{"c": "d"}') # Check invalid Schema type with self.assertRaises(TypeError): model = Model("schema", ApiId="apiid", Name="model", Schema=1) # Check Schema being an AWSHelperFn model = Model( "schema", ApiId="apiid", Name="model", Schema=Join(":", ['{"a', ': "b"}']), ) model.validate()
[docs]class TestIntegrationResponse(unittest.TestCase):
[docs] def test_response_type(self): integration_response = IntegrationResponse( "IntegrationResponse", IntegrationId="integrationid", ApiId="apiid", IntegrationResponseKey="/400/", ) integration_response.validate() with self.assertRaises(ValueError): integration_response = IntegrationResponse( "GatewayResponse", IntegrationId="integrationid", ApiId="apiid", IntegrationResponseKey="/400/", ContentHandlingStrategy="CONVERT_TO_SOMETHING", )
[docs]class TestAuthorizer(unittest.TestCase):
[docs] def test_response_type(self): authorizer = Authorizer( "Authorizer", ApiId="apiid", AuthorizerType="REQUEST", AuthorizerUri="arn:lambda:function", ) authorizer.validate() with self.assertRaises(ValueError): authorizer = Authorizer( "Authorizer", ApiId="apiid", AuthorizerType="RESPONSE", AuthorizerUri="arn:lambda:function", )
if __name__ == "__main__": unittest.main()