| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | # encoding: utf-8from __future__ import absolute_importfrom __future__ import print_functionfrom __future__ import unicode_literalsimport codecsimport pytestfrom compose.config.environment import env_vars_from_filefrom compose.config.environment import Environmentfrom compose.config.errors import ConfigurationErrorfrom tests import unittestclass EnvironmentTest(unittest.TestCase):    def test_get_simple(self):        env = Environment({            'FOO': 'bar',            'BAR': '1',            'BAZ': ''        })        assert env.get('FOO') == 'bar'        assert env.get('BAR') == '1'        assert env.get('BAZ') == ''    def test_get_undefined(self):        env = Environment({            'FOO': 'bar'        })        assert env.get('FOOBAR') is None    def test_get_boolean(self):        env = Environment({            'FOO': '',            'BAR': '0',            'BAZ': 'FALSE',            'FOOBAR': 'true',        })        assert env.get_boolean('FOO') is False        assert env.get_boolean('BAR') is False        assert env.get_boolean('BAZ') is False        assert env.get_boolean('FOOBAR') is True        assert env.get_boolean('UNDEFINED') is False    def test_env_vars_from_file_bom(self):        tmpdir = pytest.ensuretemp('env_file')        self.addCleanup(tmpdir.remove)        with codecs.open('{}/bom.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:            f.write('\ufeffPARK_BOM=박봄\n')        assert env_vars_from_file(str(tmpdir.join('bom.env'))) == {            'PARK_BOM': '박봄'        }    def test_env_vars_from_file_whitespace(self):        tmpdir = pytest.ensuretemp('env_file')        self.addCleanup(tmpdir.remove)        with codecs.open('{}/whitespace.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:            f.write('WHITESPACE =yes\n')        with pytest.raises(ConfigurationError) as exc:            env_vars_from_file(str(tmpdir.join('whitespace.env')))        assert 'environment variable' in exc.exconly()
 |