misc: don't create setting variables on get() (#42114)

This commit is contained in:
Frédéric Péters 2020-04-27 10:19:04 +02:00
parent 225e22747c
commit e063c29314
2 changed files with 13 additions and 9 deletions

View File

@ -108,17 +108,21 @@ def get_setting_variable(setting_name, label=None, service=None):
kwargs = {
'name': 'SETTING_' + setting_name,
'defaults': {
'auto': True,
}
}
if label:
kwargs['defaults']['label'] = force_text(label)
if service:
kwargs['service_type'] = ContentType.objects.get_for_model(service)
kwargs['service_pk'] = service.pk
else:
kwargs['service_type__isnull'] = True
kwargs['service_pk__isnull'] = True
variable, created = Variable.objects.get_or_create(**kwargs)
try:
variable = Variable.objects.get(**kwargs)
except Variable.DoesNotExist:
variable = Variable(
name='SETTING_' + setting_name,
label=label or '',
service=service,
auto=True)
return variable

View File

@ -28,17 +28,17 @@ def test_franceconnect(app, admin_user):
response = app.get('/franceconnect/')
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 5
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 0
assert Variable.objects.filter(name__startswith='SETTING_A2_FC_ENABLE', value='true').count() == 0
response = response.click('Enable')
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 5
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 0
assert Variable.objects.filter(name__startswith='SETTING_A2_FC_ENABLE', value='true').count() == 0
response = response.form.submit().follow()
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 5
assert Variable.objects.filter(name__startswith='SETTING_A2_FC').count() == 1
assert Variable.objects.filter(name__startswith='SETTING_A2_FC_ENABLE', value='true').count() == 1
response.form.set('platform', 'prod')