[Checkins] SVN: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/ More tests

Jürgen Kartnaller juergen at kartnaller.at
Sun Sep 3 12:47:07 EDT 2006


Log message for revision 69945:
  More tests

Changed:
  U   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/README.txt
  A   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/intids.txt
  A   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/pau.txt
  U   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/principals.txt
  A   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/site.txt
  U   z3c.sampledata/branches/jukart-features/src/z3c/sampledata/tests.py

-=-
Modified: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/README.txt
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/README.txt	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/README.txt	2006-09-03 16:47:06 UTC (rev 69945)
@@ -245,82 +245,6 @@
   - srichter
 
 
-BuiltIn sample generators
--------------------------
-
-To support functional tests some basic sample generators are already
-implemented.
-
-Site
-~~~~
-
-Creates a simple folder and makes it a site.
-
-  >>> from z3c.sampledata.generator.site import SampleSite
-  >>> component.provideUtility(SampleSite(),
-  ...                          ISampleDataPlugin,
-  ...                          'z3c.sampledata.site')
-  >>> manager = Manager('manager', '')
-  >>> manager.add('z3c.sampledata.site')
-  >>> from zope.app.folder.folder import Folder
-  >>> baseContext = Folder()
-  >>> infos = manager.generate(context=baseContext,
-  ...                          param={'z3c.sampledata.site':
-  ...                                      {'sitename':'test'}},
-  ...                          seed=None)
-  >>> [info.name for info in infos]
-  ['z3c.sampledata.site']
-  >>> 'test' in baseContext
-  True
-
-
-IntIds
-~~~~~~
-
-Creates an IntIds utility inside the site given as context.
-This generator depends on the creation of a site.
-
-  >>> from z3c.sampledata.generator.intids import SampleIntIds
-  >>> component.provideUtility(SampleIntIds(),
-  ...                          ISampleDataPlugin,
-  ...                          'z3c.sampledata.intids')
-  >>> manager.add('z3c.sampledata.intids',
-  ...             contextFrom='z3c.sampledata.site',
-  ...            )
-  >>> baseContext = Folder()
-  >>> infos = manager.generate(context=baseContext,
-  ...                          param={'z3c.sampledata.site':
-  ...                                      {'sitename':'intids'}},
-  ...                          seed=None)
-  >>> [info.name for info in infos]
-  ['z3c.sampledata.site', 'z3c.sampledata.intids']
-  >>> site = baseContext['intids']
-  >>> site.getSiteManager()['default']['intid']
-  <zope.app.intid.IntIds object at ...>
-
-
-Pluggable Authentication
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Creates a pluggable authentication uitility inside the site given as context.
-This generator depends on the creation of a site.
-
-  >>> from z3c.sampledata.generator.pau import SamplePau
-  >>> component.provideUtility(SamplePau(),
-  ...                          ISampleDataPlugin,
-  ...                          'z3c.sampledata.pau')
-  >>> manager = Manager('manager', '')
-  >>> manager.add('z3c.sampledata.site')
-  >>> manager.add('z3c.sampledata.pau',
-  ...             contextFrom='z3c.sampledata.site',
-  ...            )
-  >>> baseContext = Folder()
-  >>> infos = manager.generate(context=baseContext,
-  ...                          param={'z3c.sampledata.site':
-  ...                                      {'sitename':'pau'}},
-  ...                          seed=None)
-
-
 How to setup configuration for the generator manager
 ----------------------------------------------------
 

Added: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/intids.txt
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/intids.txt	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/intids.txt	2006-09-03 16:47:06 UTC (rev 69945)
@@ -0,0 +1,42 @@
+======================================
+iIntids Utility Sample Data Generation
+======================================
+
+This generator creates an IntIds utility.
+
+  >>> from z3c.sampledata.generator.intids import SampleIntIds
+  >>> generator = SampleIntIds()
+
+For the creation of the utility we need a site.
+To create our site we use the site generator.
+
+  >>> from pprint import pprint
+  >>> from zope import component
+  >>> from z3c.sampledata.interfaces import ISampleDataPlugin
+  >>> from z3c.sampledata import Manager
+  >>> from z3c.sampledata.generator.site import SampleSite
+  >>> component.provideUtility(SampleSite(),
+  ...                          ISampleDataPlugin,
+  ...                          'z3c.sampledata.site')
+  >>> manager = Manager('manager', '')
+  >>> manager.add('z3c.sampledata.site')
+  >>> from zope.app.folder.folder import Folder
+  >>> infos = manager.generate(context=root,
+  ...                          param={'z3c.sampledata.site':
+  ...                                      {'sitename':'test'}},
+  ...                          seed=None)
+  >>> root['test']
+  <zope.app.folder.folder.Folder object at ...>
+
+Now that everything is set up we can generate the intids utility-
+
+  >>> site = root['test']
+  >>> generator.generate(site)
+  <zope.app.intid.IntIds object at ...>
+  >>> 'intid' in site.getSiteManager()['default']
+  True
+  >>> from zope import component
+  >>> from zope.app.intid.interfaces import IIntIds
+  >>> component.getUtility(IIntIds)
+  <zope.app.intid.IntIds object at ...>
+


