@@ -0,0 +1,2688 @@
+# Licensed to the Apache Software Foundation (ASF) under one%0A# or more contributor license agreements.  See the NOTICE file%0A# distributed with this work for additional information%0A# regarding copyright ownership.  The ASF licenses this file%0A# to you under the Apache License, Version 2.0 (the%0A# %22License%22); you may not use this file except in compliance%0A# with the License.  You may obtain a copy of the License at%0A#%0A#   http://www.apache.org/licenses/LICENSE-2.0%0A#%0A# Unless required by applicable law or agreed to in writing,%0A# software distributed under the License is distributed on an%0A# %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A# KIND, either express or implied.  See the License for the%0A# specific language governing permissions and limitations%0A# under the License.%0Aimport configparser%0Aimport os%0Aimport unittest%0A%0Afrom parameterized import parameterized%0A%0AAIRFLOW_MAIN_FOLDER = os.path.realpath(%0A    os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir)%0A)%0ACONFIG_TEMPLATES_FOLDER = os.path.join(AIRFLOW_MAIN_FOLDER, %22airflow%22, %22config_templates%22)%0A%0ADEFAULT_AIRFLOW_SECTIONS = %5B%0A    'core',%0A    'cli',%0A    'debug',%0A    'api',%0A    'lineage',%0A    'atlas',%0A    'operators',%0A    'hive',%0A    'webserver',%0A    'email',%0A    'smtp',%0A    'sentry',%0A    'celery',%0A    'celery_broker_transport_options',%0A    'dask',%0A    'scheduler',%0A    'ldap',%0A    'mesos',%0A    'kerberos',%0A    'github_enterprise',%0A    'admin',%0A    'elasticsearch',%0A    'elasticsearch_configs',%0A    'kubernetes',%0A    'kubernetes_node_selectors',%0A    'kubernetes_annotations',%0A    'kubernetes_environment_variables',%0A    'kubernetes_secrets',%0A    'kubernetes_labels'%0A%5D%0A%0ADEFAULT_TEST_SECTIONS = %5B%0A    'core',%0A    'cli',%0A    'api',%0A    'operators',%0A    'hive',%0A    'webserver',%0A    'email',%0A    'smtp',%0A    'celery',%0A    'mesos',%0A    'scheduler',%0A    'admin',%0A    'elasticsearch',%0A    'elasticsearch_configs',%0A    'kubernetes'%0A%5D%0A%0A%0Aclass TestAirflowCfg(unittest.TestCase):%0A    @parameterized.expand(%5B%0A        (%22default_airflow.cfg%22,),%0A        (%22default_test.cfg%22,),%0A    %5D)%0A    def test_should_be_ascii_file(self, filename):%0A        with open(os.path.join(CONFIG_TEMPLATES_FOLDER, filename), %22rb%22) as f:%0A            content = f.read().decode(%22ascii%22)%0A        self.assertTrue(content)%0A%0A    @parameterized.expand(%5B%0A        (%22default_airflow.cfg%22, DEFAULT_AIRFLOW_SECTIONS,),%0A        (%22default_test.cfg%22, DEFAULT_TEST_SECTIONS,),%0A    %5D)%0A    def test_should_be_ini_file(self, filename, expected_sections):%0A        filepath = os.path.join(CONFIG_TEMPLATES_FOLDER, filename)%0A        config = configparser.ConfigParser()%0A        config.read(filepath)%0A%0A        self.assertEqual(expected_sections, config.sections())%0A

Remove non-ascii letters from default config (#6878)