Stashed lint changes

This commit is contained in:
zandercymatics 2023-09-28 13:58:39 -06:00
parent 59b095beab
commit 2716654914
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
5 changed files with 48 additions and 50 deletions

View file

@ -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:

View file

@ -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(

View file

@ -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],

View file

@ -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)

View file

@ -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