299 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			299 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import boto3
							 | 
						||
| 
								 | 
							
								import pytest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from botocore.exceptions import ClientError
							 | 
						||
| 
								 | 
							
								from moto import mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_routes_empty():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="eu-west-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.get_routes(ApiId=api_id)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("Items").equals([])
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_create_route_minimal():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    resp = client.create_route(ApiId=api_id, RouteKey="GET /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ApiKeyRequired").equals(False)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationType").equals("NONE")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteKey").equals("GET /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("AuthorizationScopes")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("AuthorizerId")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("ModelSelectionExpression")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("OperationName")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("RequestModels")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("RouteResponseSelectionExpression")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("Target")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_create_route_full():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(
							 | 
						||
| 
								 | 
							
								        Name="test-api",
							 | 
						||
| 
								 | 
							
								        ProtocolType="WEBSOCKET",
							 | 
						||
| 
								 | 
							
								        RouteSelectionExpression="${request.method}",
							 | 
						||
| 
								 | 
							
								    )["ApiId"]
							 | 
						||
| 
								 | 
							
								    resp = client.create_route(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id,
							 | 
						||
| 
								 | 
							
								        ApiKeyRequired=True,
							 | 
						||
| 
								 | 
							
								        AuthorizerId="auth_id",
							 | 
						||
| 
								 | 
							
								        AuthorizationScopes=["scope1", "scope2"],
							 | 
						||
| 
								 | 
							
								        AuthorizationType="CUSTOM",
							 | 
						||
| 
								 | 
							
								        ModelSelectionExpression="mse",
							 | 
						||
| 
								 | 
							
								        OperationName="OP",
							 | 
						||
| 
								 | 
							
								        RequestModels={"req": "uest"},
							 | 
						||
| 
								 | 
							
								        RequestParameters={"action": {"Required": True}},
							 | 
						||
| 
								 | 
							
								        RouteKey="GET /",
							 | 
						||
| 
								 | 
							
								        RouteResponseSelectionExpression="$default",
							 | 
						||
| 
								 | 
							
								        Target="t",
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ApiKeyRequired").equals(True)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationType").equals("CUSTOM")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationScopes").equals(["scope1", "scope2"])
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizerId").equals("auth_id")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteKey").equals("GET /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ModelSelectionExpression").equals("mse")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("OperationName").equals("OP")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RequestModels").equals({"req": "uest"})
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RequestParameters").equals({"action": {"Required": True}})
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseSelectionExpression").equals("$default")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("Target").equals("t")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_delete_route():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="eu-west-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    client.delete_route(ApiId=api_id, RouteId=route_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.get_routes(ApiId=api_id)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("Items").length_of(0)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_route():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.get_route(ApiId=api_id, RouteId=route_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ApiKeyRequired").equals(False)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationType").equals("NONE")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteKey").equals("GET /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("AuthorizationScopes")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("AuthorizerId")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("ModelSelectionExpression")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("OperationName")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("RouteResponseSelectionExpression")
							 | 
						||
| 
								 | 
							
								    resp.shouldnt.have.key("Target")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_route_unknown():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    with pytest.raises(ClientError) as exc:
							 | 
						||
| 
								 | 
							
								        client.get_route(ApiId=api_id, RouteId="unknown")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    err = exc.value.response["Error"]
							 | 
						||
| 
								 | 
							
								    err["Code"].should.equal("NotFoundException")
							 | 
						||
| 
								 | 
							
								    err["Message"].should.equal("Invalid Route identifier specified unknown")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_routes():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="eu-west-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    client.create_route(ApiId=api_id, RouteKey="GET /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.get_routes(ApiId=api_id)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("Items").length_of(1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_update_route_single_attribute():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.update_route(ApiId=api_id, RouteId=route_id, RouteKey="POST /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ApiKeyRequired").equals(False)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationType").equals("NONE")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteId").equals(route_id)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteKey").equals("POST /")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_update_route_all_attributes():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, ApiKeyRequired=True, RouteKey="GET /")[
							 | 
						||
| 
								 | 
							
								        "RouteId"
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.update_route(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id,
							 | 
						||
| 
								 | 
							
								        RouteId=route_id,
							 | 
						||
| 
								 | 
							
								        ApiKeyRequired=False,
							 | 
						||
| 
								 | 
							
								        AuthorizationScopes=["scope"],
							 | 
						||
| 
								 | 
							
								        AuthorizerId="auth_id",
							 | 
						||
| 
								 | 
							
								        AuthorizationType="JWT",
							 | 
						||
| 
								 | 
							
								        ModelSelectionExpression="mse",
							 | 
						||
| 
								 | 
							
								        OperationName="OP",
							 | 
						||
| 
								 | 
							
								        RequestModels={"req": "uest"},
							 | 
						||
| 
								 | 
							
								        RequestParameters={"action": {"Required": True}},
							 | 
						||
| 
								 | 
							
								        RouteResponseSelectionExpression="$default",
							 | 
						||
| 
								 | 
							
								        Target="t",
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ApiKeyRequired").equals(False)
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationType").equals("JWT")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizationScopes").equals(["scope"])
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("AuthorizerId").equals("auth_id")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteKey").equals("GET /")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ModelSelectionExpression").equals("mse")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("OperationName").equals("OP")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RequestModels").equals({"req": "uest"})
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RequestParameters").equals({"action": {"Required": True}})
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseSelectionExpression").equals("$default")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("Target").equals("t")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_delete_route_request_parameter():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="us-east-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id,
							 | 
						||
