diff --git a/src/registrar/tests/common.py b/src/registrar/tests/common.py index 7a98f224d..1257abe29 100644 --- a/src/registrar/tests/common.py +++ b/src/registrar/tests/common.py @@ -647,6 +647,25 @@ class MockEppLib(TestCase): registrant="regContact", ) + InfoDomainWithDefaultSecurityContact = fakedEppObject( + "fakepw", + cr_date=datetime.datetime(2023, 5, 25, 19, 45, 35), + contacts=[ + common.DomainContact( + contact="defaultSec", + type=PublicContact.ContactTypeChoices.SECURITY, + ) + ], + hosts=["fake.host.com"], + statuses=[ + common.Status(state="serverTransferProhibited", description="", lang="en"), + common.Status(state="inactive", description="", lang="en"), + ], + ) + + mockDefaultSecurityContact = InfoDomainWithContacts.dummyInfoContactResultData( + "defaultSec", "dotgov@cisa.dhs.gov" + ) mockSecurityContact = InfoDomainWithContacts.dummyInfoContactResultData( "securityContact", "security@mail.gov" ) @@ -681,6 +700,8 @@ class MockEppLib(TestCase): return MagicMock(res_data=[self.infoDomainNoContact]) elif getattr(_request, "name", None) == "freeman.gov": return MagicMock(res_data=[self.InfoDomainWithContacts]) + elif getattr(_request, "name", None) == "defaultsecurity.gov": + return MagicMock(res_data=[self.InfoDomainWithDefaultSecurityContact]) else: return MagicMock(res_data=[self.mockDataInfoDomain]) elif isinstance(_request, commands.InfoContact): @@ -696,6 +717,8 @@ class MockEppLib(TestCase): mocked_result = self.mockAdministrativeContact case "regContact": mocked_result = self.mockRegistrantContact + case "defaultSec": + mocked_result = self.mockDefaultSecurityContact case _: # Default contact return mocked_result = self.mockDataInfoContact diff --git a/src/registrar/tests/test_models_domain.py b/src/registrar/tests/test_models_domain.py index 51748fdfd..b61e3551e 100644 --- a/src/registrar/tests/test_models_domain.py +++ b/src/registrar/tests/test_models_domain.py @@ -705,7 +705,6 @@ class TestRegistrantContacts(MockEppLib): self.mockedSendFunction.assert_has_calls(expected_calls, any_order=True) self.assertEqual(PublicContact.objects.filter(domain=self.domain).count(), 1) - @skip("Dependent on #850") def test_not_disclosed_on_other_contacts(self): """ Scenario: Registrant creates a new domain with multiple contacts @@ -716,19 +715,19 @@ class TestRegistrantContacts(MockEppLib): on all fields except security """ # Generates a domain with four existing contacts - domain, _ = Domain.objects.get_or_create(name="igorville.gov") - # Adds default emails to all fields - domain.addAllDefaults() - # Security contact should be disclosed - domain.security_contact.email = "test123@mail.gov" - # TODO - uncomment below when #850 is merged - domain.registrant_contact = domain.get_default_registrant_contact() + domain, _ = Domain.objects.get_or_create(name="freeman.gov") expected_admin = domain.get_default_administrative_contact() expected_registrant = domain.get_default_registrant_contact() expected_security = domain.get_default_security_contact() + expected_security.email = "security@mail.gov" expected_tech = domain.get_default_technical_contact() + domain.administrative_contact = expected_admin + domain.registrant_contact = expected_registrant + domain.security_contact = expected_security + domain.technical_contact = expected_tech + contacts = [ expected_admin, expected_registrant, @@ -737,19 +736,14 @@ class TestRegistrantContacts(MockEppLib): ] for contact in contacts: - id = PublicContact.objects.get( - domain=self.domain, - contact_type=contact.contact_type_choice, - ).registry_id - contact.registry_id = id - + is_security = contact.contact_type == "security" expectedCreateCommand = self._convertPublicContactToEpp( - contact, disclose_email=False + contact, + disclose_email=is_security ) self.mockedSendFunction.assert_any_call(expectedCreateCommand, cleaned=True) - @skip("Dependent on #850") def test_not_disclosed_on_default_security_contact(self): """ Scenario: Registrant creates a new domain with no security email @@ -757,25 +751,21 @@ class TestRegistrantContacts(MockEppLib): Then Domain sends `commands.CreateContact` to the registry And the field `disclose` is set to false for DF.EMAIL """ + self.maxDiff = None + domain, _ = Domain.objects.get_or_create(name="defaultsecurity.gov") expectedSecContact = PublicContact.get_default_security() - expectedSecContact.domain = self.domain - self.domain.security_contact.email = "test123@mail.gov" + expectedSecContact.domain = domain + expectedSecContact.registry_id="defaultSec" + domain.security_contact = expectedSecContact - id = PublicContact.objects.get( - domain=self.domain, - contact_type=PublicContact.ContactTypeChoices.SECURITY, - ).registry_id - - expectedSecContact.registry_id = id expectedCreateCommand = self._convertPublicContactToEpp( - expectedSecContact, disclose_email=True + expectedSecContact, disclose_email=False ) self.mockedSendFunction.assert_any_call(expectedCreateCommand, cleaned=True) - # Confirm that we are getting a default object - self.assertEqual(self.domain.security_contact, expectedSecContact) + # Confirm that we are getting a default email + self.assertEqual(domain.security_contact.email, expectedSecContact.email) - @skip("Dependent on #850") def test_is_disclosed_on_security_contact(self): """ Scenario: Registrant creates a new domain with a security email @@ -784,22 +774,19 @@ class TestRegistrantContacts(MockEppLib): Then Domain sends `commands.CreateContact` to the registry And the field `disclose` is set to true for DF.EMAIL """ + domain, _ = Domain.objects.get_or_create(name="igorville.gov") expectedSecContact = PublicContact.get_default_security() - expectedSecContact.domain = self.domain + expectedSecContact.domain = domain + expectedSecContact.email = "123@mail.gov" + domain.security_contact = expectedSecContact - id = PublicContact.objects.get( - domain=self.domain, - contact_type=PublicContact.ContactTypeChoices.SECURITY, - ).registry_id - - expectedSecContact.registry_id = id expectedCreateCommand = self._convertPublicContactToEpp( - expectedSecContact, disclose_email=False + expectedSecContact, disclose_email=True ) self.mockedSendFunction.assert_any_call(expectedCreateCommand, cleaned=True) - # Confirm that we are getting a default object - self.assertEqual(self.domain.security_contact, expectedSecContact) + # Confirm that we are getting the desired email + self.assertEqual(domain.security_contact.email, expectedSecContact.email) @skip("not implemented yet") def test_update_is_unsuccessful(self):