def test_sender(self, browser): intercepted_data = {} class MockedReceiverView(BrowserView): def __call__(self): intercepted_data['jsondata'] = self.request.form.get('jsondata') return createResponse(SuccessState()) config = IConfig(self.portal) config.appendRealm(Realm(1, self.portal.absolute_url(), SITE_OWNER_NAME, SITE_OWNER_PASSWORD)) transaction.commit() with view_registered(MockedReceiverView, 'global_statusmessage_config_receiver', required=(IPloneSiteRoot, Interface)): browser.login(SITE_OWNER_NAME).open(view='@@global_statusmessage_config') browser.fill(self.form_data) browser.click_on('Save and publish') self.assertDictEqual( self.expected_settings, encode_after_json(json.loads(intercepted_data['jsondata'])) ) self.assertEqual( ['Changes saved and published.'], info_messages() )
def test_overridden_realms_config(self): self.layer.load_zcml_string( '\n'.join(( '<configure xmlns:publisher="http://namespaces.' + \ 'zope.org/ftw.publisher">', ' <publisher:override-realm', ' url="http://localhost:9090/site"', ' username="******"', ' password="******" />', '</configure>' ))) portal = self.providing_stub([IPloneSiteRoot, IAttributeAnnotatable]) portal.portal_url.getPortalObject.return_value = portal config = IConfig(portal) self.assertTrue(config) self.assertFalse(config.is_update_realms_possible()) self.assertEquals(len(config.getRealms()), 1) with self.assertRaises(AttributeError): config.appendRealm(Realm(1, 'http://site', 'foo', 'pw'))
def test_overridden_realms_config(self): self.layer.load_zcml_string( '\n'.join(( '<configure xmlns:publisher="http://namespaces.' + \ 'zope.org/ftw.publisher">', ' <publisher:override-realm', ' url="http://localhost:9090/site"', ' username="******"', ' password="******" />', '</configure>' ))) portal = self.providing_stub([IPloneSiteRoot, IAttributeAnnotatable]) self.expect(portal.portal_url.getPortalObject()).result(portal) self.replay() config = IConfig(portal) self.assertTrue(config) self.assertFalse(config.is_update_realms_possible()) self.assertEquals(len(config.getRealms()), 1) with self.assertRaises(AttributeError): config.appendRealm(Realm(1, 'http://site', 'foo', 'pw'))
def test_sender(self, browser): intercepted_data = {} class MockedReceiverView(BrowserView): def __call__(self): intercepted_data['jsondata'] = self.request.form.get( 'jsondata') return createResponse(SuccessState()) config = IConfig(self.portal) config.appendRealm( Realm(1, self.portal.absolute_url(), SITE_OWNER_NAME, SITE_OWNER_PASSWORD)) transaction.commit() with view_registered(MockedReceiverView, 'global_statusmessage_config_receiver', required=(IPloneSiteRoot, Interface)): browser.login(SITE_OWNER_NAME).open( view='@@global_statusmessage_config') browser.fill(self.form_data) browser.click_on('Save and publish') self.assertDictEqual( self.expected_settings, encode_after_json(json.loads(intercepted_data['jsondata']))) self.assertEqual(['Changes saved and published.'], info_messages())
def handleAdd(self, action): """ This handler handles a click on the "Add Realm"-Button. If no errors occured, it adds a new Realm to the Config. @param action: ActionInfo object provided by z3c.form @return: None (form is shown) or Response-redirect """ data, errors = self.extractData() config = IConfig(self.context) if len(errors)==0: assert config.is_update_realms_possible() # url + username has to be unique for realm in config.getRealms(): if realm.url==data['url'] and realm.username==data['username']: self.statusMessage( 'This URL / Username combination already exists!', 'error') return kwargs = { 'active': data['active'] and 1 or 0, 'url': data['url'], 'username': data['username'], 'password': data['password'], } realm = Realm(**kwargs) config.appendRealm(realm) self.statusMessage('Added realm successfully') return self.request.RESPONSE.redirect('./@@publisher-config')
def handleAdd(self, action): """ This handler handles a click on the "Add Realm"-Button. If no errors occured, it adds a new Realm to the Config. @param action: ActionInfo object provided by z3c.form @return: None (form is shown) or Response-redirect """ data, errors = self.extractData() config = IConfig(self.context) if len(errors)==0: assert config.is_update_realms_possible() # url + username has to be unique for realm in config.getRealms(): if realm.url==data['url'] and realm.username==data['username']: self.statusMessage( 'This URL / Username combination already exists!', 'error') return kwargs = { 'active': data['active'] and 1 or 0, 'url': data['url'], 'username': data['username'], 'password': data['password'], } realm = Realm(**kwargs) config.appendRealm(realm) self.statusMessage('Added realm successfully') return self.request.RESPONSE.redirect('./@@publisher-config')
def test_default_realms_config(self): portal = self.providing_stub([IPloneSiteRoot, IAttributeAnnotatable]) portal.portal_url.getPortalObject.return_value = portal config = IConfig(portal) self.assertTrue(config) self.assertTrue(config.is_update_realms_possible()) self.assertEquals(len(config.getRealms()), 0) config.appendRealm(Realm(1, 'http://site', 'foo', 'pw')) self.assertEquals(len(config.getRealms()), 1)
def test_default_realms_config(self): portal = self.providing_stub([IPloneSiteRoot, IAttributeAnnotatable]) self.expect(portal.portal_url.getPortalObject()).result(portal) self.replay() config = IConfig(portal) self.assertTrue(config) self.assertTrue(config.is_update_realms_possible()) self.assertEquals(len(config.getRealms()), 0) config.appendRealm(Realm(1, 'http://site', 'foo', 'pw')) self.assertEquals(len(config.getRealms()), 1)
def setUp(self): super(TestFormGenIntegration, self).setUp() self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.wftool = getToolByName(self.portal, 'portal_workflow') self.wftool.setChainForPortalTypes(['FormFolder', 'Form Folder'], 'publisher-example-workflow') self.formfolder = create(Builder('form folder')) self.save_data_adapter = create( Builder('save data adapter').within(self.formfolder)) self.data_string = "[email protected], Test, only a Test \n \ [email protected], another Test, Still a Test" self.save_data_adapter.setSavedFormInput(self.data_string) config = IConfig(self.portal) config.appendRealm(Realm(1, 'http://site', 'foo', 'pw'))
def setUp(self): super(TestFormGenIntegration, self).setUp() self.portal = self.layer['portal'] setRoles(self.portal, TEST_USER_ID, ['Manager']) self.wftool = getToolByName(self.portal, 'portal_workflow') self.wftool.setChainForPortalTypes(['FormFolder', 'Form Folder'], 'publisher-example-workflow') self.formfolder = create(Builder('form folder')) self.save_data_adapter = create(Builder( 'save data adapter').within(self.formfolder)) self.data_string = "[email protected], Test, only a Test \n \ [email protected], another Test, Still a Test" self.save_data_adapter.setSavedFormInput(self.data_string) config = IConfig(self.portal) config.appendRealm(Realm(1, 'http://site', 'foo', 'pw'))