Subject: further interop testing: IIS Windows 2000 Beta 3

From: Jim Davis <[email-masked]>
Date: Mon, 15 Nov 1999 11:54:10 +0100

Worked perfectly, with two exceptions:

1) does not preserve the xml:lang attribute (12.13.2)
2) Does not support locking collections.

Details below:

------------------------ detailed report ------------------------------------

python tdav.py  -h dav.ics.uci.edu -p 80 -collection /jdavis/ 

Server claims to support locking
Resource type of collection /jdavis/ is DAV:collection: PASS

*** Testing error cases for MakeCollection
Attempt to create collection that already exists should fail:  PASS
Attempt to create collection with no parent should fail:  PASS

*** Testing Delete
Attempt to delete a non-existant resource should complain:  PASS

*** Testing Put /jdavis/foo.html
PUT of a new resource is possible:  PASS
The media type used in PUT's Content-Type is returned by a PROPFIND:  PASS

*** Testing Get
Mime type in Header of GET is same as that provided by PUT:  PASS
Number of bytes returned by GET is same as the number PUT:  PASS

*** Testing Head
HEAD header for content-type has same value as GET header:  PASS
HEAD header for content-length has same value as GET header:  PASS

*** Testing Properties
The DAV:getcontenttype property is the same as that in the GET header:  PASS
The getcontentlength property is the same as the value in the GET header:  PASS
PROPPATCH of dead property (http://parc.xerox.com/standards/burlap/foo) is
possible:  PASS
PROPFIND retrieves same value : PASS

*** Getting all properties of /jdavis/foo.html
<?xml version="1.0"?>
<A:multistatus xmlns:A="DAV:">
  <A:response>
    <A:href>http://dav.ics.uci.edu/jdavis/foo.html</A:href>
    <A:propstat>
      <A:status>HTTP/1.1 200 OK</A:status>
      <A:prop>
        <B:foo xmlns:B="http://parc.xerox.com/standards/burlap/">fish</B:foo>
        <A:getcontentlength c:dt="int">51</A:getcontentlength>
        <A:creationdate
c:dt="dateTime.tz">1999-11-15T10:04:22.753Z</A:creationdate>
        <A:displayname>foo.html</A:displayname>
        <A:getetag>"b0977b2542fbf1:c91"</A:getetag>
        <A:getlastmodified c:dt="dateTime.rfc1123">Mon, 15 Nov 1999
10:32:20 GMT</A:getlastmodified>
        <A:resourcetype/>
        <A:lockdiscovery/>
        <A:supportedlock>
          <A:lockentry>
            <A:write/>
            <A:shared/>
          </A:lockentry>
          <A:lockentry>
            <A:write/>
            <A:exclusive/>
          </A:lockentry>
        </A:supportedlock>
        <A:ishidden c:dt="boolean">0</A:ishidden>
        <A:iscollection c:dt="boolean">0</A:iscollection>
        <A:getcontenttype>text/plain</A:getcontenttype>
      </A:prop>
    </A:propstat>
  </A:response>
</A:multistatus>
<A:foo xmlns:A="http://parc.xerox.com/standards/burlap/">fish</A:foo>
<A:getcontentlength xmlns:A="DAV:" c:dt="int">51</A:getcontentlength>
<A:creationdate xmlns:A="DAV:"
c:dt="dateTime.tz">1999-11-15T10:04:22.753Z</A:creationdate>
<A:displayname xmlns:A="DAV:">foo.html</A:displayname>
<A:getetag xmlns:A="DAV:">"b0977b2542fbf1:c91"</A:getetag>
<A:getlastmodified xmlns:A="DAV:" c:dt="dateTime.rfc1123">Mon, 15 Nov 1999
10:32:20 GMT</A:getlastmodified>
<A:resourcetype xmlns:A="DAV:"/>
<A:lockdiscovery xmlns:A="DAV:"/>
<A:supportedlock
xmlns:A="DAV:"><A:lockentry><A:write/><A:shared/></A:lockentry><A:lockentry>
<A:write/><A:exclusive/></A:lockentry></A:supportedlock>
<A:ishidden xmlns:A="DAV:" c:dt="boolean">0</A:ishidden>
<A:iscollection xmlns:A="DAV:" c:dt="boolean">0</A:iscollection>
<A:getcontenttype xmlns:A="DAV:">text/plain</A:getcontenttype>

Attempt to PROPPATCH a readonly property (DAV:creationdate) should fail  PASS
A property may be set to an empty value:  PASS
A property may have an xml:lang attribute PASS
The xml:lang attribute is returned by PROPFIND FAIL xml:lang attribute not
returned in property value
<?xml version="1.0"?>
<A:response xmlns:A="DAV:">
  <A:href>http://dav.ics.uci.edu/jdavis/foo.html</A:href>
  <A:propstat>
    <A:status>HTTP/1.1 200 OK</A:status>
    <A:prop>
      <B:author xmlns:B="http://example.com/">h van der kaas</B:author>
    </A:prop>
  </A:propstat>
</A:response>

The Dead properties of a resource are deleted with the resource:  PASS

*** Testing locking
Can lock /jdavis/foo.html (exclusive write lock, no timeout) PASS: (token:
opaquelocktoken:DBE33E94-9ADC-11D3-B82A-00105A989226:214748364857)
Lock discovery property returns same token as Lock did:  PASS
Lock prevents PROPPATCH from adding a property:  PASS
PROPPATCH on locked resource using tagged-list production:  PASS
PROPPATCH on locked resource using no-tag-list production:  PASS
lock prevents PROPPATCH from deleting a property:  PASS
PropPatch deletion allowed using no-tag-list production:  PASS
Can't PUT to a locked resource without token:  PASS
Can PUT to locked resource with token:  PASS
Can't LOCK a locked resourc:  PASS
Can UNLOCK a resource:  PASS
Server does something reasonable with unsupported timeouts:  PASS: locked
/jdavis/foo.html with Second-180
It is possible to lock a collection (/jdavis/):  FAIL, Forbidden
A severe error or problem occurred:
Could not lock /jdavis/
Testing can't continue
Last error entity
<body><h2>HTTP/1.1 403 Forbidden</h2><br><h3>LOCKing a collection is not
allowed</h3></body>
1 error(s)
bash.exe-2.02$

---

From: Greg Stein <[email-masked]>
Date: Mon, 15 Nov 1999 03:09:02 -0800 (PST)

On Mon, 15 Nov 1999, Jim Davis wrote:
>...

The lockentry elements are incorrect. There should be lockscope and
locktype elements in there.

Cheers,
-g

--
Greg Stein, http://www.lyra.org/