mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-16 01:27:03 +02:00
Stashed lint changes
This commit is contained in:
parent
59b095beab
commit
2716654914
5 changed files with 48 additions and 50 deletions
|
@ -12,7 +12,7 @@ from registrar.models.utility.admin_sort_fields import AdminSortFields
|
|||
from . import models
|
||||
from auditlog.models import LogEntry # type: ignore
|
||||
from auditlog.admin import LogEntryAdmin # type: ignore
|
||||
from django_fsm import TransitionNotAllowed # type: ignore
|
||||
from django_fsm import TransitionNotAllowed # type: ignore
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
@ -729,9 +729,9 @@ class DomainAdmin(ListHeaderAdmin):
|
|||
except RegistryError as err:
|
||||
# Human-readable mappings of ErrorCodes. Can be expanded.
|
||||
error_messages = {
|
||||
ErrorCode.OBJECT_STATUS_PROHIBITS_OPERATION:
|
||||
ErrorCode.OBJECT_STATUS_PROHIBITS_OPERATION:
|
||||
f"Cannot delete Domain when in status {obj.status}",
|
||||
ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION:
|
||||
ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION:
|
||||
"This subdomain is being used as a hostname on another domain"
|
||||
}
|
||||
|
||||
|
@ -739,12 +739,16 @@ class DomainAdmin(ListHeaderAdmin):
|
|||
if not err.is_connection_error():
|
||||
# If nothing is found, will default to returned err
|
||||
message = error_messages.get(err.code, err)
|
||||
self.message_user(request, f"Error deleting this Domain: {message}", messages.ERROR)
|
||||
except TransitionNotAllowed as err:
|
||||
self.message_user(
|
||||
request,
|
||||
f"Error deleting this Domain: {message}",
|
||||
messages.ERROR
|
||||
)
|
||||
except TransitionNotAllowed:
|
||||
if obj.state == Domain.State.DELETED:
|
||||
self.message_user(
|
||||
request,
|
||||
f"This domain is already deleted",
|
||||
"This domain is already deleted",
|
||||
messages.INFO,
|
||||
)
|
||||
else:
|
||||
|
|
|
@ -769,8 +769,6 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
|
||||
self.addAllDefaults()
|
||||
|
||||
|
||||
|
||||
def addAllDefaults(self):
|
||||
security_contact = self.get_default_security_contact()
|
||||
security_contact.save()
|
||||
|
@ -802,7 +800,9 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
self._remove_client_hold()
|
||||
# TODO -on the client hold ticket any additional error handling here
|
||||
|
||||
@transition(field="state", source=[State.ON_HOLD, State.DNS_NEEDED], target=State.DELETED)
|
||||
@transition(
|
||||
field="state", source=[State.ON_HOLD, State.DNS_NEEDED], target=State.DELETED
|
||||
)
|
||||
def deletedInEpp(self):
|
||||
"""Domain is deleted in epp but is saved in our database.
|
||||
Error handling should be provided by the caller."""
|
||||
|
@ -814,14 +814,10 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
logger.info("deletedInEpp()-> inside _delete_domain")
|
||||
self._delete_domain()
|
||||
except RegistryError as err:
|
||||
logger.error(
|
||||
f"Could not delete domain. Registry returned error: {err}"
|
||||
)
|
||||
logger.error(f"Could not delete domain. Registry returned error: {err}")
|
||||
raise err
|
||||
except TransitionNotAllowed as err:
|
||||
logger.error(
|
||||
"Could not delete domain. FSM failure: {err}"
|
||||
)
|
||||
logger.error("Could not delete domain. FSM failure: {err}")
|
||||
raise err
|
||||
except Exception as err:
|
||||
logger.error(
|
||||
|
|
|
@ -598,11 +598,7 @@ class DomainApplication(TimeStampedModel):
|
|||
"emails/domain_request_withdrawn.txt",
|
||||
"emails/domain_request_withdrawn_subject.txt",
|
||||
)
|
||||
|
||||
# TODO
|
||||
#def delete(self, *args, **kwargs):
|
||||
#super().delete(*args, **kwargs)
|
||||
|
||||
|
||||
@transition(
|
||||
field="status",
|
||||
source=[IN_REVIEW, APPROVED],
|
||||
|
|
|
@ -117,14 +117,14 @@ class TestDomainAdmin(MockEppLib):
|
|||
)
|
||||
request.user = self.client
|
||||
|
||||
with patch('django.contrib.messages.add_message') as mock_add_message:
|
||||
with patch("django.contrib.messages.add_message") as mock_add_message:
|
||||
self.admin.do_delete_domain(request, domain)
|
||||
mock_add_message.assert_called_once_with(
|
||||
request,
|
||||
messages.INFO,
|
||||
"Domain city.gov has been deleted. Thanks!",
|
||||
extra_tags='',
|
||||
fail_silently=False
|
||||
extra_tags="",
|
||||
fail_silently=False,
|
||||
)
|
||||
|
||||
self.assertEqual(domain.state, Domain.State.DELETED)
|
||||
|
@ -156,18 +156,19 @@ class TestDomainAdmin(MockEppLib):
|
|||
)
|
||||
request.user = self.client
|
||||
|
||||
with patch('django.contrib.messages.add_message') as mock_add_message:
|
||||
with patch("django.contrib.messages.add_message") as mock_add_message:
|
||||
self.admin.do_delete_domain(request, domain)
|
||||
mock_add_message.assert_called_once_with(
|
||||
request,
|
||||
messages.ERROR,
|
||||
"Error deleting this Domain: Can't switch from state 'ready' to 'deleted'",
|
||||
extra_tags='',
|
||||
fail_silently=False
|
||||
"Error deleting this Domain: "
|
||||
"Can't switch from state 'ready' to 'deleted'",
|
||||
extra_tags="",
|
||||
fail_silently=False,
|
||||
)
|
||||
|
||||
self.assertEqual(domain.state, Domain.State.READY)
|
||||
|
||||
|
||||
def test_analyst_deletes_domain_idempotent(self):
|
||||
"""
|
||||
Scenario: Analyst tries to delete an already deleted domain
|
||||
|
@ -199,14 +200,14 @@ class TestDomainAdmin(MockEppLib):
|
|||
request.user = self.client
|
||||
|
||||
# Delete it once
|
||||
with patch('django.contrib.messages.add_message') as mock_add_message:
|
||||
with patch("django.contrib.messages.add_message") as mock_add_message:
|
||||
self.admin.do_delete_domain(request, domain)
|
||||
mock_add_message.assert_called_once_with(
|
||||
request,
|
||||
messages.INFO,
|
||||
"Domain city.gov has been deleted. Thanks!",
|
||||
extra_tags='',
|
||||
fail_silently=False
|
||||
extra_tags="",
|
||||
fail_silently=False,
|
||||
)
|
||||
|
||||
self.assertEqual(domain.state, Domain.State.DELETED)
|
||||
|
@ -220,14 +221,14 @@ class TestDomainAdmin(MockEppLib):
|
|||
)
|
||||
request.user = self.client
|
||||
|
||||
with patch('django.contrib.messages.add_message') as mock_add_message:
|
||||
with patch("django.contrib.messages.add_message") as mock_add_message:
|
||||
self.admin.do_delete_domain(request, domain)
|
||||
mock_add_message.assert_called_once_with(
|
||||
request,
|
||||
messages.INFO,
|
||||
"This domain is already deleted",
|
||||
extra_tags='',
|
||||
fail_silently=False
|
||||
extra_tags="",
|
||||
fail_silently=False,
|
||||
)
|
||||
|
||||
self.assertEqual(domain.state, Domain.State.DELETED)
|
||||
|
|
|
@ -16,7 +16,7 @@ from registrar.models.draft_domain import DraftDomain
|
|||
from registrar.models.public_contact import PublicContact
|
||||
from registrar.models.user import User
|
||||
from .common import MockEppLib
|
||||
from django_fsm import TransitionNotAllowed # type: ignore
|
||||
from django_fsm import TransitionNotAllowed # type: ignore
|
||||
from epplibwrapper import (
|
||||
commands,
|
||||
common,
|
||||
|
@ -942,19 +942,20 @@ class TestAnalystLock(TestCase):
|
|||
|
||||
class TestAnalystDelete(MockEppLib):
|
||||
"""Rule: Analysts may delete a domain"""
|
||||
|
||||
def setUp(self):
|
||||
"""
|
||||
Background:
|
||||
Given the analyst is logged in
|
||||
And a domain exists in the registry
|
||||
"""
|
||||
super().setUp()
|
||||
self.domain, _ = Domain.objects.get_or_create(
|
||||
name="fake.gov", state=Domain.State.READY
|
||||
)
|
||||
self.domain_on_hold, _ = Domain.objects.get_or_create(
|
||||
name="fake-on-hold.gov", state=Domain.State.ON_HOLD
|
||||
)
|
||||
"""
|
||||
Background:
|
||||
Given the analyst is logged in
|
||||
And a domain exists in the registry
|
||||
"""
|
||||
super().setUp()
|
||||
self.domain, _ = Domain.objects.get_or_create(
|
||||
name="fake.gov", state=Domain.State.READY
|
||||
)
|
||||
self.domain_on_hold, _ = Domain.objects.get_or_create(
|
||||
name="fake-on-hold.gov", state=Domain.State.ON_HOLD
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
Domain.objects.all().delete()
|
||||
|
@ -995,7 +996,7 @@ class TestAnalystDelete(MockEppLib):
|
|||
"""
|
||||
# Desired domain
|
||||
domain, _ = Domain.objects.get_or_create(
|
||||
name="failDelete.gov", state=Domain.State.ON_HOLD
|
||||
name="failDelete.gov", state=Domain.State.ON_HOLD
|
||||
)
|
||||
# Put the domain in client hold
|
||||
domain.place_client_hold()
|
||||
|
@ -1004,7 +1005,7 @@ class TestAnalystDelete(MockEppLib):
|
|||
with self.assertRaises(RegistryError) as err:
|
||||
domain.deletedInEpp()
|
||||
self.assertTrue(
|
||||
err.is_client_error()
|
||||
err.is_client_error()
|
||||
and err.code == ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION
|
||||
)
|
||||
self.mockedSendFunction.assert_has_calls(
|
||||
|
@ -1034,7 +1035,7 @@ class TestAnalystDelete(MockEppLib):
|
|||
with self.assertRaises(TransitionNotAllowed) as err:
|
||||
self.domain.deletedInEpp()
|
||||
self.assertTrue(
|
||||
err.is_client_error()
|
||||
err.is_client_error()
|
||||
and err.code == ErrorCode.OBJECT_STATUS_PROHIBITS_OPERATION
|
||||
)
|
||||
# Domain should not be deleted
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue