fn deserializes_apigw_request_events()

in lambda-http/src/request.rs [721:750]


    fn deserializes_apigw_request_events() {
        // from the docs
        // https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
        // https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
        let input = include_str!("../tests/data/apigw_proxy_request.json");
        let result = from_str(input);
        assert!(
            result.is_ok(),
            "event was not parsed as expected {:?} given {}",
            result,
            input
        );
        let req = result.expect("failed to parse request");
        assert_eq!(req.method(), "GET");
        assert_eq!(
            req.uri(),
            "https://wt6mne2s9k.execute-api.us-west-2.amazonaws.com/test/hello?name=me"
        );

        // Ensure this is an APIGW request
        let req_context = req.request_context();
        assert!(
            match req_context {
                RequestContext::ApiGateway(_) => true,
                _ => false,
            },
            "expected ApiGateway context, got {:?}",
            req_context
        );
    }