def test_get(self): import datetime import json from z3c.saconfig import Session from euphorie.client.model import Company from euphorie.client.model import SurveySession from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addAccount from euphorie.client.tests.utils import addSurvey from euphorie.client.api.authentication import generate_token from Products.Five.testbrowser import Browser self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) account = addAccount(password='******') survey_session = SurveySession( title=u'Dummy session', created=datetime.datetime(2012, 4, 22, 23, 5, 12), modified=datetime.datetime(2012, 4, 23, 11, 50, 30), zodb_path='nl/ict/software-development', account=account, company=Company(country='nl', employees='1-9', referer='other')) Session.add(survey_session) browser = Browser() browser.addHeader('X-Euphorie-Token', generate_token(account)) browser.open( 'http://nohost/plone/client/api/users/1/sessions/1/company') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(response['type'], 'company')
def test_with_introduction(self): import datetime import json from z3c.saconfig import Session from euphorie.client.model import SurveySession from euphorie.client.api.authentication import generate_token from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addAccount from euphorie.client.tests.utils import addSurvey self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) survey = self.portal.client['nl']['ict']['software-development'] survey.introduction = u'<p>Fancy intro.</p>' account = addAccount(password='******') survey_session = SurveySession( title=u'Dummy session', created=datetime.datetime(2012, 4, 22, 23, 5, 12), modified=datetime.datetime(2012, 4, 23, 11, 50, 30), zodb_path='nl/ict/software-development', account=account) Session.add(survey_session) browser = Browser() browser.addHeader('X-Euphorie-Token', generate_token(account)) browser.open('http://nohost/plone/client/api/users/1/sessions/1') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertTrue('introduction' in response) self.assertEqual(response['introduction'], u'<p>Fancy intro.</p>')
def test_bad_login(self): browser = Browser() browser.raiseHttpErrors = False browser.post('http://nohost/plone/api/authenticate', '{"login": "******", "password": "******"}') self.assertTrue(browser.headers['Status'].startswith('403')) self.assertEqual(browser.headers['Content-Type'], 'application/json')
def getBrowser(self, loggedIn=True): """ instantiate and return a testbrowser for convenience """ browser = Browser() if loggedIn: auth = 'Basic %s' % self.getCredentials() browser.addHeader('Authorization', auth) return browser
def testUpdateModeCreateIfNoMatch(self): self._assertNoExistingTestContact() # set actionIfNoExistingObject to 'create' self.ff1.contact_adapter.setActionIfNoExistingObject('create') notify(AdapterModifiedEvent(self.ff1.contact_adapter)) # open a test browser on the initial form browser = Browser() browser.open('http://nohost/plone/ff1') # confirm no existing values; set some new ones and submit self.assertEqual(browser.getControl(name='replyto').value, '') browser.getControl(name='replyto').value = '*****@*****.**' self.assertEqual(browser.getControl(name='comments').value, '') browser.getControl(name='comments').value = 'PloneTestCase' browser.getControl('Submit').click() # now there should be one (new) record res = self.salesforce.query(['Id','LastName'],self.ff1.contact_adapter.getSFObjectType(), "Email='*****@*****.**'") for item in res['records']: self._todelete.append(item['Id']) self.assertEqual(1, res['size']) self.assertEqual('PloneTestCase', res['records'][0]['LastName'])
def createClientBrowser(self): from Products.Five.testbrowser import Browser from euphorie.client.tests.utils import registerUserInClient browser = Browser() browser.open(self.portal.client.nl["ict"]["software-development"].absolute_url()) registerUserInClient(browser) return browser
def afterSetUp(self): super(FolderTestCase, self).afterSetUp() from Products.Five.testbrowser import Browser self.browser = Browser() self.uf = self.portal.acl_users self.uf.userFolderAddUser('root', 'secret', ['Manager'], [])
def afterSetUp(self): super(ReviewListTestCase, self).afterSetUp() self.uf = self.portal.acl_users self.uf.userFolderAddUser('reviewer', 'secret', ['Reviewer'], []) self.browser = Browser() self.wftool = getToolByName(self.portal, 'portal_workflow')
def test_browser_require_authentication(self): self.loginAsPortalOwner() self.portal.sectors['nl'].invokeFactory('euphorie.countrymanager', 'manager') browser = Browser() browser.raiseHttpErrors = False browser.open('http://nohost/plone/api/countries/nl/managers/manager') self.assertTrue(browser.headers['Status'].startswith('401'))
def testEmail(self): from euphorie.client.tests.utils import MockMailFixture from euphorie.client.tests.utils import addAccount self.addDummySurvey() addAccount() mail_fixture = MockMailFixture() self.portal.email_from_address = "*****@*****.**" self.portal.email_from_name = "Euphorie website" browser = Browser() browser.open(self.portal.client.nl.absolute_url()) browser.getLink('Login').click() browser.getLink("I forgot my password").click() browser.getControl(name="loginname").value = "*****@*****.**" browser.getControl(name="next").click() self.assertEqual(len(mail_fixture.storage), 1) (args, kw) = mail_fixture.storage[0] (mail, mto, mfrom) = args[:3] self.assertEqual(mfrom, "*****@*****.**") self.assertEqual(mto, "*****@*****.**") self.assertEqual( unicode(mail["Subject"]), u"OiRA registration reminder") body = mail.get_payload(0).get_payload(decode=True)\ .decode(mail.get_content_charset("utf-8")) self.failUnless(u"Øle" in body)
class ReviewListTestCase(FunctionalTestCase): """dsfsdaf""" def afterSetUp(self): super(ReviewListTestCase, self).afterSetUp() self.uf = self.portal.acl_users self.uf.userFolderAddUser('reviewer', 'secret', ['Reviewer'], []) self.browser = Browser() self.wftool = getToolByName(self.portal, 'portal_workflow') def createDocument(self, id, title, description): self.setRoles([ 'Manager', ]) self.portal.invokeFactory(id=id, type_name='Document') doc = getattr(self.portal, id) doc.setTitle(title) doc.setDescription(description) # we don't want it in the navigation doc.setExcludeFromNav(True) doc.reindexObject() return doc def submitToReview(self, obj): '''call the workflow action 'submit' for an object''' self.wftool.doActionFor(obj, 'submit') def test_unauthenticated(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Login Name' in self.browser.contents) def test_authenticated(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' self.browser.addHeader('Authorization', 'Basic %s:%s' % ('reviewer', 'secret')) self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Full review list:' in self.browser.contents) def test_with_content(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' doc = self.createDocument('testdoc', 'Test Document', 'Test Description') self.wftool.doActionFor(doc, 'submit') self.browser.addHeader('Authorization', 'Basic %s:%s' % ('reviewer', 'secret')) self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Full review list:' in self.browser.contents) # test if the table with review items contains an entry for testdoc self.assertTrue('value="/plone/testdoc"' in self.browser.contents)
def test_get_no_company_data_present(self): import datetime import json from z3c.saconfig import Session from euphorie.client.model import SurveySession from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addAccount from euphorie.client.tests.utils import addSurvey from euphorie.client.api.authentication import generate_token from Products.Five.testbrowser import Browser self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) account = addAccount(password="******") survey_session = SurveySession( title=u"Dummy session", created=datetime.datetime(2012, 4, 22, 23, 5, 12), modified=datetime.datetime(2012, 4, 23, 11, 50, 30), zodb_path="nl/ict/software-development", account=account, ) Session.add(survey_session) browser = Browser() browser.addHeader("X-Euphorie-Token", generate_token(account)) browser.open("http://nohost/plone/client/api/users/1/sessions/1/company") self.assertEqual(browser.headers["Content-Type"], "application/json") response = json.loads(browser.contents) self.assertEqual(response["type"], "company")
def _setup(self): PloneTestCase.FunctionalTestCase._setup(self) self.app.REQUEST['SESSION'] = Session() self.browser = Browser() self.app.acl_users.userFolderAddUser('root', 'secret', ['Manager'], []) self.browser.addHeader('Authorization', 'Basic root:secret') self.portal_url = 'http://nohost/plone'
def getBrowser(self, loggedIn=True): """ instantiate and return a testbrowser for convenience """ browser = Browser() if loggedIn: browser.addHeader('Authorization', 'Basic %s:%s' % ('manager', 's3kr3t')) return browser
def _loginThroughBrowserAsDefaultUser(self): self.browser = Browser() self.browser.open(self.portal.absolute_url() + '/login_form') self.browser.getControl(name='__ac_name').value = self._default_user self.browser.getControl(name='__ac_password').value = 'password' self.browser.getControl(name='submit').click() self.assertTrue('You are now logged in' in self.browser.contents)
def test_api_access(self): from Products.Five.testbrowser import Browser browser = Browser() browser.open('http://nohost/plone/client/api') self.assertEqual( browser.headers['Content-Type'], 'application/json')
class ReviewListTestCase(FunctionalTestCase): """dsfsdaf""" def afterSetUp(self): super(ReviewListTestCase, self).afterSetUp() self.uf = self.portal.acl_users self.uf.userFolderAddUser('reviewer', 'secret', ['Reviewer'], []) self.browser = Browser() self.wftool = getToolByName(self.portal, 'portal_workflow') def createDocument(self, id, title, description): self.setRoles(['Manager', ]) self.portal.invokeFactory(id=id, type_name='Document') doc = getattr(self.portal, id) doc.setTitle(title) doc.setDescription(description) # we don't want it in the navigation doc.setExcludeFromNav(True) doc.reindexObject() return doc def submitToReview(self, obj): '''call the workflow action 'submit' for an object''' self.wftool.doActionFor(obj, 'submit') def test_unauthenticated(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Login Name' in self.browser.contents) def test_authenticated(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' self.browser.addHeader('Authorization', 'Basic %s:%s' % ('reviewer', 'secret')) self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Full review list:' in self.browser.contents) def test_with_content(self): ''' unauthenticated users do not have the necessary permissions to view the review list ''' doc = self.createDocument( 'testdoc', 'Test Document', 'Test Description') self.wftool.doActionFor(doc, 'submit') self.browser.addHeader('Authorization', 'Basic %s:%s' % ('reviewer', 'secret')) self.browser.open('http://nohost/plone/full_review_list') self.assertTrue('Full review list:' in self.browser.contents) # test if the table with review items contains an entry for testdoc self.assertTrue('value="/plone/testdoc"' in self.browser.contents)
def getBrowser(self, loggedIn=True): """ instantiate and return a testbrowser for convenience """ browser = Browser() if loggedIn: user = ptc.default_user pwd = ptc.default_password browser.addHeader('Authorization', 'Basic %s:%s' % (user, pwd)) return browser
def getBrowser(self, loggedIn=True): """ instantiate and return a testbrowser for convenience """ browser = Browser() if loggedIn: user = PloneTestCase.default_user pwd = PloneTestCase.default_password browser.addHeader("Authorization", "Basic %s:%s" % (user, pwd)) return browser
def createClientBrowser(self): from euphorie.client.tests.utils import registerUserInClient from Products.Five.testbrowser import Browser browser = Browser() browser.open(self.portal.client.nl["ict"] ["software-development"].absolute_url()) registerUserInClient(browser) return browser
class FunctionalTestCase(PloneTestCase.FunctionalTestCase): def _setup(self): PloneTestCase.FunctionalTestCase._setup(self) self.app.REQUEST['SESSION'] = Session() self.browser = Browser() self.app.acl_users.userFolderAddUser('root', 'secret', ['Manager'], []) self.browser.addHeader('Authorization', 'Basic root:secret') self.portal_url = 'http://nohost/plone'
def testTraverser(self): """ Test the ClientPublishTraverser in osha.oira/client.py """ from Products.Five.testbrowser import Browser from ..interfaces import IOSHAClientSkinLayer from euphorie.client.utils import locals browser = Browser() browser.open(self.portal.client.absolute_url()) self.assertEquals(IOSHAClientSkinLayer.providedBy(locals.request), True)
def testUnknownAccount(self): self.addDummySurvey() browser = Browser() browser.open(self.portal.client.nl.absolute_url()) browser.getLink('Login').click() browser.getLink("I forgot my password").click() browser.getControl(name="loginname").value = "*****@*****.**" browser.getControl(name="next").click() self.failUnless("Unknown email address" in browser.contents)
def afterSetUp(self): super(PDFBookFunctionalTestCase, self).afterSetUp() self.makeBaseContent() self.browser = Browser() self.uf = self.portal.acl_users self.uf.userFolderAddUser('root', 'secret', ['Manager'], []) self.ptool = getToolByName(self.portal, 'portal_properties') self.site_props = self.ptool.site_properties return
def testTraverser(self): """Test the ClientPublishTraverser in osha.oira/client.py""" from ..interfaces import IOSHAClientSkinLayer from euphorie.client.utils import locals from Products.Five.testbrowser import Browser browser = Browser() browser.open(self.portal.client.absolute_url()) self.assertEquals(IOSHAClientSkinLayer.providedBy(locals.request), True)
def getBrowser(loggedIn=False): """ instantiate and return a testbrowser for convenience """ browser = Browser() browser.handleErrors = True if loggedIn: user = PloneTestCase.default_user pwd = PloneTestCase.default_password browser.addHeader('Authorization', 'Basic %s:%s' % (user, pwd)) return browser
def test_get_version(self): import json browser = Browser() browser.open('http://nohost/plone/client/api') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(set(response), set(['api-version', 'euphorie-version'])) self.assertEqual(response['api-version'], [1, 0])
def test_authentication_failure(self): import json browser = Browser() browser.raiseHttpErrors = False browser.post('http://nohost/plone/client/api/users/authenticate', '{"login": "******", "password": "******"}') self.assertTrue(browser.headers['Status'].startswith('403')) self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(response['type'], 'error')
def test_authenticated_user(self): import json from ...tests.utils import createSector from ..authentication import generate_token sector = createSector(self.portal, login='******', password=u'sector') browser = Browser() browser.addHeader('X-Euphorie-Token', generate_token(sector)) browser.open('http://nohost/plone/api') response = json.loads(browser.contents) self.assertEqual(response['account'], 'sector')
def test_get(self): import json from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addSurvey self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) browser = Browser() browser.open('http://nohost/plone/client/api/surveys/nl') response = json.loads(browser.contents) self.assertEqual(response['id'], 'nl')
def test_get_version(self): import json browser = Browser() browser.open('http://nohost/plone/client/api') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual( set(response), set(['api-version', 'euphorie-version'])) self.assertEqual(response['api-version'], [1, 0])
def afterSetUp(self): super(ControlPanelTestCase, self).afterSetUp() self.browser = Browser() self.uf = self.portal.acl_users self.uf.userFolderAddUser('root', 'secret', ['Manager'], []) self.ptool = getToolByName(self.portal, 'portal_properties') self.site_props = self.ptool.site_properties
def test_get(self): import json from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addSurvey self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) browser = Browser() browser.open('http://nohost/plone/client/api/surveys/nl/ict') response = json.loads(browser.contents) self.assertEqual(response['id'], 'ict')
def test_surveys_filtered_by_language(self): from euphorie.client.tests.utils import registerUserInClient survey = """<sector xmlns="http://xml.simplon.biz/euphorie/survey/1.0"> <title>Sector</title> <survey> <title>Survey</title> <language>en</language> </survey> </sector>""" survey_nl = \ """<sector xmlns="http://xml.simplon.biz/euphorie/survey/1.0"> <title>Branche</title> <survey> <title>Vragenlijst</title> <language>nl</language> </survey> </sector>""" self.loginAsPortalOwner() addSurvey(self.portal, survey) addSurvey(self.portal, survey_nl) browser = Browser() browser.open(self.portal.client.absolute_url()) browser.getLink("Nederlands").click() registerUserInClient(browser, link="Registreer") self.assertEqual( browser.url, "http://nohost/plone/client/nl/?language=nl-NL") self.assertEqual(browser.getControl(name="survey").options, ["branche/vragenlijst"]) browser.open( "%s?language=en" % self.portal.client["nl"].absolute_url()) self.assertEqual(browser.getControl(name="survey").options, ["sector/survey"])
def test_authentication_success(self): import json from z3c.saconfig import Session from euphorie.client.model import Account Session.add(Account(loginname='john', password=u'jane')) browser = Browser() browser.handleErrors = False browser.post('http://nohost/plone/client/api/users/authenticate', '{"login": "******", "password": "******"}') response = json.loads(browser.contents) self.assertEqual(response['type'], 'user')
def test_get(self): import json from euphorie.client.api.authentication import generate_token self.loginAsPortalOwner() (account, survey, survey_session) = _setup_session(self.portal) browser = Browser() browser.addHeader('X-Euphorie-Token', generate_token(account)) browser.open('http://nohost/plone/client/api/users/1/sessions/1/1/1') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(response['type'], 'risk')
def test_404_handled(self): import json browser = Browser() browser.raiseHttpErrors = False browser.open('http://nohost/plone/api/unknown') self.assertTrue(browser.headers['Status'].startswith('404')) self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(set(response), set(['type', 'message'])) self.assertEqual(response['type'], 'error') self.assertEqual(response['message'], 'Unknown resource requested.')
def test_view(self): import json browser = Browser() browser.raiseHttpErrors = False browser.open('http://nohost/plone/api/countries') self.assertTrue(browser.headers['Status'].startswith('401')) self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(set(response), set(['type', 'message'])) self.assertEqual(response['type'], 'error') self.assertEqual(response['message'], 'Access denied.')
def testUpdateModeAbortIfNoMatch(self): self._assertNoExistingTestContact() # set actionIfNoExistingObject to 'abort' self.ff1.contact_adapter.setActionIfNoExistingObject('abort') # open a test browser on the initial form ... should get redirected # to the site root with a portal message. browser = Browser() browser.open('http://nohost/plone/ff1') self.assertEqual(browser.url, 'http://nohost/plone') self.failUnless('Could not find item to edit.' in browser.contents)
def test_404_handled(self): import json browser = Browser() browser.raiseHttpErrors = False browser.open("http://nohost/plone/api/unknown") self.assertTrue(browser.headers["Status"].startswith("404")) self.assertEqual(browser.headers["Content-Type"], "application/json") response = json.loads(browser.contents) self.assertEqual(set(response), set(["type", "message"])) self.assertEqual(response["type"], "error") self.assertEqual(response["message"], "Unknown resource requested.")
def test_view(self): import json browser = Browser() browser.raiseHttpErrors = False browser.open("http://nohost/plone/api/countries") self.assertTrue(browser.headers["Status"].startswith("401")) self.assertEqual(browser.headers["Content-Type"], "application/json") response = json.loads(browser.contents) self.assertEqual(set(response), set(["type", "message"])) self.assertEqual(response["type"], "error") self.assertEqual(response["message"], "Access denied.")
def getBrowser(url): browser = Browser() browser.open(url) try: browser.getLink('Log in').click() except LinkNotFoundError: #!Plone4 pass browser.getControl(name='__ac_name').value = portal_owner browser.getControl(name='__ac_password').value = default_password browser.getControl(name='submit').click() return browser
def setUp(self): from Products.Five.testbrowser import Browser from euphorie.client.tests.utils import addSurvey from euphorie.client.tests.utils import registerUserInClient from euphorie.content.tests.utils import BASIC_SURVEY super(AccountDeleteTests, self).setUp() self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) survey = self.portal.client["nl"]["ict"]["software-development"] self.browser = Browser() self.browser.open(survey.absolute_url()) registerUserInClient(self.browser)
def test_do_GET_basic(self): import json from euphorie.client.api.authentication import generate_token from euphorie.client.tests.utils import addAccount account = addAccount() browser = Browser() browser.addHeader('X-Euphorie-Token', generate_token(account)) browser.open('http://nohost/plone/client/api/users/1/sessions') self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual(set(response), set(['sessions'])) self.assertEqual(response['sessions'], [])
def test_404_handled(self): import json browser = Browser() browser.raiseHttpErrors = False browser.open('http://nohost/plone/client/api/unknown') self.assertTrue(browser.headers['Status'].startswith('404')) self.assertEqual(browser.headers['Content-Type'], 'application/json') response = json.loads(browser.contents) self.assertEqual( set(response), set(['type', 'message'])) self.assertEqual(response['type'], 'error') self.assertEqual(response['message'], 'Unknown resource requested.')
def test_valid_login(self): import json from ...tests.utils import createSector createSector(self.portal, id='my-sector', country='nl', login='******', password=u'secret') browser = Browser() browser.post('http://nohost/plone/api/authenticate', '{"login": "******", "password": "******"}') response = json.loads(browser.contents) self.assertEqual(set(response), set(['token', 'title', 'login', 'url'])) self.assertEqual( response['url'], 'http://nohost/plone/api/countries/nl/sectors/my-sector')
def test_View(self): import json import mock with mock.patch('euphorie.content.api.entry.View.do_GET', sideEffect=RuntimeError): browser = Browser() browser.raiseHttpErrors = False browser.open('http://nohost/plone/api') self.assertTrue(browser.headers['Status'].startswith('500')) response = json.loads(browser.contents) self.assertEqual(set(response), set(['type', 'message'])) self.assertEqual(response['type'], 'error') self.assertEqual(response['message'], u'An unknown error occurred.')
class CKEditorTestCase(ptc.FunctionalTestCase): """base test case with convenience methods for all ckeditor tests""" def afterSetUp(self): super(CKEditorTestCase, self).afterSetUp() self.browser = Browser() self.uf = self.portal.acl_users self.uf.userFolderAddUser('root', 'secret', ['Manager'], []) self.ptool = getToolByName(self.portal, 'portal_properties') def loginAsManager(self, user='******', pwd='secret'): """points the browser to the login screen and logs in as user root with Manager role.""" self.browser.open('http://nohost/plone/') self.browser.getLink('Log in').click() self.browser.getControl('Login Name').value = user self.browser.getControl('Password').value = pwd self.browser.getControl('Log in').click() class layer(PloneSite): @classmethod def setUp(cls): # doctests don't play nicely with ipython try: iphook = sys.displayhook sys.displayhook = sys.__displayhook__ except: pass @classmethod def tearDown(cls): try: sys.displayhook = iphook except: pass
class TestCase(ptc.FunctionalTestCase): """ We use this base class for all the tests in this package. If necessary, we can put common utility or setup code in here. This applies to unit test cases. """ _configure_portal = False def beforeTearDown(self): pass def afterSetUp(self): here = abspath(dirname(__file__)) url = urllib.pathname2url(here) self.testsite = 'file://%s/test_staticsite' % url self.portal.error_log._ignored_exceptions = () self.portal.acl_users.portal_role_manager.updateRolesList() self.portal.acl_users._doAddUser('manager', 'pass', ('Manager', ), []) self.login('manager') from Products.Five.testbrowser import Browser self.browser = Browser() # self.setRoles(('Manager',)) self.browser.open(self.portal.absolute_url() + '/login_form') self.browser.getControl(name='__ac_name').value = 'manager' self.browser.getControl(name='__ac_password').value = 'pass' self.browser.getControl(name='submit').click() self.browser.open(self.portal.absolute_url())
def testUpdateModeInitialLoadAndSubmission(self): """Ensure that our Salesforce Adapter mapped objects find their way into the appropriate Salesforce.com instance. """ self._createTestContact() # open a test browser on the initial form browser = Browser() browser.open('http://nohost/plone/ff1') # update the comments field self.assertEqual(browser.getControl(name='comments').value, 'PloneTestCase') browser.getControl(name='comments').value = 'PloneTestCaseChanged' # submit again browser.getControl('Submit').click() # we should only get one record, and the name should be changed res = self.salesforce.query(['Id','LastName'],self.ff1.contact_adapter.getSFObjectType(), "Email='*****@*****.**'") for item in res['records']: self._todelete.append(item['Id']) self.assertEqual(1, res['size']) self.assertEqual('PloneTestCaseChanged', res['records'][0]['LastName'])
def test_login_not_case_sensitive(self): from euphorie.content.tests.utils import BASIC_SURVEY from euphorie.client.tests.utils import addSurvey from euphorie.client.tests.utils import addAccount self.loginAsPortalOwner() addSurvey(self.portal, BASIC_SURVEY) addAccount(password='******') browser = Browser() browser.open(self.portal.client.nl.absolute_url()) browser.getLink('Login').click() browser.getControl(name='__ac_name').value = '*****@*****.**' browser.getControl(name='__ac_password:utf8:ustring').value = 'secret' browser.getControl(name="next").click() self.assertTrue('@@login' not in browser.url)