diff --git a/src/registrar/tests/common.py b/src/registrar/tests/common.py index 7a0d2ec59..5a3887f3b 100644 --- a/src/registrar/tests/common.py +++ b/src/registrar/tests/common.py @@ -634,6 +634,15 @@ class MockEppLib(TestCase): ], addrs=["1.2.3.4", "2.3.4.5"], ) + infoDomainCheckHostIPCombo = fakedEppObject( + "nameserversubdomain.gov", + cr_date=datetime.datetime(2023, 5, 25, 19, 45, 35), + contacts=[], + hosts=[ + "ns1.nameserversubdomain.gov", + "ns2.nameserversubdomain.gov", + ], + ) # TODO-848: Fix naming extendedValues = False @@ -650,6 +659,8 @@ class MockEppLib(TestCase): return MagicMock(res_data=[self.infoDomainNoHost]) elif getattr(_request, "name", None) == "nameserverwithip.gov": return MagicMock(res_data=[self.infoDomainHasIP]) + elif getattr(_request, "name", None) == "namerserversubdomain.gov": + return MagicMock(res_data=[self.infoDomainCheckHostIPCombo]) # elif getattr(_request, "name", None) == "failednameserver.gov": # return MagicMock(res_data=[self.infoDomainUpdateFail]) return MagicMock(res_data=[self.mockDataInfoDomain]) diff --git a/src/registrar/tests/test_models_domain.py b/src/registrar/tests/test_models_domain.py index 701f9e081..c0eac751d 100644 --- a/src/registrar/tests/test_models_domain.py +++ b/src/registrar/tests/test_models_domain.py @@ -1134,6 +1134,40 @@ class TestRegistrantNameservers(MockEppLib): self.mockedSendFunction.assert_has_calls(expectedCalls, any_order=True) self.assertEqual(self.mockedSendFunction.call_count, 4) + def test_is_subdomain_with_no_ip(self): + domain, _ = Domain.objects.get_or_create( + name="nameserversubdomain.gov", state=Domain.State.READY + ) + + with self.assertRaises(ValueError): + domain.nameservers = [ + ("ns1.nameserversubdomain.gov",), + ("ns2.nameserversubdomain.gov",), + ] + + @skip("not implemented yet") + def test_not_subdomain_but_has_ip(self): + # TO FIX - Logic + # domain, _ = Domain.objects.get_or_create( + # name="nameserversubdomain.gov", state=Domain.State.READY + # ) + + # with self.assertRaises(ValueError): + # domain.nameservers = [("ns1.cats-da-best.gov", ["1.2.3.4"]), + # ("ns2.cats-da-best.gov", ["2.3.4.5"]),] + raise + + def test_is_subdomain_but_ip_addr_not_valid(self): + domain, _ = Domain.objects.get_or_create( + name="nameserversubdomain.gov", state=Domain.State.READY + ) + + with self.assertRaises(ValueError): + domain.nameservers = [ + ("ns1.nameserversubdomain.gov", ["1.2.3"]), + ("ns2.nameserversubdomain.gov", ["2.3.4"]), + ] + @skip("not implemented yet") def test_caching_issue(self): raise