mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-26 17:24:23 -04:00
Merge pull request #2944 from alphagov/allow-replace-revoked-key
Allow replacing a revoked key
This commit is contained in:
@@ -749,6 +749,7 @@ class CreateKeyForm(StripWhitespaceForm):
|
|||||||
def __init__(self, existing_keys, *args, **kwargs):
|
def __init__(self, existing_keys, *args, **kwargs):
|
||||||
self.existing_key_names = [
|
self.existing_key_names = [
|
||||||
key['name'].lower() for key in existing_keys
|
key['name'].lower() for key in existing_keys
|
||||||
|
if not key['expiry_date']
|
||||||
]
|
]
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
|||||||
@@ -4,17 +4,34 @@ from werkzeug.datastructures import MultiDict
|
|||||||
from app.main.forms import CreateKeyForm
|
from app.main.forms import CreateKeyForm
|
||||||
|
|
||||||
|
|
||||||
def test_return_validation_error_when_key_name_exists(client):
|
@pytest.mark.parametrize('expiry_date, expected_errors', (
|
||||||
|
(None, ['A key with this name already exists']),
|
||||||
|
('2001-01-01 01:01:01', None),
|
||||||
|
))
|
||||||
|
def test_return_validation_error_when_key_name_exists(
|
||||||
|
client,
|
||||||
|
expiry_date,
|
||||||
|
expected_errors,
|
||||||
|
):
|
||||||
_existing_keys = [
|
_existing_keys = [
|
||||||
{'name': 'some key'},
|
{
|
||||||
{'name': 'another key'},
|
'name': 'some key',
|
||||||
|
'expiry_date': expiry_date,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'another key',
|
||||||
|
'expiry_date': None,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
form = CreateKeyForm(_existing_keys,
|
form = CreateKeyForm(
|
||||||
formdata=MultiDict([('key_name', 'Some key')]))
|
_existing_keys,
|
||||||
|
formdata=MultiDict([('key_name', 'Some key')])
|
||||||
|
)
|
||||||
|
|
||||||
form.key_type.choices = [('a', 'a'), ('b', 'b')]
|
form.key_type.choices = [('a', 'a'), ('b', 'b')]
|
||||||
form.validate()
|
form.validate()
|
||||||
assert form.errors['key_name'] == ['A key with this name already exists']
|
assert form.errors.get('key_name') == expected_errors
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|||||||
Reference in New Issue
Block a user