'This is a utility method that given a statement will attempt
to submit the statement with various custom payloads. It will
validate that the custom payloads are sent and received correctly.
@param statement The statement to validate the custom queries in conjunction with'

def validate_various_custom_payloads(self, statement):

    custom_payload = {'test': 'test_return'}
    self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
    custom_payload = {'': ''}
    self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
    custom_payload = {'    ': '    '}
    self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
    key_value = ('x' * 10)
    custom_payload = {key_value: six.b(key_value)}
    self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
    for i in range(65534):
        custom_payload[str(i)] = six.b('x')
    self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
    custom_payload[str(65535)] = six.b('x')
    with self.assertRaises(ValueError):
        self.execute_async_validate_custom_payload(statement=statement, custom_payload=custom_payload)
