mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Run exporters in repeatable read by default (Z#23173095) (#5500)
* Run exporters in repeatable read by default (Z#23173095) * Update src/pretix/helpers/database.py Co-authored-by: Richard Schreiber <schreiber@rami.io> * Rename parameter, add test * Do not run during tests --------- Co-authored-by: Richard Schreiber <schreiber@rami.io>
This commit is contained in:
@@ -64,6 +64,7 @@ from pretix.base.models.items import (
|
||||
from pretix.base.reldate import RelativeDate, RelativeDateWrapper
|
||||
from pretix.base.services.orders import OrderError, cancel_order, perform_order
|
||||
from pretix.base.services.quotas import QuotaAvailability
|
||||
from pretix.helpers import repeatable_reads_transaction
|
||||
from pretix.testutils.scope import classscope
|
||||
|
||||
|
||||
@@ -99,6 +100,29 @@ class BaseQuotaTestCase(TestCase):
|
||||
self.var3 = ItemVariation.objects.create(item=self.item3, value='Fancy')
|
||||
|
||||
|
||||
@pytest.mark.django_db(transaction=True)
|
||||
@scopes_disabled()
|
||||
def test_verify_repeatable_read_check():
|
||||
if 'sqlite' in settings.DATABASES['default']['ENGINE']:
|
||||
pytest.skip('Not supported on SQLite')
|
||||
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='tests.testdummy'
|
||||
)
|
||||
quota = Quota.objects.create(name="Test", size=2, event=event)
|
||||
|
||||
with repeatable_reads_transaction():
|
||||
with pytest.raises(ValueError):
|
||||
qa = QuotaAvailability(full_results=True)
|
||||
qa.queue(quota)
|
||||
qa.compute()
|
||||
qa = QuotaAvailability(full_results=True, allow_repeatable_read=True)
|
||||
qa.queue(quota)
|
||||
qa.compute()
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("fakeredis_client")
|
||||
class QuotaTestCase(BaseQuotaTestCase):
|
||||
@classscope(attr='o')
|
||||
|
||||
Reference in New Issue
Block a user