コード例 #1
0
ファイル: tests.py プロジェクト: biodec/munin.zope
 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
コード例 #2
0
 def test_add_new_sector(self):
     import json
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     country = self.portal.sectors['nl']
     country.invokeFactory('euphorie.countrymanager', 'manager',
             login='******', password=u'manager')
     browser = Browser()
     browser.handleErrors = False
     browser.raiseHttpErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(country['manager']))
     browser.post('http://nohost/plone/api/countries/nl/sectors',
             json.dumps({'title': u'IT development',
                         'login': '******',
                         'contact': {
                             'name': u'Jony Smith',
                             'email': u'*****@*****.**',
                         },
                         'password': u'cobol-for-the-win'}))
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'sector')
     self.assertEqual(response['id'], 'it-development')
     self.assertTrue('it-development' in country)
     sector = country['it-development']
     self.assertEqual(sector.title, u'IT development')
     self.assertEqual(sector.login, 'it')
     self.assertEqual(sector.password, u'cobol-for-the-win')
コード例 #3
0
ファイル: test_company.py プロジェクト: pombredanne/Euphorie
 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')
コード例 #4
0
ファイル: test_cmfessentials.py プロジェクト: dtgit/dtedu
    def test6734(self):
        self.loginAsPortalOwner()

        # We start off by copying the existing SimpleFolder type to
        # our own type 'MySimpleFolder'.  For this type, we set the
        # SimpleFolder type to be the sole allowed content type.
        types = self.portal.portal_types
        types.manage_pasteObjects(types.manage_copyObjects(['SimpleFolder']))
        types.manage_renameObjects(['copy_of_SimpleFolder'], ['MySimpleFolder'])
        my_type = types['MySimpleFolder']
        attrs = dict(allowed_content_types=('SimpleFolder',),
                     filter_content_types=True,
                     portal_type='MySimpleFolder',
                     title='MySimpleFolder')
        my_type.__dict__.update(attrs)

        browser = Browser()
        browser.addHeader('Authorization',
                          'Basic %s:%s' % ('portal_owner', user_password))
        browser.open(self.folder.absolute_url())
        browser.getLink('Add new').click()
        browser.getControl('MySimpleFolder').click()
        browser.getControl('Add').click()

        browser.getControl('Title').value = 'My dope folder'
        browser.getControl('Save').click()
        self.failUnless('Changes saved.' in browser.contents)
        self.failUnless('My dope folder' in browser.contents)
コード例 #5
0
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)
コード例 #6
0
ファイル: test_session.py プロジェクト: euphorie/Euphorie
 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>')