Property changes on: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/intids.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/pau.txt
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/pau.txt	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/pau.txt	2006-09-03 16:47:06 UTC (rev 69945)
@@ -0,0 +1,42 @@
+==========================
+PAU Sample Data Generation
+==========================
+
+This generator creates a pluggable authentication utility.
+
+  >>> from z3c.sampledata.generator.pau import SamplePau
+  >>> generator = SamplePau()
+
+For the creation of the utility we need a site.
+To create our site we use the site generator.
+
+  >>> from pprint import pprint
+  >>> from zope import component
+  >>> from z3c.sampledata.interfaces import ISampleDataPlugin
+  >>> from z3c.sampledata import Manager
+  >>> from z3c.sampledata.generator.site import SampleSite
+  >>> component.provideUtility(SampleSite(),
+  ...                          ISampleDataPlugin,
+  ...                          'z3c.sampledata.site')
+  >>> manager = Manager('manager', '')
+  >>> manager.add('z3c.sampledata.site')
+  >>> from zope.app.folder.folder import Folder
+  >>> infos = manager.generate(context=root,
+  ...                          param={'z3c.sampledata.site':
+  ...                                      {'sitename':'test'}},
+  ...                          seed=None)
+  >>> root['test']
+  <zope.app.folder.folder.Folder object at ...>
+
+Now that everything is set up we can generate the intids utility-
+
+  >>> site = root['test']
+  >>> generator.generate(site)
+  <zope.app.authentication.authentication.PluggableAuthentication object at ...>
+  >>> 'pau' in site.getSiteManager()['default']
+  True
+  >>> from zope import component
+  >>> from zope.app.security.interfaces import IAuthentication
+  >>> component.getUtility(IAuthentication)
+  <zope.app.authentication.authentication.PluggableAuthentication object at ...>
+


Property changes on: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/pau.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/principals.txt
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/principals.txt	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/principals.txt	2006-09-03 16:47:06 UTC (rev 69945)
@@ -2,37 +2,37 @@
 Principal Sample Data Generation
 ================================
 
-This gerator creates principals from a data source.
+This generator creates principals from a data source.
 
   >>> from z3c.sampledata.generator.principals import SamplePrincipals
   >>> generator = SamplePrincipals()
 
-Before we can use the generator we need to setup principal authentication.
+For the creation of principals we need a site configured with a principal
+authentican. To create our site we use the site generator.
 
-  >>> import zope.event
-  >>> from zope.lifecycleevent import ObjectCreatedEvent
-  >>> from zope.app.authentication.interfaces import IAuthenticatorPlugin
-  >>> from zope.app.security.interfaces import IAuthentication
-  >>> from zope.app.authentication.authentication import PluggableAuthentication
-  >>> from zope.app.authentication.principalfolder import PrincipalFolder
+  >>> from pprint import pprint
+  >>> from zope import component
+  >>> from z3c.sampledata.interfaces import ISampleDataPlugin
+  >>> from z3c.sampledata import Manager
+  >>> from z3c.sampledata.generator.site import SampleSite
+  >>> component.provideUtility(SampleSite(),
+  ...                          ISampleDataPlugin,
+  ...                          'z3c.sampledata.site')
+  >>> from z3c.sampledata.generator.pau import SamplePau
+  >>> component.provideUtility(SamplePau(),
+  ...                          ISampleDataPlugin,
+  ...                          'z3c.sampledata.pau')
+  >>> manager = Manager('manager', '')
+  >>> manager.add('z3c.sampledata.site')
+  >>> manager.add('z3c.sampledata.pau', contextFrom='z3c.sampledata.site')
+  >>> from zope.app.folder.folder import Folder
+  >>> infos = manager.generate(context=root,
+  ...                          param={'z3c.sampledata.site':
+  ...                                      {'sitename':'test'}},
+  ...                          seed=None)
+  >>> root['test']
+  <zope.app.folder.folder.Folder object at ...>
 