| 
								 | 
							
								        RequestParameters={
							 | 
						||
| 
								 | 
							
								            "action": {"Required": True},
							 | 
						||
| 
								 | 
							
								            "route.request.header.authorization": {"Required": False},
							 | 
						||
| 
								 | 
							
								            "zparam": {"Required": False},
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        RouteKey="GET /",
							 | 
						||
| 
								 | 
							
								    )["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    request_params = client.get_route(ApiId=api_id, RouteId=route_id)[
							 | 
						||
| 
								 | 
							
								        "RequestParameters"
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								    request_params.keys().should.have.length_of(3)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    client.delete_route_request_parameter(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id,
							 | 
						||
| 
								 | 
							
								        RouteId=route_id,
							 | 
						||
| 
								 | 
							
								        RequestParameterKey="route.request.header.authorization",
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    request_params = client.get_route(ApiId=api_id, RouteId=route_id)[
							 | 
						||
| 
								 | 
							
								        "RequestParameters"
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								    request_params.keys().should.have.length_of(2)
							 | 
						||
| 
								 | 
							
								    request_params.should.have.key("action")
							 | 
						||
| 
								 | 
							
								    request_params.should.have.key("zparam")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_create_route_response_minimal():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.create_route_response(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id, RouteId=route_id, RouteResponseKey="$default"
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseKey").equals("$default")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_create_route_response():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.create_route_response(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id,
							 | 
						||
| 
								 | 
							
								        ModelSelectionExpression="mse",
							 | 
						||
| 
								 | 
							
								        ResponseModels={"test": "tfacctest5832545056931060873"},
							 | 
						||
| 
								 | 
							
								        RouteId=route_id,
							 | 
						||
| 
								 | 
							
								        RouteResponseKey="$default",
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseKey").equals("$default")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ModelSelectionExpression").equals("mse")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("ResponseModels").equals(
							 | 
						||
| 
								 | 
							
								        {"test": "tfacctest5832545056931060873"}
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_route_response():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    route_response_id = client.create_route_response(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id, RouteId=route_id, RouteResponseKey="$default"
							 | 
						||
| 
								 | 
							
								    )["RouteResponseId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp = client.get_route_response(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id, RouteId=route_id, RouteResponseId=route_response_id
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseId")
							 | 
						||
| 
								 | 
							
								    resp.should.have.key("RouteResponseKey").equals("$default")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_get_route_response_unknown():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    route_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    with pytest.raises(ClientError) as exc:
							 | 
						||
| 
								 | 
							
								        client.get_route_response(
							 | 
						||
| 
								 | 
							
								            ApiId=api_id, RouteId=route_id, RouteResponseId="unknown"
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    err = exc.value.response["Error"]
							 | 
						||
| 
								 | 
							
								    err["Code"].should.equal("NotFoundException")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_apigatewayv2
							 | 
						||
| 
								 | 
							
								def test_delete_route_response_unknown():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("apigatewayv2", region_name="ap-southeast-1")
							 | 
						||
| 
								 | 
							
								    api_id = client.create_api(Name="test-api", ProtocolType="HTTP")["ApiId"]
							 | 
						||
| 
								 | 
							
								    r_id = client.create_route(ApiId=api_id, RouteKey="GET /")["RouteId"]
							 | 
						||
| 
								 | 
							
								    rr_id = client.create_route_response(
							 | 
						||
| 
								 | 
							
								        ApiId=api_id, RouteId=r_id, RouteResponseKey="$default"
							 | 
						||
| 
								 | 
							
								    )["RouteResponseId"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    client.delete_route_response(ApiId=api_id, RouteId=r_id, RouteResponseId=rr_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    with pytest.raises(ClientError) as exc:
							 | 
						||
| 
								 | 
							
								        client.get_route_response(ApiId=api_id, RouteId=r_id, RouteResponseId=rr_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    err = exc.value.response["Error"]
							 | 
						||
| 
								 | 
							
								    err["Code"].should.equal("NotFoundException")
							 |