コード例 #7
0
ファイル: test_profile.py プロジェクト: EU-OSHA/Euphorie
 def test_get_empty_profile(self):
     import datetime
     import json
     from z3c.saconfig import Session
     from euphorie.client.model import SurveySession
     from euphorie.content.tests.utils import PROFILE_SURVEY
     from euphorie.client.tests.utils import addAccount
     from euphorie.client.tests.utils import addSurvey
     from euphorie.client.api.authentication import generate_token
     self.loginAsPortalOwner()
     addSurvey(self.portal, PROFILE_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/profile')
     self.assertEqual(browser.headers['Content-Type'], 'application/json')
     response = json.loads(browser.contents)
     self.assertEqual(set(response), set(['id', 'type', 'title',
                                          'profile']))
     self.assertEqual(response['id'], 1)
     self.assertEqual(response['type'], 'profile')
     self.assertEqual(response['title'], u'Dummy session')
     self.assertEqual(response['profile'], [{
         'id': u'1',
         'question': u'List all your departments:',
         'value': []
     }])
コード例 #8
0
ファイル: tests.py プロジェクト: collective/p4a.ploneevent
    def test_recurrence(self):
        browser = Browser()
        browser.handleErrors = False
        browser.addHeader('Authorization', 'Basic %s:%s' % (portal_owner, default_password))
        folder_url = self.folder.absolute_url()

        # Add event
        browser.open(folder_url + '/createObject?type_name=Event')
        form = browser.getForm('event-base-edit')
        form.getControl(name='title').value = 'An Event'
        form.getControl(name='startDate_year').value = ['2007']
        form.getControl(name='startDate_month').value = ['04']
        form.getControl(name='startDate_day').value = ['01']
        form.getControl(name='startDate_hour').value = ['11']
        form.getControl(name='startDate_minute').value = ['00']
        form.getControl(name='endDate_year').value = ['2007']
        form.getControl(name='endDate_month').value = ['04']
        form.getControl(name='endDate_day').value = ['01']
        form.getControl(name='endDate_hour').value = ['11']
        form.getControl(name='endDate_minute').value = ['00']
        # Edit the recurrence info:
        form.getControl(name='frequency').value = ['1']
        form.getControl(name='interval').value = '6'
        form.getControl(name='form.button.save').click()

        # Make sure it's properly indexed:
        cat = self.portal.portal_catalog
        self.failUnless(len(cat(portal_type='Event', recurrence_days=732950)) == 1)
コード例 #9
0
 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
コード例 #10
0
ファイル: test_company.py プロジェクト: EU-OSHA/Euphorie
 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')
コード例 #11
0
ファイル: test_session.py プロジェクト: euphorie/Euphorie
 def test_browser(self):
     import datetime
     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)
     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.handleErrors = False
     browser.open('http://nohost/plone/client/api/users/1/'
                     'sessions/1/report-timeline')
     self.assertEqual(
             browser.headers['Content-Type'],
             'application/vnd.openxmlformats-'
                                     'officedocument.spreadsheetml.sheet')
コード例 #12
0
ファイル: test_company.py プロジェクト: euphorie/Euphorie
    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")
コード例 #13
0
 def test_browser(self):
     import datetime
     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)
     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.handleErrors = False
     browser.open('http://nohost/plone/client/api/users/1/'
                  'sessions/1/report-timeline')
     self.assertEqual(
         browser.headers['Content-Type'], 'application/vnd.openxmlformats-'
         'officedocument.spreadsheetml.sheet')
コード例 #14
0
ファイル: base.py プロジェクト: Vinsurya/Plone
 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
コード例 #15
0
 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>')
コード例 #16
0
ファイル: test_api.py プロジェクト: euphorie/tno.euphorie
 def test_browser_get(self):
     import datetime
     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 tno.euphorie.model import DutchCompany
     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)
     survey_session.dutch_company = DutchCompany(
             title=u'Acme B.V.',
             employees='40h',
             email='*****@*****.**',
             submit_date=datetime.date(2012, 6, 6))
     Session.add(survey_session)
     browser = Browser()
     browser.addHeader('X-Euphorie-Token', generate_token(account))
     browser.handleErrors = False
     browser.open(
             'http://nohost/plone/client/api/users/1/sessions/1/'
             'report-actionplan')
     self.assertEqual(browser.headers['Content-Type'], 'application/rtf')
     self.assertTrue('Bedrijfsnaam' in browser.contents)
コード例 #17
0
 def test_add_new_sector(self):
     import json
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     country = self.portal.sectors['nl']
     country.invokeFactory('euphorie.countrymanager', 'manager',
             login='******', password=u'manager')
     browser = Browser()
     browser.handleErrors = False
     browser.raiseHttpErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(country['manager']))
     browser.post('http://nohost/plone/api/countries/nl/sectors',
             json.dumps({'title': u'IT development',
                         'login': '******',
                         'contact': {
                             'name': 'Jony Smith',
                             'email': '*****@*****.**',
                         },
                         'password': u'cobol-for-the-win'}))
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'sector')
     self.assertEqual(response['id'], 'it-development')
     self.assertTrue('it-development' in country)
     sector = country['it-development']
     self.assertEqual(sector.title, u'IT development')
     self.assertEqual(sector.login, 'it')
     self.assertEqual(sector.password, u'cobol-for-the-win')
