Missing none check on response metadata Medium

Response metadata was not checked to verify that it is not None. This could be a bug.

Detector ID
python/missing-none-check@v1.0
Category

Noncompliant example

1def none_check_noncompliant():
2    import boto3
3    ddb_client = boto3.client('dynamodb')
4    response = ddb_client.update_item()
5    # Noncompliant: does not check to verify if the ResponseMetadata is None.
6    return response.get("ResponseMetadata", {})

Compliant example

1def none_check_compliant(self, record_dicts: List[Dict]) -> Dict:
2    import boto3
3    kinesis_client = boto3.client('kinesis')
4    response = kinesis_client.put_records(record_dicts)
5    # Compliant: checks to verify if the response metadata is None.
6    response_metadata = response.get('ResponseMetadata', {})
7    if response_metadata is not None:
8        return response_metadata
9    else:
10        return response