Skip to content

Commit

Permalink
replace quota extender mocktests with real tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
jone committed Jan 8, 2015
1 parent cd71818 commit 5ea864d
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 26 deletions.
6 changes: 6 additions & 0 deletions ftw/quota/testing.py
@@ -1,4 +1,5 @@
from ftw.builder.testing import BUILDER_LAYER
from ftw.quota.interfaces import IQuotaSupport
from ftw.testing.layer import ComponentRegistryLayer
from plone.app.testing import IntegrationTesting
from plone.app.testing import login
Expand All @@ -7,7 +8,9 @@
from plone.app.testing import setRoles
from plone.app.testing import TEST_USER_ID
from plone.app.testing import TEST_USER_NAME
from Products.ATContentTypes.content.folder import ATFolder
from zope.configuration import xmlconfig
from zope.interface import classImplements


class ZCMLLayer(ComponentRegistryLayer):
Expand Down Expand Up @@ -35,6 +38,9 @@ def setUpZope(self, app, configurationContext):
xmlconfig.file('configure.zcml', ftw.quota,
context=configurationContext)

# let folders always have quotas enabled in tests.
classImplements(ATFolder, IQuotaSupport)

def setUpPloneSite(self, portal):
setRoles(portal, TEST_USER_ID, ['Manager'])
login(portal, TEST_USER_NAME)
Expand Down
8 changes: 1 addition & 7 deletions ftw/quota/tests/quota.txt
Expand Up @@ -11,12 +11,6 @@ Create a folder
>>> myid = folder.invokeFactory('Folder', 'qfolder')
>>> qfolder = folder[myid]
>>> IQuotaSupport.providedBy(qfolder)
False

Enable quota support

>>> alsoProvides(qfolder, IQuotaSupport)
>>> IQuotaSupport.providedBy(qfolder)
True

By default, the quota limit is set to 50MB and quota is enabled.
Expand Down Expand Up @@ -143,7 +137,7 @@ Space usage should remain the same.
>>> file1 = subfolder[myid]
>>> file1.processForm()
>>> schema.getField('usage').get(qfolder)
70
50
>>> dummy = transaction.savepoint() # needed for cutObjects
>>> cp_data = subfolder.manage_cutObjects(ids=[myid,])
>>> dummy = qfolder.manage_pasteObjects(cp_data)
Expand Down
33 changes: 14 additions & 19 deletions ftw/quota/tests/test_extender.py
@@ -1,32 +1,27 @@
from Products.Archetypes.interfaces import IBaseObject
from archetypes.schemaextender.field import ExtensionField
from ftw.quota.interfaces import IQuotaSupport
from ftw.quota.testing import ZCML_LAYER
from ftw.testing import MockTestCase
from ftw.builder import Builder
from ftw.builder import create
from ftw.quota.testing import FTW_QUOTA_INTEGRATION_TESTING
from unittest2 import TestCase
from zope.component import queryAdapter


class TestQuotaExtender(MockTestCase):

layer = ZCML_LAYER
class TestQuotaExtender(TestCase):
layer = FTW_QUOTA_INTEGRATION_TESTING

def test_adapts_IQuotaSupport_only(self):
obj = self.providing_stub([IBaseObject])
self.replay()
adapter = queryAdapter(obj, name="ftw.quota.extender.QuotaExtender")
self.assertEqual(adapter, None)
context = create(Builder('file'))
adapter = queryAdapter(context, name="ftw.quota.extender.QuotaExtender")
self.assertFalse(adapter)

def test_adapts_IQuotaSupport(self):
obj = self.providing_stub([IQuotaSupport])
self.replay()
adapter = queryAdapter(obj, name="ftw.quota.extender.QuotaExtender")
self.assertNotEqual(adapter, None)
context = create(Builder('folder'))
adapter = queryAdapter(context, name="ftw.quota.extender.QuotaExtender")
self.assertTrue(adapter)

def test_fields_are_extension_fields(self):
obj = self.providing_stub([IQuotaSupport])
self.replay()

adapter = queryAdapter(obj, name="ftw.quota.extender.QuotaExtender")
context = create(Builder('folder'))
adapter = queryAdapter(context, name="ftw.quota.extender.QuotaExtender")
fields = adapter.getFields()

for field in fields:
Expand Down

0 comments on commit 5ea864d

Please sign in to comment.