def METHOD_NAME(self, config):
    """Validate that all items of a config are valid."""
    query = config.get("query_string", config.get("query_dsl"))
    self.assertIsNotNone(query)
    self.assertIsInstance(query, str)
    attribute = config.get("attribute")
    self.assertIsNotNone(attribute)
    store_as = config.get("store_as")
    self.assertIsNotNone(store_as)
    expression = config.get("re")
    self.assertIsNotNone(expression)
    try:
        _ = re.compile(expression)
    except re.error as exception:
        self.assertIsNone(exception)
    emojis_to_add = config.get("emojis")
    if emojis_to_add:
        self.assertIsInstance(emojis_to_add, (list, tuple))
        for emoji_name in emojis_to_add:
            emoji_code = emojis.get_emoji(emoji_name)
            self.assertNotEqual(emoji_code, "")
    tags = config.get("tags")
    if tags:
        self.assertIsInstance(tags, (list, tuple))
    create_view = config.get("create_view")
    if create_view:
        self.assertIsInstance(create_view, bool)
    aggregate = config.get("aggregate")
    if aggregate:
        self.assertIsInstance(aggregate, bool)