コード例 #18
0
ファイル: test_reviewlist.py プロジェクト: CGTIC/Plone_SP
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)
コード例 #19
0
ファイル: base.py プロジェクト: fmonaco/plonetheme.formation
 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
コード例 #20
0
ファイル: base.py プロジェクト: rristow/plonetheme.sunburst
 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
コード例 #21
0
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'
コード例 #22
0
 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
コード例 #23
0
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
コード例 #24
0
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'
コード例 #25
0
 def testSecurity(self):
     browser = Browser()
     portal_url = self.portal.absolute_url()
     url = portal_url + '/@@manage-aliases'
     browser.open(url)
     self.assertNotEquals(url, browser.url)
     browser.addHeader("Authorization", "Basic %s:%s" % (portal_owner, default_password))
     browser.open(url)
     self.assertEquals(url, browser.url)
コード例 #26
0
 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')
コード例 #27
0
 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')
コード例 #28
0
ファイル: test_risk.py プロジェクト: pombredanne/Euphorie
 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')
コード例 #29
0
ファイル: test_account.py プロジェクト: euphorie/Euphorie
 def test_user_info(self):
     import json
     from euphorie.client.tests.utils import addAccount
     from euphorie.client.api.authentication import generate_token
     account = addAccount()
     browser = Browser()
     browser.addHeader('X-Euphorie-Token', generate_token(account))
     browser.handleErrors = False
     browser.open('http://nohost/plone/client/api/users/1')
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'user')
コード例 #30
0
 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')
コード例 #31
0
ファイル: test_account.py プロジェクト: EU-OSHA/Euphorie
 def test_user_info(self):
     import json
     from euphorie.client.tests.utils import addAccount
     from euphorie.client.api.authentication import generate_token
     account = addAccount()
     browser = Browser()
     browser.addHeader('X-Euphorie-Token', generate_token(account))
     browser.handleErrors = False
     browser.open('http://nohost/plone/client/api/users/1')
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'user')
コード例 #32
0
 def testAddingAlias(self):
     browser = Browser()
     browser.addHeader("Authorization", "Basic %s:%s" % (portal_owner, default_password))
     portal_url = self.portal.absolute_url()
     url = portal_url + '/@@manage-aliases'
     browser.open(url)
     control = browser.getControl(name='redirection')
     control.value = '/bar'
     browser.getControl(name='form.button.Add').click()
     self.failUnless('Alias added' in browser.contents)
     self.assertEquals(self.rt.getRedirectObject('/bar'), self.portal)
コード例 #33
0
 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.handleErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     browser.open('http://nohost/plone/api/countries/nl/managers')
     response = json.loads(browser.contents)
     self.assertEqual(set(response), set(['managers']))
     self.assertEqual(response['managers'], [])
コード例 #34
0
ファイル: test_sessions.py プロジェクト: EU-OSHA/Euphorie
 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'], [])
コード例 #35
0
ファイル: test_sessions.py プロジェクト: euphorie/Euphorie
 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'], [])
コード例 #36
0
ファイル: testConfig.py プロジェクト: sithmel/Products.Maps
 def test_control_panel(self):
     browser = Browser()
     browser.addHeader('Authorization', 'Basic %s:%s' %
                       (portal_owner, default_password))
     jstool = self.portal.portal_javascripts
     # This is probably not the best way to test this
     # we want resources to be cooked after a form save
     # so we empty them first
     jstool.cookedresources = ()
     browser.open(self.portal.absolute_url() + '/@@maps-controlpanel')
     browser.getControl('Default coordinates').value = "1.0, 1.5"
     browser.getControl('Save').click()
     self.failUnless(jstool.cookedresources)
