[CalendarServer-changes] [336] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 31 07:46:39 PST 2006


Revision: 336
          http://trac.macosforge.org/projects/calendarserver/changeset/336
Author:   cdaboo at apple.com
Date:     2006-10-31 07:46:38 -0800 (Tue, 31 Oct 2006)

Log Message:
-----------
Tests for proxy authentication/authorization.

Added Paths:
-----------
    CalDAVTester/trunk/Resource/acls/21.xml
    CalDAVTester/trunk/scripts/tests/proxyauthz.xml

Added: CalDAVTester/trunk/Resource/acls/21.xml
===================================================================
--- CalDAVTester/trunk/Resource/acls/21.xml	                        (rev 0)
+++ CalDAVTester/trunk/Resource/acls/21.xml	2006-10-31 15:46:38 UTC (rev 336)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<D:acl xmlns:D="DAV:">
+	<D:ace>
+		<D:principal>
+			<D:href>$principal:</D:href>
+		</D:principal>
+		<D:deny>
+			<D:privilege><D:read/></D:privilege>
+		</D:deny>
+	</D:ace>
+</D:acl>

Added: CalDAVTester/trunk/scripts/tests/proxyauthz.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/proxyauthz.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests/proxyauthz.xml	2006-10-31 15:46:38 UTC (rev 336)
@@ -0,0 +1,299 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ DRI: Cyrus Daboo, cdaboo at apple.com
+ -->
+
+<caldavtest>
+	<description>Test proxy authorization on the server</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/3.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/acls/16.ics</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/20.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/acls/17.ics</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/21.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<ruri>$pathprefix2:/notvisibletouser01/hidden1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/acls/16.ics</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='Valid Proxy User' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>GET user01 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid1:</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid1:</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid1:</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid1:</value>
+				</header>
+				<ruri>$pathprefix2:/notvisibletouser01/hidden1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Wrong Proxy User' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>GET user01 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid3:</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid3:</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid3:</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/hidden1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>GET user02 resource</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid3:</value>
+				</header>
+				<ruri>$pathprefix2:/notvisibletouser01/hidden1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Invalid Proxy User' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Valid proxy without header</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>401</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Valid proxy proxying as another proxy</description>
+			<request user="proxy" pswd="proxy" print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>proxy2</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>401</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Regular user trying to proxy</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<header>
+					<name>X-Authorize-As</name>
+					<value>$userid2:</value>
+				</header>
+				<ruri>$pathprefix2:/visibletouser01/visible2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>401</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+		</request>
+	</end>
+	
+</caldavtest>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061031/299b65cf/attachment.html


More information about the calendarserver-changes mailing list