def test_http_api_custom_domain(stack: Stack) -> None: """Test basic HTTP API with custom domain.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" lambda_fun = Py38Function( name="mypylambda", description="this is a test", role="somearn", code_dir="my_code_dir", handler="app.main", ) stack.add(lambda_fun) stack.add( HttpApi( name="testapi", description="this is a test", lambda_arn=lambda_fun.ref, domain_name="api.example.com", hosted_zone_id="ABCDEFG", route_list=[GET(route="/api1"), POST(route="/api2")], )) with open(os.path.join(TEST_DIR, "apigateway_test_custom_domain.json")) as fd: expected = json.load(fd) assert stack.export()["Resources"] == expected
def test_bucket(stack: Stack) -> None: """Test bucket creation.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" topic_test = Topic(name="test-topic") queue_test = Queue(name="test-queue") lambda_test = Py38Function( name="mypylambda", description="this is a test", role="somearn", code_dir="my_code_dir", handler="app.main", ) stack.add(topic_test) stack.add(lambda_test) stack.add(queue_test) bucket = Bucket(name="test-bucket") bucket.add_notification_configuration(event="s3:ObjectCreated:*", target=topic_test, permission_suffix="TpUpload") bucket.add_notification_configuration(event="s3:ObjectCreated:*", target=lambda_test, permission_suffix="TpUpload") bucket.add_notification_configuration(event="s3:ObjectCreated:*", target=queue_test, permission_suffix="FileEvent") stack.add(bucket) with open(os.path.join(TEST_DIR, "bucket.json")) as fd: expected_template = json.load(fd) assert stack.export()["Resources"] == expected_template
def test_awslambda(stack: Stack) -> None: """Test config recorder creation.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" stack.add( Py38Function( name="mypylambda", description="this is a test", role="somearn", code_dir="my_code_dir", handler="app.main", )) assert stack.export()["Resources"] == EXPECTED_TEMPLATE
def test_stackset(stack: Stack) -> None: """test Cloudformation stack set creation.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" stack_set = StackSet( name="stack-set-test", description="this is a test", regions=["eu-west-1"], ous=["test-ou"], ) stack_set.add( Role( name="TestRole", description="TestRole description", trust={"Service": "test"}, ) ) stack_set.add_condition("", Equals(AccountId, "test_account_id")) stack.add(stack_set) assert stack.export()["Resources"] == EXPECTED_TEMPLATE
def test_http_api_custom_domain(stack: Stack) -> None: """Test basic HTTP API with custom domain.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" lambda_fun = Py38Function( name="mypylambda", description="this is a test", role="somearn", code_dir="my_code_dir", handler="app.main", ) stack.add(lambda_fun) http_api = HttpApi( name="testapi", description="this is a test", lambda_arn=lambda_fun.ref, domain_name="api.example.com", hosted_zone_id="ABCDEFG", route_list=[ GET(route="/api1"), POST(route="/api2"), GET("/api3", auth=JWT_AUTH, authorizer_name="testauthorizer"), ], ) http_api.add_jwt_authorizer( name="testauthorizer", audience=["testaudience"], issuer="https://cognito-idp.eu-west-1.amazonaws.com/eu-west-1_test", ) stack.add(http_api) with open(os.path.join(TEST_DIR, "apigateway_test_custom_domain.json")) as fd: expected = json.load(fd) print(stack.export()["Resources"]) assert stack.export()["Resources"] == expected
def test_http_api(stack: Stack) -> None: """Test basic HTTP API.""" stack.s3_bucket = "cfn_bucket" stack.s3_key = "templates/" lambda_fun = Py38Function( name="mypylambda", description="this is a test", role="somearn", code_dir="my_code_dir", handler="app.main", ) stack.add(lambda_fun) stack.add( HttpApi( name="testapi", description="this is a test", lambda_arn=lambda_fun.ref, route_list=[GET(route="/api1"), POST(route="/api2")], )) assert stack.export()["Resources"] == EXPECTED_TEMPLATE