def __verify_data(self, data):
        # Check it's a dictionary.
        if not isinstance(data, dict):
            raise ValueError("Received a non-dictionary form of data.")
        # Iterate over every key.
        for key in data:
            # If the key isn't supported, that's a problem!
            if not key in supported_fields:
                raise ValueError("Bad key in data: {}".format(key))
            # The 'attachments' key should contain a list.
            if key == 'attachments':
                # Verify it's really a list.
                if not isinstance(data[key], list):
                    raise ValueError("'attachments' field in data must be a list.")
                # Ensure there are no rogue values.
                for subkey in data[key]:
                    if not subkey in supported_attachments_subfields:
                        raise ValueError("Bad key in 'attachments': {}".format(subkey))
Verifies that all of the fields in the `data` dictionary are valid. If
dataset/ETHPy150Open univ-of-utah-marriott-library-apple/management_tools/management_tools/slack.py/IncomingWebhooksSender.__verify_data