Exemplo n.º 1
0
def test_read_from_source_file():
    f = io.StringIO("""export foo='yada ' ;
        export flag=  ' on ';
        export switch='on';
        export var1  =' spam';
        export  var2='eg gs'  ;
        export workers=16;
        export boost=0.2;
        garbled: 'sh'pam'
        """)
    env = EnvWrapper.from_source_file(f,
                                      inline_prefix='export',
                                      inline_suffix=';',
                                      value_delimiter='\'',
                                      bool_values=('off', 'on'))
    assert all(('FOO' in env, 'FLAG' in env, 'VAR1' in env, 'VAR2' in env))
    assert env.FOO == 'yada '
    assert env.FLAG == ' on '
    assert not isinstance(env.FLAG, bool)
    assert env.VAR1 == ' spam'
    assert env.VAR2 == 'eg gs'
    assert env.SWITCH is True
    assert env.WORKERS == int('16')
    assert env.BOOST == float('0.2')
    assert 'GARBLED' not in env
Exemplo n.º 2
0
def test_read_from_source_file_undelimited_values():
    f = io.StringIO(""" foo: yada
         flag:   off
         var1  :spam
         garbled: sh'pam
          var2: eg gs
          var3: 42
          var4: 7.09
        """)
    env = EnvWrapper.from_source_file(f,
                                      delimiter=':',
                                      bool_values=('off', 'on'))
    assert all(('FOO' in env, 'FLAG' in env, 'VAR1' in env, 'VAR2' in env))
    assert env.VAR2 == 'eg gs'
    assert env.FLAG is False
    assert env.GARBLED == 'sh\'pam'
    assert env.VAR3 == int('42')
    assert env.VAR4 == float('7.09')