コード例 #37
0
 def test_browser_authenticated_user(self):
     import json
     from ...tests.utils import createSector
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     self.portal.sectors['nl'].invokeFactory('euphorie.countrymanager', 'manager')
     sector = createSector(self.portal, login='******', password=u'sector')
     browser = Browser()
     browser.handleErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     browser.open('http://nohost/plone/api/countries/nl/managers/manager')
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'countrymanager')
コード例 #38
0
    def test_download_signatures(self):
        self.browser.open('http://nohost/plone/megaphone/signers')
        self.failIf('Download signatures' in self.browser.contents)

        browser = Browser()
        browser.handleErrors = False
        browser.addHeader('Authorization', 'Basic root:secret')
        
        browser.open('http://nohost/plone/megaphone/signers')
        browser.getLink('Download signatures as CSV').click()
        self.assertEqual('attachment; filename="saved-letters.csv"', browser.headers['content-disposition'])
        self.assertEqual('text/comma-separated-values;charset=utf-8', browser.headers['content-type'])
        self.assertEqual('body,Harvey,Frank,[email protected],,Seattle,WA,,body\r\n', browser.contents)
コード例 #39
0
    def test_delete_all_signatures(self):
        self.browser.open('http://nohost/plone/megaphone/signers')
        self.failIf('Delete all signatures' in self.browser.contents)

        browser = Browser()
        browser.handleErrors = False
        browser.addHeader('Authorization', 'Basic root:secret')
        
        browser.open('http://nohost/plone/megaphone/signers')
        self.failUnless('Harvey' in browser.contents)
        browser.getLink('Delete all signatures').click()
        self.assertEqual('http://nohost/plone/megaphone/signers', browser.url)
        self.failIf('Harvey' in browser.contents)
コード例 #40
0
    def test_remove_signature(self):
        # users can't remove unless they have Manage Portal permission
        self.browser.open('http://nohost/plone/megaphone/signers')
        self.failIf('Delete' in self.browser.contents)

        browser = Browser()
        browser.handleErrors = False
        browser.addHeader('Authorization', 'Basic root:secret')
        
        browser.open('http://nohost/plone/megaphone/signers')
        self.failUnless('Harvey' in browser.contents)
        browser.getLink('Delete').click()
        self.assertEqual('http://nohost/plone/megaphone/signers', browser.url)
        self.failIf('Harvey' in browser.contents)
コード例 #41
0
 def test_browser_authenticated_user(self):
     import json
     from ...tests.utils import createSector
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     self.portal.sectors['nl'].invokeFactory('euphorie.countrymanager',
                                             'manager')
     sector = createSector(self.portal, login='******', password=u'sector')
     browser = Browser()
     browser.handleErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     browser.open('http://nohost/plone/api/countries/nl/managers/manager')
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'countrymanager')
コード例 #42
0
 def test_get_translation(self):
     import json
     from euphorie.client.api.authentication import generate_token
     self.loginAsPortalOwner()
     (account, survey, survey_session) = _setup_session(self.portal)
     survey.language = 'nl'
     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)
     options = dict((opt['value'], opt['title'])
                    for opt in response['frequency-options'])
     self.assertEqual(options['constant'], u'Voortdurend')
コード例 #43
0
ファイル: test_risk.py プロジェクト: pombredanne/Euphorie
 def test_get_translation(self):
     import json
     from euphorie.client.api.authentication import generate_token
     self.loginAsPortalOwner()
     (account, survey, survey_session) = _setup_session(self.portal)
     survey.language = 'nl'
     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)
     options = dict((opt['value'], opt['title'])
                        for opt in response['frequency-options'])
     self.assertEqual(options['constant'], u'Voortdurend')
