def test_session_from_env(): url = 'localhost:8080' data = json.dumps({'url': url}) with setenv(v3f.SESSION_ENV_KEY, data): s = v3f.session_from_env() assert s.url == url, 'bad url' with pytest.raises(ValueError): with setenv(v3f.SESSION_ENV_KEY, '"'): v3f.session_from_env()
def test_session_from_env(): obj = {field.name: field.name for field in v3f.Session.DESCRIPTOR.fields} data = json.dumps(obj) with setenv(v3f.SESSION_ENV_KEY, data): s = v3f.session_from_env() env_obj = {field.name: value for field, value in s.ListFields()} assert env_obj == obj, 'bad session from environment' with pytest.raises(ValueError): with setenv(v3f.SESSION_ENV_KEY, '"'): v3f.session_from_env()
def session(): """Return session parameters fit for v3f.Client arguments""" obj = v3f.session_from_env() session = {desc.name: value for desc, value in obj.ListFields()} if 'url' in session: session['data_url'] = session.pop('url') return session