[CalendarServer-changes] [7707] CalendarServer/trunk/contrib/performance/loadtest

source_changes at macosforge.org source_changes at macosforge.org
Tue Jul 5 09:54:26 PDT 2011


Revision: 7707
          http://trac.macosforge.org/projects/calendarserver/changeset/7707
Author:   exarkun at twistedmatrix.com
Date:     2011-07-05 09:54:26 -0700 (Tue, 05 Jul 2011)
Log Message:
-----------
Use user records instead of uid strings in more places

Modified Paths:
--------------
    CalendarServer/trunk/contrib/performance/loadtest/ical.py
    CalendarServer/trunk/contrib/performance/loadtest/population.py
    CalendarServer/trunk/contrib/performance/loadtest/profiles.py
    CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
    CalendarServer/trunk/contrib/performance/loadtest/test_profiles.py

Modified: CalendarServer/trunk/contrib/performance/loadtest/ical.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/ical.py	2011-07-05 16:28:01 UTC (rev 7706)
+++ CalendarServer/trunk/contrib/performance/loadtest/ical.py	2011-07-05 16:54:26 UTC (rev 7707)
@@ -171,11 +171,11 @@
 
     email = None
 
-    def __init__(self, reactor, root, user, auth, calendarHomePollInterval=None):
+    def __init__(self, reactor, root, record, auth, calendarHomePollInterval=None):
         self.reactor = reactor
         self.agent = AuthHandlerAgent(Agent(self.reactor), auth)
         self.root = root
-        self.user = user
+        self.record = record
 
         if calendarHomePollInterval is None:
             calendarHomePollInterval = self.CALENDAR_HOME_POLL_INTERVAL
@@ -206,7 +206,7 @@
         if headers is None:
             headers = Headers({})
         headers.setRawHeaders('User-Agent', [self.USER_AGENT])
-        msg(type="request", method=method, url=url, user=self.user)
+        msg(type="request", method=method, url=url, user=self.record.uid)
         d = self.agent.request(method, url, headers, body)
         before = self.reactor.seconds()
         def report(response):
@@ -222,7 +222,7 @@
             msg(
                 type="response", success=success, method=method,
                 headers=headers, body=body, code=response.code,
-                user=self.user, duration=(after - before), url=url)
+                user=self.record.uid, duration=(after - before), url=url)
 
             if success:
                 return response
@@ -460,7 +460,7 @@
     @inlineCallbacks
     def startup(self):
         # Orient ourselves, or something
-        principal = yield self._principalPropfind(self.user)
+        principal = yield self._principalPropfind(self.record.uid)
 
         hrefs = principal.getHrefProperties()
 
@@ -501,12 +501,12 @@
 
     def _newOperation(self, label, deferred):
         before = self.reactor.seconds()
-        msg(type="operation", phase="start", user=self.user, label=label)
+        msg(type="operation", phase="start", user=self.record.uid, label=label)
         def finished(passthrough):
             success = not isinstance(passthrough, Failure)
             after = self.reactor.seconds()
             msg(type="operation", phase="end", duration=after - before,
-                user=self.user, label=label, success=success)
+                user=self.record.uid, label=label, success=success)
             return passthrough
         deferred.addBoth(finished)
         return deferred
