[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