def test_DX_download_explicit_field_file(self, browser): self.grant('Manager') item = create(Builder('dx item').attach_file(asset('helloworld.py'))) browser.login().webdav('GET', item, view='api/files/file_field') self.assertEquals(200, browser.response.status_code) self.assertEquals('text/x-python', browser.headers.get('Content-Type')) self.assertEquals('print "Hello World"\n', browser.contents)
def test_DX_download_explicit_field_file(self, browser): self.grant('Manager') item = create(Builder('dx item') .attach_file(asset('helloworld.py'))) browser.login().webdav('GET', item, view='api/files/file_field') self.assertEquals(200, browser.response.status_code) self.assertEquals('text/x-python', browser.headers.get('Content-Type')) self.assertEquals('print "Hello World"\n', browser.contents)
def test_AT_download_explicit_field_file(self, browser): self.grant('Manager') document = create(Builder('file').attach_file_containing( asset('helloworld.py').bytes(), name='helloworld.py')) browser.login().webdav('GET', document, view='api/files/file') self.assertEquals(200, browser.response.status_code) self.assertEquals('text/x-python', browser.headers.get('Content-Type')) self.assertEquals('print "Hello World"\n', browser.contents)
def test_AT_download_primaryfield_file(self, browser): self.grant('Manager') document = create( Builder('file').attach_file_containing( asset('helloworld.py').bytes(), name='helloworld.py')) browser.login().webdav('GET', document, view='api/files') self.assertEquals(200, browser.response.status_code) self.assertEquals('text/x-python', browser.headers.get('Content-Type')) self.assertEquals('print "Hello World"\n', browser.contents)
def test_get_AT_file(self, browser): self.grant('Manager') document = create(Builder('file').attach_file_containing( asset('helloworld.py').bytes(), name='helloworld.py')) browser.login().webdav('GET', document, view='api/metadata') self.assertDictContainsSubset( {u'@url': u'{}/file/api/metadata'.format(self.portal.absolute_url()), u'_path': u'/plone/file', u'file:download': u'{}/file/api/files/file'.format(self.portal.absolute_url()), u'file:filename': u'helloworld.py', u'file:mimetype': u'text/x-python', u'file:size': 20}, browser.json)
def test_get_DX_object(self, browser): with freeze(datetime(2015, 12, 22, 17, 19, 54)): item = create( Builder('dx item') .titled(u'The Dexterity Item') .having(description=u'This is a great item!', bool_field=True, choice_field='Blue', date_field=date(2010, 9, 8), datetime_field=datetime(2012, 12, 30, 23, 59), decimal_field=2.6, dottedname_field='zope.schema.interfaces.IDottedName', float_field=1.3, list_field=[u'foo', u'bar', u'baz'], richtext_field=(IDXItemSchema['richtext_field'].fromUnicode( u'<p>Hello World.</p>')), text_field=u'A great text.', time_field=time(23, 58, 59, 1), timedelta_field=timedelta(days=2, milliseconds=1, microseconds=7), uri_field='http://www.python.org/foo/bar') .attach_image(asset('empty.gif')) .attach_file(asset('helloworld.py'))) browser.login().webdav('GET', item, view='api/metadata') self.assertDictContainsSubset( {u'@url': u'{}/the-dexterity-item/api/metadata'.format(self.portal.absolute_url()), u'_id': u'the-dexterity-item', u'_path': u'/plone/the-dexterity-item', u'_type': u'DXItem', u'bool_field': True, u'choice_field': u'Blue', u'date_field': u'2010-09-08', u'datetime_field': u'2012-12-30T23:59:00', u'decimal_field': 2.6, u'dottedname_field': u'zope.schema.interfaces.IDottedName', u'file_field:download': u'{}/the-dexterity-item/api/files/file_field'.format(self.portal.absolute_url()), u'file_field:filename': u'helloworld.py', u'file_field:mimetype': u'text/x-python', u'file_field:size': 20, u'float_field': 1.3, u'image_field:download': u'{}/the-dexterity-item/api/files/image_field'.format(self.portal.absolute_url()), u'image_field:filename': u'empty.gif', u'image_field:mimetype': u'image/gif', u'image_field:size': 42, u'list_field': [u'foo', u'bar', u'baz'], u'richtext_field': u'<p>Hello World.</p>', u'richtext_field:encoding': u'utf-8', u'richtext_field:mimeType': u'text/html', u'richtext_field:outputMimeType': u'text/x-html-safe', u'text_field': u'A great text.', u'time_field': u'23:58:59.000001', u'timedelta_field': 172800.001007, u'uri_field': u'http://www.python.org/foo/bar', u'description': u'This is a great item!', u'title': u'The Dexterity Item' }, browser.json)