def api_request(self, method, action, data=(), authenticate=True, context=None): if context is None: context = self.layer['portal'] if authenticate: browser.login(SITE_OWNER_NAME) else: browser.logout() with verbose_logging(): if method.lower() == 'get': browser.visit(context, view='upgrades-api/{0}?{1}'.format( action, urllib.urlencode(data))) elif method.lower() == 'post': if not data: data = {'enforce': 'post'} browser.visit(context, view='upgrades-api/{0}'.format(action), data=data) else: raise Exception( 'Unsupported request method {0}'.format(method))
def test_disable_for_anonymous(self, browser): subsite = create(Builder('folder') .titled('The Subsite') .providing(INavigationRoot)) browser.login().visit(view='global_statusmessage_config') browser.fill( {'Active': True, 'Type': 'information', 'Title': 'Maintenance', 'Message': 'Scheduled Maintenance'}).submit() browser.logout().visit(self.portal) self.assertTrue( statusmessage(), 'Status should be visible for anonymous by default.') browser.login().visit(view='global_statusmessage_config') browser.fill( {'Show to anonymous users?': False}).submit() browser.visit(self.portal) self.assertTrue( statusmessage(), 'Status should still visible for logged in users.') browser.logout().reload() self.assertFalse( statusmessage(), 'Status should no longer be visible for anonymous in users.')
def api_request(self, method, action, data=(), authenticate=True, context=None): if context is None: context = self.layer['portal'] if authenticate: browser.login(SITE_OWNER_NAME) else: browser.logout() with verbose_logging(): if method.lower() == 'get': browser.visit(context, view='upgrades-api/{0}?{1}'.format( action, urllib.urlencode(data))) elif method.lower() == 'post': if not data: data = {'enforce': 'post'} browser.visit(context, view='upgrades-api/{0}'.format(action), data=data) else: raise Exception('Unsupported request method {0}'.format(method))