コード例 #44
0
ファイル: testConfig.py プロジェクト: sixfeetup/Products.Maps
 def test_control_panel(self):
     browser = Browser()
     browser.addHeader('Authorization',
                       'Basic %s:%s' % (portal_owner, default_password))
     jstool = self.portal.portal_javascripts
     # This is probably not the best way to test this
     # we want resources to be cooked after a form save
     # so we empty them first
     #jstool.cookedresources = ()
     jstool.cache_duration = 0
     browser.open(self.portal.absolute_url() + '/@@maps-controlpanel')
     browser.getControl('Default coordinates').value = "1.0, 1.5"
     browser.getControl('Save').click()
     self.failUnless(jstool.cookedresources)
コード例 #45
0
ファイル: test_risk.py プロジェクト: euphorie/Euphorie
    def test_get_translation(self):
        import json
        from euphorie.client.api.authentication import generate_token

        self.loginAsPortalOwner()
        (account, survey, survey_session) = _setup_session(self.portal)
        survey.language = "nl"
        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)
        options = dict((opt["value"], opt["title"]) for opt in response["frequency-options"])
        self.assertEqual(options["constant"], u"Voortdurend")
コード例 #46
0
class PloneFormGenFunctionalTestCase(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 afterSetUp(self):
        super(PloneTestCase.FunctionalTestCase, self).afterSetUp()
        self.portal.MailHost = MailHostMock()

    def setStatusCode(self, key, value):
        from ZPublisher import HTTPResponse
        HTTPResponse.status_codes[key.lower()] = value
コード例 #47
0
 def test_browser_sector_can_not_modify_manager(self):
     import mock
     import json
     from ...tests.utils import createSector
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     self.portal.sectors['nl'].invokeFactory('euphorie.countrymanager', 'manager')
     sector = createSector(self.portal, login='******', password=u'sector')
     browser = Browser()
     browser.raiseHttpErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     with mock.patch('mechanize._opener.Request.get_method', return_value='PUT'):
         browser.post('http://nohost/plone/api/countries/nl/managers/manager',
                 '{"title": "Hacked!"}')
         response = json.loads(browser.contents)
         self.assertEqual(response['type'], 'error')
コード例 #48
0
 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.handleErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     browser.open('http://nohost/plone/api/countries')
     response = json.loads(browser.contents)
     self.assertEqual(set(response), set(['countries']))
     self.assertGreater(len(response['countries']), 30)
     nl = [c for c in response['countries'] if c['id'] == 'nl'][0]
     self.assertEqual(set(nl), set(['id', 'title', 'country-type']))
     self.assertEqual(nl['id'], u'nl')
     self.assertEqual(nl['title'], u'The Netherlands')
     self.assertEqual(nl['country-type'], u'eu-member')
コード例 #49
0
ファイル: base.py プロジェクト: uwosh/UWOshSuccess
class UWOshSuccessFunctionalTestCase(UWOshSuccessTestCase,
                                     ptc.FunctionalTestCase):
    def __init__(self, methodName='runTest'):
        UWOshSuccessTestCase.__init__(self, methodName)
        ptc.FunctionalTestCase.__init__(self, methodName)
        self.browser = Browser()
        self.browser.addHeader('Accept-Language', 'en-US')

    def browserLogout(self):
        self.browser.open(self.portal.absolute_url() + '/logout')
        self.assertTrue('You are now logged out' in self.browser.contents)

    def browserLogin(self, username, password='******'):
        self.browser.open(self.portal.absolute_url() + '/login_form')
        self.browser.getControl(name='__ac_name').value = username
        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)
コード例 #50
0
 def test_browser_sector_can_not_modify_manager(self):
     import mock
     import json
     from ...tests.utils import createSector
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     self.portal.sectors['nl'].invokeFactory('euphorie.countrymanager',
                                             'manager')
     sector = createSector(self.portal, login='******', password=u'sector')
     browser = Browser()
     browser.raiseHttpErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(sector))
     with mock.patch('mechanize._opener.Request.get_method',
                     return_value='PUT'):
         browser.post(
             'http://nohost/plone/api/countries/nl/managers/manager',
             '{"title": "Hacked!"}')
         response = json.loads(browser.contents)
         self.assertEqual(response['type'], 'error')