@@ -535,7 +535,7 @@
     def _makeSelfAttendee(self):
         attendee = ContentLine(
             name=u'ATTENDEE', params=[
-                [u'CN', self.user],
+                [u'CN', self.record.commonName],
                 [u'CUTYPE', u'INDIVIDUAL'],
                 [u'PARTSTAT', u'ACCEPTED'],
                 ],
@@ -548,7 +548,7 @@
     def _makeSelfOrganizer(self):
         organizer = ContentLine(
             name=u'ORGANIZER', params=[
-                [u'CN', self.user],
+                [u'CN', self.record.commonName],
                 ],
             value=self.uuid,
             encoded=True)
@@ -721,7 +721,7 @@
             are user UUIDs (those requested) and values are something else.
         """
         outbox = self.root + 'calendars/__uids__/%s/outbox/' % (
-            self.user.encode('utf-8'),)
+            self.record.uid.encode('utf-8'),)
 
         if mask:
             maskStr = u'\r\n'.join(['X-CALENDARSERVER-MASK-UID:' + uid
@@ -812,7 +812,11 @@
 
     addObserver(RequestLogger().observe)
 
-    client = SnowLeopard(reactor, 'http://127.0.0.1:8008/', 'user01', auth)
+    client = SnowLeopard(
+        reactor, 'http://127.0.0.1:8008/', 
+        _DirectoryRecord(
+            u'user01', u'user01', u'User 01', u'user01 at example.org'),
+        auth)
     d = client.run()
     d.addErrback(err, "Snow Leopard client run() problem")
     d.addCallback(lambda ignored: reactor.stop())

Modified: CalendarServer/trunk/contrib/performance/loadtest/population.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/population.py	2011-07-05 16:28:01 UTC (rev 7706)
+++ CalendarServer/trunk/contrib/performance/loadtest/population.py	2011-07-05 16:54:26 UTC (rev 7707)
@@ -176,7 +176,7 @@
             clientType = self._pop.next()
             reactor = loggedReactor(self.reactor)
             client = clientType.clientType(
-                reactor, self.server, user, auth)
+                reactor, self.server, self.getUserRecord(number), auth)
             d = client.run()
             d.addErrback(self._clientFailure, reactor)
 

Modified: CalendarServer/trunk/contrib/performance/loadtest/profiles.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/profiles.py	2011-07-05 16:28:01 UTC (rev 7706)
+++ CalendarServer/trunk/contrib/performance/loadtest/profiles.py	2011-07-05 16:54:26 UTC (rev 7707)
@@ -90,13 +90,13 @@
 
         before = self._reactor.seconds()
         msg(type="operation", phase="start",
-            user=self._client.user, label=label, lag=lag)
+            user=self._client.record.uid, label=label, lag=lag)
 
         def finished(passthrough):
             success = not isinstance(passthrough, Failure)
             after = self._reactor.seconds()
             msg(type="operation", phase="end", duration=after - before,
-                user=self._client.user, label=label, success=success)
+                user=self._client.record.uid, label=label, success=success)
             return passthrough
         deferred.addBoth(finished)
         return deferred

Modified: CalendarServer/trunk/contrib/performance/loadtest/test_ical.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/test_ical.py	2011-07-05 16:28:01 UTC (rev 7706)
+++ CalendarServer/trunk/contrib/performance/loadtest/test_ical.py	2011-07-05 16:54:26 UTC (rev 7707)
@@ -35,6 +35,7 @@
 from protocol.caldav.definitions import csxml
 
 from loadtest.ical import XMPPPush, Event, Calendar, SnowLeopard
+from loadtest.sim import _DirectoryRecord
 from httpclient import MemoryConsumer, StringProducer
 
 EVENT_UID = 'D94F247D-7433-43AF-B84B-ADD684D023B0'
@@ -831,8 +832,9 @@
     Mixin for L{TestCase}s for L{SnowLeopard}.
     """
     def setUp(self):
-        self.user = "user91"
-        self.client = SnowLeopard(None, "http://127.0.0.1/", self.user, None)
+        self.record = _DirectoryRecord(
+            u"user91", u"user91", u"User 91", u"user91 at example.org")
+        self.client = SnowLeopard(None, "http://127.0.0.1/", self.record, None)
 
 
     def interceptRequests(self):
@@ -1205,7 +1207,7 @@
         self.assertEqual(OK, expectedResponseCode)
         self.assertEqual('POST', method)
         self.assertEqual(
-            'http://127.0.0.1/calendars/__uids__/%s/outbox/' % (self.user,),
+            'http://127.0.0.1/calendars/__uids__/%s/outbox/' % (self.record.uid,),
             url)
 
         self.assertEqual(headers.getRawHeaders('originator'), ['mailto:user01 at example.com'])

Modified: CalendarServer/trunk/contrib/performance/loadtest/test_profiles.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/test_profiles.py	2011-07-05 16:28:01 UTC (rev 7706)
+++ CalendarServer/trunk/contrib/performance/loadtest/test_profiles.py	2011-07-05 16:54:26 UTC (rev 7707)
@@ -32,6 +32,7 @@
 from loadtest.profiles import Eventer, Inviter, Accepter
 from loadtest.population import Populator, CalendarClientSimulator
 from loadtest.ical import IncorrectResponseCode, Calendar, Event, BaseClient
+from loadtest.sim import _DirectoryRecord
 
 SIMPLE_EVENT = """\
 BEGIN:VCALENDAR
@@ -197,7 +198,9 @@
     def __init__(self, number):
         self._events = {}
         self._calendars = {}
-        self.user = u"user%02d" % (number,)
+        self.record = _DirectoryRecord(
+            u"user%02d" % (number,), u"user%02d" % (number,),
+            u"User %02d" % (number,), u"user%02d at example.org" % (number,))
         self.email = u"mailto:user%02d at example.com" % (number,)
         self.rescheduled = set()
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110705/8c8f7aa8/attachment-0001.html>


More information about the calendarserver-changes mailing list