예제 #1
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_choosename(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        name = form.chooseName(title='Test title')
        self.assertEqual(name, 'test-title')
예제 #2
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_choosename(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        name = form.chooseName(title='Test title')
        self.assertEqual(name, 'test-title')
예제 #3
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_update_type_check_context(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        Content.__type__.permission = ptah.cms.NOT_ALLOWED
        form.tinfo = Content.__type__

        self.assertRaises(HTTPForbidden, form.update)
예제 #4
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_name_widgets(self):
        from ptah.cms.forms import AddForm

        form = AddForm(Container(), DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        self.assertIsNotNone(form.name_widgets)
        self.assertIn('__name__', form.name_widgets)
예제 #5
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_basics(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())
        form.tinfo = Content.__type__

        self.assertIs(form.fields, Content.__type__.fieldset)
        self.assertEqual(form.label, 'Add %s' % Content.__type__.title)
        self.assertEqual(form.description, Content.__type__.description)
예제 #6
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_update_type_check_context(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        Content.__type__.permission = ptah.cms.NOT_ALLOWED
        form.tinfo = Content.__type__

        self.assertRaises(HTTPForbidden, form.update)
예제 #7
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_basics(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())
        form.tinfo = Content.__type__

        self.assertIs(form.fields, Content.__type__.fieldset)
        self.assertEqual(form.label, 'Add %s'%Content.__type__.title)
        self.assertEqual(form.description, Content.__type__.description)
예제 #8
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_no_name_widgets(self):
        from ptah.cms.forms import AddForm

        form = AddForm(Container(), DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.name_show = False
        form.update()

        self.assertIsNone(form.name_widgets)
예제 #9
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_add_errors(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(POST={'form.buttons.add': 'Add'})

        form = AddForm(container, request)
        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        self.assertIn('Please fix indicated errors.',
                      ptah.view.render_messages(request))
예제 #10
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_create(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        form = AddForm(Container(), DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        content = form.create(**{'title': 'Test Content',
                                 '__name__': 'page.html'})

        self.assertEqual(content.__name__, 'page.html')
        self.assertIsInstance(content, Content)
예제 #11
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_add_errors(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(
            POST = {'form.buttons.add': 'Add'})

        form = AddForm(container, request)
        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        self.assertIn('Please fix indicated errors.',
                      ptah.view.render_messages(request))
예제 #12
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_cancel(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(POST={'form.buttons.cancel': 'Cancel'})

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        res = form.update()

        self.assertIsInstance(res, HTTPFound)
        self.assertEqual(res.headers['location'], '.')
예제 #13
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_extract_with_errors(self):
        from ptah.cms.forms import AddForm

        form = AddForm(Container(), DummyRequest(
            POST={'__name__': 't/est-content'}))

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        data, errors = form.extract()

        self.assertEqual(len(errors), 2)
        self.assertEqual(errors[0].field.name, 'title')
        self.assertEqual(errors[0].msg, 'Required')
        self.assertEqual(errors[1].field.name, '__name__')
        self.assertEqual(errors[1].msg, "Names cannot contain '/'")
예제 #14
0
    def test_addform_cancel(self):
        from ptah.cms.forms import AddForm
        ptah.authService.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(
            POST = {'form.buttons.cancel': 'Cancel'})

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        try:
            form.update()
        except Exception, res:
            pass
예제 #15
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_cancel(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(
            POST = {'form.buttons.cancel': 'Cancel'})

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        res = form.update()

        self.assertIsInstance(res, HTTPFound)
        self.assertEqual(res.headers['location'], '.')
예제 #16
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_update_suffix_from_type(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        Content.__type__.name_suffix = '.xml'
        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED

        form.tinfo = Content.__type__
        form.update()

        self.assertEqual(form.name_suffix, '.xml')

        Content.__type__.name_suffix = ''
        Content.__type__.permission = ptah.cms.NOT_ALLOWED
예제 #17
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_update_suffix_from_type(self):
        from ptah.cms.forms import AddForm

        container = Container()

        form = AddForm(container, DummyRequest())

        Content.__type__.name_suffix = '.xml'
        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED

        form.tinfo = Content.__type__
        form.update()

        self.assertEqual(form.name_suffix, '.xml')

        Content.__type__.name_suffix = ''
        Content.__type__.permission = ptah.cms.NOT_ALLOWED
예제 #18
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_extract(self):
        from ptah.cms.forms import AddForm

        form = AddForm(Container(), DummyRequest(
            POST={'title': 'Test Content',
                  '__name__': 'test-content'}))

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        data, errors = form.extract()

        self.assertEqual(len(errors), 0)
        self.assertEqual(len(data), 3)
        self.assertIn('title', data)
        self.assertIn('description', data)
        self.assertIn('__name__', data)
예제 #19
0
    def test_addform_add(self):
        from ptah.cms.forms import AddForm
        ptah.authService.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(
            POST = {'title': 'Test Content',
                    'form.buttons.add': 'Add'})
        request.root = container
        request.root.__path__ = '/'
        request.root.__root_path__ = '/'

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        try:
            form.update()
        except Exception, res:
            pass
예제 #20
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_add(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(
            POST = {'title': 'Test Content',
                    'form.buttons.add': 'Add'})
        request.root = container
        request.root.__path__ = '/'
        request.root.__root_path__ = '/'

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        res = form.update()

        self.assertIsInstance(res, HTTPFound)
        self.assertEqual(res.headers['location'], '/test-content/')
        self.assertIn('New content has been created.',
                      ptah.view.render_messages(request))
예제 #21
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_add(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        container = Container()
        request = DummyRequest(POST={
            'title': 'Test Content',
            'form.buttons.add': 'Add'
        })
        request.root = container
        request.root.__path__ = '/'
        request.root.__root_path__ = '/'

        form = AddForm(container, request)

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__

        res = form.update()

        self.assertIsInstance(res, HTTPFound)
        self.assertEqual(res.headers['location'], '/test-content/')
        self.assertIn('New content has been created.',
                      ptah.view.render_messages(request))
예제 #22
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_validate_name(self):
        from ptah.cms.forms import AddForm

        container = Container()
        container['test'] = Content()

        form = AddForm(container, DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        errors = []
        form.validate({'__name__': 'test'}, errors)

        self.assertEqual(len(errors), 1)
        self.assertIs(errors[0].field, form.name_widgets['__name__'])
        self.assertEqual(errors[0].msg, 'Name already in use')

        errors = []
        form.validate({'__name__': 'normal-name'}, errors)
        self.assertEqual(len(errors), 0)
예제 #23
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_extract_with_errors_no_name(self):
        from ptah.cms.forms import AddForm

        form = AddForm(Container(),
                       DummyRequest(POST={'__name__': 't/est-content'}))

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.name_show = False
        form.update()

        data, errors = form.extract()

        self.assertEqual(len(errors), 1)
        self.assertEqual(errors[0].field.name, 'title')
        self.assertEqual(errors[0].msg, 'Required')
예제 #24
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_validate_name(self):
        from ptah.cms.forms import AddForm

        container = Container()
        container['test'] = Content()

        form = AddForm(container, DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        errors = []
        form.validate({'__name__': 'test'}, errors)

        self.assertEqual(len(errors), 1)
        self.assertIs(errors[0].field, form.name_widgets['__name__'])
        self.assertEqual(errors[0].msg, 'Name already in use')

        errors = []
        form.validate({'__name__': 'normal-name'}, errors)
        self.assertEqual(len(errors), 0)
예제 #25
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_create_empty_name(self):
        from ptah.cms.forms import AddForm
        ptah.auth_service.set_userid(ptah.SUPERUSER_URI)

        form = AddForm(Container(), DummyRequest())

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.update()

        content = form.create(**{'title': 'Test Content'})

        self.assertEqual(content.__name__, 'test-content')
        self.assertEqual(content.title, 'Test Content')
        self.assertIsInstance(content, Content)
예제 #26
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_extract_no_name(self):
        from ptah.cms.forms import AddForm

        form = AddForm(
            Container(),
            DummyRequest(POST={
                'title': 'Test Content',
                '__name__': 'test-content'
            }))

        Content.__type__.permission = ptah.cms.NO_PERMISSION_REQUIRED
        form.tinfo = Content.__type__
        form.name_show = False
        form.update()

        data, errors = form.extract()

        self.assertEqual(len(errors), 0)
        self.assertEqual(len(data), 2)
        self.assertIn('title', data)
        self.assertIn('description', data)
예제 #27
0
파일: test_forms.py 프로젝트: runyaga/ptah
    def test_addform_ctor(self):
        from ptah.cms.forms import AddForm

        container = Container()
        form = AddForm(container, DummyRequest())
        self.assertIs(form.container, container)