コード例 #51
0
 def test_get(self):
     import datetime
     import json
     from sqlalchemy.orm import object_session
     from euphorie.client.model import Risk
     from euphorie.client.model import ActionPlan
     from euphorie.client.api.authentication import generate_token
     from euphorie.client.api.tests.test_risk import _setup_session
     self.loginAsPortalOwner()
     (account, survey, survey_session) = _setup_session(self.portal)
     risk = object_session(survey_session).query(Risk).one()
     risk.action_plans.append(
         ActionPlan(action_plan=u'This is the plan',
                    planning_start=datetime.date(2012, 6, 3)))
     browser = Browser()
     browser.addHeader('X-Euphorie-Token', generate_token(account))
     browser.open('http://nohost/plone/client/api/users/1/'
                  'sessions/1/1/1/actionplans')
     self.assertEqual(browser.headers['Content-Type'], 'application/json')
     response = json.loads(browser.contents)
     self.assertTrue('action-plans' in response)
コード例 #52
0
 def test_get(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)
     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.assertEqual(
         set(response),
         set([
             'id', 'survey', 'type', 'created', 'modified', 'title',
             'next-step'
         ]))
     self.assertEqual(response['id'], 1)
     self.assertEqual(response['survey'], 'nl/ict/software-development')
     self.assertEqual(response['type'], 'session')
     self.assertEqual(response['title'], 'Dummy session')
     self.assertEqual(response['created'], '2012-04-22T23:05:12')
     self.assertEqual(response['modified'], '2012-04-23T11:50:30')
     self.assertEqual(
         response['next-step'],
         'http://nohost/plone/client/api/users/1/sessions/1/'
         'identification')
コード例 #53
0
 def test_add_new_manager(self):
     import json
     from ..authentication import generate_token
     self.loginAsPortalOwner()
     country = self.portal.sectors['nl']
     country.invokeFactory('euphorie.countrymanager', 'manager',
             login='******', password=u'manager')
     browser = Browser()
     browser.handleErrors = False
     browser.raiseHttpErrors = False
     browser.addHeader('X-Euphorie-Token', generate_token(country['manager']))
     browser.post('http://nohost/plone/api/countries/nl/managers',
             json.dumps({'title': u'Jane Doe',
                         'login': '******',
                         'password': u'johny'}))
     response = json.loads(browser.contents)
     self.assertEqual(response['type'], 'countrymanager')
     self.assertEqual(response['id'], 'jane-doe')
     self.assertTrue('jane-doe' in country)
     jane = country['jane-doe']
     self.assertEqual(jane.title, u'Jane Doe')
     self.assertEqual(jane.login, 'jane')
     self.assertEqual(jane.password, u'johny')
コード例 #54
0
# PloneTestCase set up this product on installation.

setup_product()
ptc.setupPloneSite(products=['collective.weightedportlets'])


class TestCase(ptc.PloneTestCase):
    """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.
    """


class FunctionalTestCase(ptc.FunctionalTestCase):
    """We use this class for functional integration tests that use
    doctest syntax. Again, we can put basic common utility or setup
    code in here.
    """

    def afterSetUp(self):
        roles = ('Member', 'Contributor')
        self.portal.portal_membership.addMember('contributor',
                                                'secret',
                                                roles, [])


from Products.Five.testbrowser import Browser
browser = Browser()
from Products.PloneTestCase.setup import portal_owner, default_password
browser.addHeader('Authorization', 'Basic %s:%s' % (portal_owner, default_password))
コード例 #55
0
 def testAliasesTab(self):
     browser = Browser()
     browser.addHeader("Authorization", "Basic %s:%s" % (portal_owner, default_password))
     browser.open(self.portal.absolute_url())
     aliases = browser.getLink(text='Aliases')
     self.failUnless('@@manage-aliases' in aliases.url)