-*- coding: utf-8 -*-

============
WebDAV tests
============

ATContentTypes supports WebDAV and FTP uploads with small differences
from ordinary AT based content types.

First, we are going to setup an environment so we can test that stuff
is acquired or not acquired at the right times.

  >>> import os
  >>> from Products.Archetypes.tests.attestcase import user_name
  >>> from Products.Archetypes.tests.attestcase import user_password
  >>> from Products.Archetypes.tests.atsitetestcase import portal_name

  Input directory with test files
  >>> test_home = os.path.dirname(__file__)
  >>> input_dir = os.path.join(test_home, 'input')

  CMF and Plone sites may have different default titles so we set one
  >>> self.setRoles(['Manager'])
  >>> self.portal.setTitle('Portal Title')
  >>> self.setRoles(['Member'])

  Use the member's home folder as play ground for the tests
  >>> folder = self.folder
  >>> fpath = '/'.join(folder.getPhysicalPath())

  Plone's default error message template is too verbose and far too long
  >>> portal.default_error_message = None


Event
-----

  >>> input = open(os.path.join(input_dir, 'test-event.txt'), 'rb')

  Create an object by extension

  >>> input.seek(0)
  >>> print http(r"""
  ... PUT /%s/test-event.event HTTP/1.1
  ... Authorization: Basic %s:%s
  ...
  ... %s""" % (fpath, user_name, user_password, input.read()))
  HTTP/1.1 201 Created
  ...

  XXX: .event should be removed?

  >>> event = self.folder['test-event.event']

  >>> print event.getPortalTypeName()
  Event

  >>> print event.Title()
  test event

  >>> del event
  >>> input.close()