-  >>> sm = root.getSiteManager()
-  >>> default = sm['default']
-  >>> pau = PluggableAuthentication()
-  >>> zope.event.notify(ObjectCreatedEvent(pau))
-  >>> default['pau'] = pau
-  >>> sm.registerUtility(pau, IAuthentication)
-  >>> # we can do this always
-  >>> pau.credentialsPlugins = ('Session Credentials', )
-  >>> pfNames = (u'members',)
-  >>> pau.authenticatorPlugins = pfNames
-  >>> for name in pfNames:
-  ...     if name in pau:
-  ...         continue
-  ...     pf = PrincipalFolder(name +'.')
-  ...     default['pau'][name] = pf
-  ...     sm.registerUtility(pf, IAuthenticatorPlugin, name)
-
   >>> principalDataSource = [['batlogg','Jodok Batlogg','bJB'],
   ...                        ['jukart','Juergen Kartnaller','jJK'],
   ...                        ['dobee','Bernd Dorn','dBD'],
@@ -43,9 +43,12 @@
 Now that everything is set up we can generate the principals for the root
 object.
 
+  >>> testsite = root['test']
+  >>> pau = testsite.getSiteManager()['default']['pau']
+
 We can define a maximum number of users.
 
-  >>> p = generator.generate(root,
+  >>> p = generator.generate(testsite,
   ...                    param={'minPrincipals':-1,
   ...                           'maxPrincipals': 2,
   ...                           'pauLocation':'default/pau',
@@ -59,7 +62,7 @@
 
 With both parameter set to -1 all members from the datasource are generated.
 
-  >>> p = generator.generate(root,
+  >>> p = generator.generate(testsite,
   ...                    param={'minPrincipals':-1,
   ...                           'maxPrincipals':-1,
   ...                           'pauLocation':'default/pau',
@@ -68,14 +71,19 @@
   ...                   )
   >>> p == pau
   True
-  >>> principal = pau['members']['batlogg']
-  >>> principal.title
-  u'Jodok Batlogg'
+  >>> pprint(sorted([pau['members'][user[0]].title for user in
+  ...                                                  principalDataSource]))
+  [u'Bernd Dorn',
+   u'Jodok Batlogg',
+   u'Juergen Kartnaller',
+   u'Michael Breidenbruecker',
+   u'Oliver Ruhm',
+   u'Stephan Richter']
 
-We can define a minimum number of users.
+We can define a minimum number of users to create.
 
   >>> numMembers = len(pau['members'])
-  >>> p = generator.generate(root,
+  >>> p = generator.generate(testsite,
   ...                    param={'minPrincipals': 10,
   ...                           'maxPrincipals':-1,
   ...                           'pauLocation':'default/pau',
@@ -85,4 +93,21 @@
   True
   >>> len(pau['members']) == numMembers+10
   True
+  >>> pprint(sorted([user.title for user in pau['members'].values()]))
+  [u'Bernd Dorn',
+   u'Jodok Batlogg',
+   u'Juergen Kartnaller',
+   u'Michael Breidenbruecker',
+   u'Oliver Ruhm',
+   u'Stephan Richter',
+   u'name0',
+   u'name1',
+   u'name2',
+   u'name3',
+   u'name4',
+   u'name5',
+   u'name6',
+   u'name7',
+   u'name8',
+   u'name9']
 

Added: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/site.txt
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/site.txt	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/site.txt	2006-09-03 16:47:06 UTC (rev 69945)
@@ -0,0 +1,21 @@
+===========================
+Site Sample Data Generation
+===========================
+
+This generator creates a site.
+
+  >>> from z3c.sampledata.generator.site import SampleSite
+  >>> generator = SampleSite()
+
+  >>> site = generator.generate(root,
+  ...                    param={'sitename':'testsite'},
+  ...                   )
+  >>> site
+  <zope.app.folder.folder.Folder object at ...>
+  >>> root['testsite'] == site
+  True
+  >>> sm = site.getSiteManager()
+  >>> default = sm['default']
+  >>> default
+  <zope.app.component.site.SiteManagementFolder object at ...>
+


Property changes on: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/generator/site.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: z3c.sampledata/branches/jukart-features/src/z3c/sampledata/tests.py
===================================================================
--- z3c.sampledata/branches/jukart-features/src/z3c/sampledata/tests.py	2006-09-03 10:51:30 UTC (rev 69944)
+++ z3c.sampledata/branches/jukart-features/src/z3c/sampledata/tests.py	2006-09-03 16:47:06 UTC (rev 69945)
@@ -39,6 +39,18 @@
         DocFileSuite('README.txt',
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      ),
+        DocFileSuite('generator/site.txt',
+                     setUp=setUp, tearDown=tearDown,
+                     optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
+                     ),
+        DocFileSuite('generator/intids.txt',
+                     setUp=setUp, tearDown=tearDown,
+                     optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
+                     ),
+        DocFileSuite('generator/pau.txt',
+                     setUp=setUp, tearDown=tearDown,
+                     optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
+                     ),
         DocFileSuite('generator/principals.txt',
                      setUp=setUp, tearDown=tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,



More information about the Checkins mailing list