26 lines
874 B
Python
26 lines
874 B
Python
from unittest import mock
|
|
|
|
import pytest
|
|
from django.core.management import call_command
|
|
from django.core.management.base import CommandError
|
|
|
|
from passerelle.apps.base_adresse.models import BaseAdresse
|
|
|
|
|
|
def test_cron_frequencies(db):
|
|
for frequency in ('every5min', 'hourly', 'daily', 'weekly', 'monthly'):
|
|
call_command('cron', frequency)
|
|
with pytest.raises(CommandError):
|
|
call_command('cron', 'randomly')
|
|
|
|
|
|
def test_cron_error(db, caplog):
|
|
BaseAdresse.objects.create(slug='base-adresse')
|
|
excep = Exception('hello')
|
|
with mock.patch(
|
|
'passerelle.apps.base_adresse.models.AddressResource.hourly', new=mock.Mock(side_effect=excep)
|
|
):
|
|
with pytest.raises(CommandError):
|
|
call_command('cron', 'hourly')
|
|
assert caplog.records[0].message == 'connector "base-adresse.base-adresse" error running hourly job'
|