def test_read_env_error(self): errors = [] self.assertEqual(read_env_file(BAD_ENV, errors.append), RESULT) self.assertEqual(errors, [ "WARNING: Didn't understand the following environment file lines:", "11. >>> This line isn't right.", '12. >>> NO SPACES IN NAMES="valid value"'])
def add_user_env(env, dotfile, print=print): df = os.path.expanduser(dotfile) try: with open(df, 'r') as f: dotvars = read_env_file(f.read()) except IOError: if os.path.exists(df): warn("Dotfile %s exists but can't be read." % dotfile, print) dotvars = {} bad_names = [] for name, value in dotvars.items(): if name in env: if is_string(env[name]): env[name] = value else: env[name] = shlex.split(value) else: bad_names.append(name) if bad_names: error = _BAD_VARS_ERROR % (dotfile, '\n '.join(bad_names)) warn(error, print) for name, default in env.items(): env[name] = os.environ.get(name, default)
def test_read_env_error(self): errors = [] self.assertEqual(read_env_file(BAD_ENV, errors.append), RESULT) self.assertEqual(errors, [ "WARNING: Didn't understand the following environment file lines:", "11. >>> This line isn't right.", '12. >>> NO SPACES IN NAMES="valid value"' ])
def test_read_env(self): self.assertEqual(read_env_file(ENV), RESULT)
def test_read_json(self): self.assertEqual(read_env_file(JSON), RESULT)