def setUp(self): DbFixturesMixin.setUp(self) WebPySetupMixin.setUp(self) # super(AppSetupMixin, self).setUp() # Set the dev flag in Config to False. Config.data['dev'] = False # Set up the routes app = web.application(main.ROUTES, globals()) SessionHolder.set(web.session.Session(app, web.session.DBStore(self.db, 'web_session'))) # Finally, create a test app self.app = TestApp(app.wsgifunc()) class ObjectDict (dict): def __getattr__(self, key): if key in self: return self[key] else: raise AttributeError(key) def __setattr__(self, key, value): self[key] = value return value self.session = ObjectDict() self.session.session_id = 1 self.__real_get_session = SessionHolder.get_session SessionHolder.get_session = Mock(return_value=self.session)
def test_set(self): """ Test `set` methods. """ data = {'testing': True} return_data = SessionHolder.set(data) self.assertEqual(return_data, data) self.assertIsInstance(return_data, dict)
def test_get(self): """ Test `get_session` methods. """ data = {'testing': True} SessionHolder.session = data return_data = SessionHolder.get_session() self.assertEqual(return_data, data) self.assertIsInstance(return_data, dict)
def __init__(self): log.info("---------- %s %s --------------------------------------------------------------------------" % (web.ctx.method, web.ctx.path)) # database self.db = Controller.get_db() # memcache self.cache = memcache.Client([Config.get('memcache')['address'] + ":" + str(Config.get('memcache')['port'])]) # session self.session = SessionHolder.get_session() log.info("SESSION: %s " % self.session) # template data self.template_data = {} # set mode self.template_data['app_mode'] = self.appMode = Config.get('app_mode') self.template_data['app_env'] = self.appEnv = Config.get('app_env') #set media root self.template_data['media_root'] = Config.get('media')['root'] #set city-specific map options self.template_data['map'] = Config.get('map') #set the supported features self.template_data['features'] = Config.get('features') # user self.setUserObject() # beta redirect if (self.appMode == 'beta' and not self.user): path = web.ctx.path.split('/') allowed = ['beta', 'login', 'join', 'tou', 'logout', # Twitter related paths 'twitter', # 'twitter/login', 'twitter/create', 'twitter/callback', 'twitter/disconnect' # Facebook paths - not relevant until FB app is updated 'facebook', # 'facebook/login', 'facebook/create', 'facebook/callback', 'facebook/disconnect' # Remove the following facebook paths once app is updated # 'login_facebook', # 'login_facebook_create', # 'disconnect_facebook', ] if (path[1] not in allowed): self.redirect('/beta')
def __init__(self): log.info( "---------- %s %s --------------------------------------------------------------------------" % (web.ctx.method, web.ctx.path)) # database self.db = Controller.get_db() # memcache self.cache = memcache.Client([ Config.get('memcache')['address'] + ":" + str(Config.get('memcache')['port']) ]) # session self.session = SessionHolder.get_session() log.info("SESSION: %s " % self.session) # template data self.template_data = {} # set mode self.template_data['app_mode'] = self.appMode = Config.get('app_mode') self.template_data['app_env'] = self.appEnv = Config.get('app_env') #set media root self.template_data['media_root'] = Config.get('media')['root'] #set city-specific map options self.template_data['map'] = Config.get('map') #set the supported features self.template_data['features'] = Config.get('features') # user self.setUserObject() # beta redirect if (self.appMode == 'beta' and not self.user): path = web.ctx.path.split('/') allowed = [ 'beta', 'login', 'join', 'tou', 'logout', # Twitter related paths 'twitter', # 'twitter/login', 'twitter/create', 'twitter/callback', 'twitter/disconnect' # Facebook paths - not relevant until FB app is updated 'facebook', # 'facebook/login', 'facebook/create', 'facebook/callback', 'facebook/disconnect' # Remove the following facebook paths once app is updated # 'login_facebook', # 'login_facebook_create', # 'disconnect_facebook', ] if (path[1] not in allowed): self.redirect('/beta')