@staticmethod
    def test_columns():
        query = ('SELECT x'
                 ',CASE WHEN y=10 THEN 5 ELSE z AS a'
                 ',CASE WHEN x THEN COUNT(MIN(x,y)) ELSE MIN(x) END AS b'
                 ',COUNT(1) AS c'
                 ",CASE WHEN course_platform = 'spark' THEN 'v1-' "
                 "|| topic_id::VARCHAR ELSE course_id END AS course_id "
                 'FROM abc')

        result = [
            'x',
            'CASE WHEN y=10 THEN 5 ELSE z AS a',
            'CASE WHEN x THEN COUNT(MIN(x,y)) ELSE MIN(x) END AS b',
            'COUNT(1) AS c',
            "CASE WHEN course_platform = 'spark' THEN 'v1-' " +
            "|| topic_id::VARCHAR ELSE course_id END AS course_id"
        ]

        result_names = ['x', 'a', 'b', 'c', 'course_id']

        columns = parse_select_columns(query)
        eq_(columns, result)

        column_names = [parse_column_name(c) for c in columns]
        eq_(column_names, result_names)
For the selected plugin, returns a tuple of the module name to
dataset/ETHPy150Open coursera/dataduct/dataduct/database/parsers/tests/test_select_query.py/TestCreateTableStatement.test_columns--crossover with--dataset/ETHPy150Open ptomato/Beams/beams/CameraDialog.py/CameraDialog.get_plugin_object