# Type of request: This is a ...
[ ] bug report
[x] feature request

# Detailed description
As a Developer,
I want to be able to simulate BadDigest and InvalidDigest errors,
So that I can test the error handling logic

## Expected behavior
https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
BadDigest: The Content-MD5 you specified did not match what we received.
InvalidDigest: The Content-MD5 you specified is not valid.

## Actual behavior
localstack returns InvalidDigest when MD5 does not match payload.


with self.app.test_request_context() as context:
            self._request_response(context)
            mock_run_lambda.return_value = 'null'
            response = lambda_api.invoke_function(self.FUNCTION_NAME)
            self.assertEqual(b'null\n', response[0].response[0])
            self.assertEqual(200, response[1])
            self._assert_contained({'Content-Type': 'application/json'}, response[2])
    def test_create_event_source_mapping(self):
        self.client.post('{0}/event-source-mappings/'.format(lambda_api.PATH_ROOT),
            data=json.dumps({'FunctionName': 'test-lambda-function', 'EventSourceArn': TEST_EVENT_SOURCE_ARN}))
        listResponse = self.client.get('{0}/event-source-mappings/'.format(lambda_api.PATH_ROOT))
        listResult = json.loads(listResponse.get_data())
        eventSourceMappings = listResult.get('EventSourceMappings')
        self.assertEqual(1, len(eventSourceMappings))
        self.assertEqual('Enabled', eventSourceMappings[0]['State'])
    def test_create_disabled_event_source_mapping(self):
        createResponse = self.client.post('{0}/event-source-mappings/'.format(lambda_api.PATH_ROOT),
                            data=json.dumps({'FunctionName': 'test-lambda-function',
                                             'EventSourceArn': TEST_EVENT_SOURCE_ARN,
                                             'Enabled': 'false'}))
        createResult = json.loads(createResponse.get_data())
        self.assertEqual('Disabled', createResult['State'])
        getResponse = self.client.get('{0}/event-source-mappings/{1}'.format(lambda_api.PATH_ROOT,
                        createResult.get('UUID')))
        getResult = json.loads(getResponse.get_data())
        self.assertEqual('Disabled', getResult['State'])
    def test_update_event_source_mapping(self):
        createResponse = self.client.post('{0}/event-source-mappings/'.format(lambda_api.PATH_ROOT),
                            data=json.dumps({'FunctionName': 'test-lambda-function',
                                             'EventSourceArn': TEST_EVENT_SOURCE_ARN,