Back to index

plone3  3.1.7
Public Member Functions | Public Attributes | Static Public Attributes
ATContentTypes.tests.test_criteria.TestATPathCriterion Class Reference
Inheritance diagram for ATContentTypes.tests.test_criteria.TestATPathCriterion:
Inheritance graph
[legend]
Collaboration diagram for ATContentTypes.tests.test_criteria.TestATPathCriterion:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def test_path_query
def test_path_criteria_can_be_removed
def afterSetUp
def createDummy
def test_000testsetup
def test_multipleCreateVariants
def test_typeInfo
def test_implements
def test_Z3implements

Public Attributes

 dummy

Static Public Attributes

 klass = ATPathCriterion
string title = 'Path Criterion'
string meta_type = 'ATPathCriterion'
string portal_type = 'ATPathCriterion'

Detailed Description

Definition at line 660 of file test_criteria.py.


Member Function Documentation

Reimplemented in ATContentTypes.tests.test_criteria.TestATRelativePathCriterion, and ATContentTypes.tests.test_criteria.TestATCurrentAuthorCriterion.

Definition at line 68 of file test_criteria.py.

00068 
00069     def afterSetUp(self):
00070         atcttestcase.ATCTSiteTestCase.afterSetUp(self)
00071         self.dummy = self.createDummy(self.klass)

def ATContentTypes.tests.test_criteria.CriteriaTest.createDummy (   self,
  klass,
  id = 'dummy' 
) [inherited]

Definition at line 72 of file test_criteria.py.

00072 
00073     def createDummy(self, klass, id='dummy'):
00074         folder = self.folder
00075         if klass is not None:
00076             dummy = klass(id, 'dummyfield')
00077             # put dummy in context of portal
00078             folder._setObject(id, dummy)
00079             dummy = getattr(folder, id)
00080             dummy.initializeArchetype()
00081         else:
00082             dummy = None
00083         return dummy

Here is the call graph for this function:

Definition at line 84 of file test_criteria.py.

00084 
00085     def test_000testsetup(self):
00086         if self.klass is not None:
00087             self.failUnless(self.klass)
00088             self.failUnless(self.portal_type)
00089             self.failUnless(self.title)
00090             self.failUnless(self.meta_type)
        

Definition at line 119 of file test_criteria.py.

00119 
00120     def test_implements(self):
00121         if self.dummy is not None:
00122             self.failIf(IReferenceable.isImplementedBy(self.dummy))
00123             self.failIf(IExtensibleMetadata.isImplementedBy(self.dummy))
00124             self.failIf(self.dummy.isReferenceable)
00125             self.failUnless(IBaseContent.isImplementedBy(self.dummy))
00126             self.failUnless(IATTopicCriterion.isImplementedBy(self.dummy))
00127             self.failUnless(verifyObject(IBaseContent, self.dummy))
00128             self.failUnless(verifyObject(IATTopicCriterion, self.dummy))

Definition at line 91 of file test_criteria.py.

00091 
00092     def test_multipleCreateVariants(self):
00093         klass = self.klass
00094         id = 'dummy'
00095         field = 'dummyfield'
00096         if klass is not None:
00097             dummy = klass(id, field)
00098             self.failUnless(dummy.getId(), id)
00099             self.failUnless(dummy.Field(), field)
00100 
00101             dummy = klass(id=id, field=field)
00102             self.failUnless(dummy.getId(), id)
00103             self.failUnless(dummy.Field(), field)
00104 
00105             dummy = klass(field, oid=id)
00106             self.failUnless(dummy.getId(), id)
00107             self.failUnless(dummy.Field(), field)
00108 
00109             dummy = klass(field=field, oid=id)
00110             self.failUnless(dummy.getId(), id)
00111             self.failUnless(dummy.Field(), field)

Definition at line 686 of file test_criteria.py.

00686 
00687     def test_path_criteria_can_be_removed(self):
00688         self.setRoles(['Manager', 'Member'])
00689         self.folder.invokeFactory('Topic', 'new_topic', title='New Topic')
00690         topic  = self.folder.new_topic
00691         # Add a path criterion
00692         path_crit = topic.addCriterion('path', 'ATPathCriterion')
00693         # Give it a reference
00694         path_crit.setValue([topic.UID()])
00695         # The error is masked when not in debug mode or as manager, though it
00696         # still has consequences
00697         from App.config import getConfiguration
00698         config = getConfiguration()
00699         orig_debug = config.debug_mode
00700         config.debug_mode = True
00701         self.setRoles(['Member'])
00702         # Delete the topic
00703         try:
00704             self.folder.manage_delObjects(['new_topic'])
00705         except AttributeError:
00706             config.debug_mode = orig_debug
00707             self.fail("Deleting a topic with path criteria raises an error!")
00708         config.debug_mode = orig_debug
00709 
00710 tests.append(TestATPathCriterion)

Here is the call graph for this function:

Definition at line 666 of file test_criteria.py.

00666 
00667     def test_path_query(self):
00668         # ensure that the path and recurse settings result in a proper query
00669         self.dummy.Schema()['field'].set(self.dummy,'path')
00670         self.folder.invokeFactory('Document', 'doc1')
00671         uid = self.folder.doc1.UID()
00672         self.dummy.setValue((uid,))
00673         self.dummy.setRecurse(True)
00674         items = self.dummy.getCriteriaItems()
00675         self.assertEquals(len(items),1)
00676         query = items[0][1]
00677         field = items[0][0]
00678         self.assertEquals(field, 'path')
00679         self.assertEquals(tuple(query['query']), ('/plone/Members/test_user_1_/doc1',))
00680         self.assertEquals(query['depth'], -1)
00681         self.dummy.setRecurse(False)
00682         items = self.dummy.getCriteriaItems()
00683         query = items[0][1]
00684         self.assertEquals(query['depth'], 1)

Reimplemented in ATContentTypes.tests.test_criteria.TestATBaseCriterion.

Definition at line 112 of file test_criteria.py.

00112 
00113     def test_typeInfo(self):
00114         if self.dummy is not None:
00115             ti = self.dummy.getTypeInfo()
00116             self.failUnlessEqual(ti.getId(), self.portal_type)
00117             self.failUnlessEqual(ti.Title(), self.title)
00118             self.failUnlessEqual(ti.Metatype(), self.meta_type)
        

Definition at line 129 of file test_criteria.py.

00129 
00130     def test_Z3implements(self):
00131         if self.dummy is not None:
00132             iface = Z3IATTopicCriterion
00133             self.failUnless(Z3verifyObject(iface, self.dummy))


Member Data Documentation

Definition at line 70 of file test_criteria.py.

Reimplemented from ATContentTypes.tests.test_criteria.CriteriaTest.

Definition at line 661 of file test_criteria.py.

Reimplemented from ATContentTypes.tests.test_criteria.CriteriaTest.

Definition at line 663 of file test_criteria.py.

Reimplemented from ATContentTypes.tests.test_criteria.CriteriaTest.

Definition at line 664 of file test_criteria.py.

Reimplemented from ATContentTypes.tests.test_criteria.CriteriaTest.

Definition at line 662 of file test_criteria.py.


The documentation for this class was generated from the following file: