mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-12 05:58:18 +02:00
Address feedback from Neil
This commit is contained in:
parent
f704fe7184
commit
71826a7a7a
3 changed files with 74 additions and 17 deletions
|
@ -294,11 +294,12 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
return newDict
|
return newDict
|
||||||
|
|
||||||
def isSubdomain(self, nameserver):
|
def isSubdomain(self, nameserver):
|
||||||
return nameserver.find(self.name) != -1
|
return self.name in nameserver
|
||||||
|
|
||||||
def checkHostIPCombo(self, nameserver: str, ip: list):
|
def checkHostIPCombo(self, nameserver: str, ip: list):
|
||||||
if self.isSubdomain(nameserver) and (ip is None or ip == []):
|
if self.isSubdomain(nameserver) and (ip is None or ip == []):
|
||||||
raise ValueError("Nameserver %s needs to have an ip address" % nameserver)
|
raise ValueError("Nameserver %s needs to have an "
|
||||||
|
"ip address because it is a subdomain" % nameserver)
|
||||||
elif not self.isSubdomain(nameserver) and (ip is not None and ip != []):
|
elif not self.isSubdomain(nameserver) and (ip is not None and ip != []):
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Nameserver %s cannot be linked "
|
"Nameserver %s cannot be linked "
|
||||||
|
@ -306,15 +307,15 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
)
|
)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def getNameserverChanges(self, hosts: list[tuple[str]]):
|
def getNameserverChanges(self, hosts: list[tuple[str]]) -> tuple[list, list, dict, list]:
|
||||||
"""
|
"""
|
||||||
calls self.nameserver, it should pull from cache but may result
|
calls self.nameserver, it should pull from cache but may result
|
||||||
in an epp call
|
in an epp call
|
||||||
returns tuple of four values as follows:
|
returns tuple of four values as follows:
|
||||||
deleted_values:
|
deleted_values: list
|
||||||
updated_values:
|
updated_values: list
|
||||||
new_values: dict
|
new_values: dict
|
||||||
oldNameservers:"""
|
oldNameservers: list"""
|
||||||
oldNameservers = self.nameservers
|
oldNameservers = self.nameservers
|
||||||
|
|
||||||
previousHostDict = self._convert_list_to_dict(oldNameservers)
|
previousHostDict = self._convert_list_to_dict(oldNameservers)
|
||||||
|
@ -417,7 +418,7 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
) = self.getNameserverChanges(hosts=hosts)
|
) = self.getNameserverChanges(hosts=hosts)
|
||||||
|
|
||||||
# TODO-848: Fix name here
|
# TODO-848: Fix name
|
||||||
successTotalNameservers = self._loop_through(
|
successTotalNameservers = self._loop_through(
|
||||||
deleted_values, updated_values, new_values, oldNameservers
|
deleted_values, updated_values, new_values, oldNameservers
|
||||||
)
|
)
|
||||||
|
@ -1103,9 +1104,9 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
and len(old_ip_list) != 0
|
and len(old_ip_list) != 0
|
||||||
):
|
):
|
||||||
return ErrorCode.COMMAND_COMPLETED_SUCCESSFULLY
|
return ErrorCode.COMMAND_COMPLETED_SUCCESSFULLY
|
||||||
|
|
||||||
added_ip_list = set(ip_list) - set(old_ip_list)
|
added_ip_list = set(ip_list).difference(old_ip_list)
|
||||||
removed_ip_list = set(old_ip_list) - set(ip_list)
|
removed_ip_list = set(old_ip_list).difference(ip_list)
|
||||||
|
|
||||||
request = commands.UpdateHost(
|
request = commands.UpdateHost(
|
||||||
name=nameserver,
|
name=nameserver,
|
||||||
|
|
|
@ -631,8 +631,10 @@ class MockEppLib(TestCase):
|
||||||
"ns2.nameserverwithip.gov",
|
"ns2.nameserverwithip.gov",
|
||||||
"ns3.nameserverwithip.gov",
|
"ns3.nameserverwithip.gov",
|
||||||
],
|
],
|
||||||
|
addrs=["1.2.3", "2.3.4"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# TODO-848: Fix naming
|
||||||
extendedValues = False
|
extendedValues = False
|
||||||
|
|
||||||
# TODO-848: Rename later - was getting complex err
|
# TODO-848: Rename later - was getting complex err
|
||||||
|
|
|
@ -544,15 +544,64 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
name="my-nameserver.gov", state=Domain.State.DNS_NEEDED
|
name="my-nameserver.gov", state=Domain.State.DNS_NEEDED
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_get_nameserver_changes(self):
|
def test_get_nameserver_changes_success_deleted_vals(self):
|
||||||
|
# Testing only deleting and no other changes
|
||||||
self.domain._cache["hosts"] = [
|
self.domain._cache["hosts"] = [
|
||||||
{"name": "ns1.example.com", "addrs": None},
|
{"name": "ns1.example.com", "addrs": None},
|
||||||
{"name": "ns2.example.com", "addrs": ["1.2.3"]},
|
{"name": "ns2.example.com", "addrs": ["1.2.3"]},
|
||||||
{"name": "ns3.my-nameserver.gov", "addrs": ["1.2.3"]},
|
|
||||||
]
|
]
|
||||||
newChanges = [
|
newChanges = [
|
||||||
("ns1.example.com",),
|
("ns1.example.com",),
|
||||||
|
]
|
||||||
|
(
|
||||||
|
deleted_values,
|
||||||
|
updated_values,
|
||||||
|
new_values,
|
||||||
|
oldNameservers,
|
||||||
|
) = self.domain.getNameserverChanges(newChanges)
|
||||||
|
|
||||||
|
self.assertEqual(deleted_values, [("ns2.example.com", ["1.2.3"])])
|
||||||
|
self.assertEqual(updated_values, [])
|
||||||
|
self.assertEqual(new_values, {})
|
||||||
|
self.assertEqual(
|
||||||
|
oldNameservers,
|
||||||
|
{
|
||||||
|
'ns1.example.com': None, 'ns2.example.com': ['1.2.3']
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_get_nameserver_changes_success_updated_vals(self):
|
||||||
|
# Testing only updating no other changes
|
||||||
|
self.domain._cache["hosts"] = [
|
||||||
|
{"name": "ns3.my-nameserver.gov", "addrs": ["1.2.3"]},
|
||||||
|
]
|
||||||
|
newChanges = [
|
||||||
("ns3.my-nameserver.gov", ["1.2.4"]),
|
("ns3.my-nameserver.gov", ["1.2.4"]),
|
||||||
|
]
|
||||||
|
(
|
||||||
|
deleted_values,
|
||||||
|
updated_values,
|
||||||
|
new_values,
|
||||||
|
oldNameservers,
|
||||||
|
) = self.domain.getNameserverChanges(newChanges)
|
||||||
|
|
||||||
|
self.assertEqual(deleted_values, [])
|
||||||
|
self.assertEqual(updated_values, [("ns3.my-nameserver.gov", ["1.2.4"])])
|
||||||
|
self.assertEqual(new_values, {})
|
||||||
|
self.assertEqual(
|
||||||
|
oldNameservers,
|
||||||
|
{
|
||||||
|
"ns3.my-nameserver.gov": ["1.2.3"]
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_get_nameserver_changes_success_new_vals(self):
|
||||||
|
# Testing only creating no other changes
|
||||||
|
self.domain._cache["hosts"] = [
|
||||||
|
{"name": "ns1.example.com", "addrs": None},
|
||||||
|
]
|
||||||
|
newChanges = [
|
||||||
|
("ns1.example.com",),
|
||||||
("ns4.example.com",),
|
("ns4.example.com",),
|
||||||
]
|
]
|
||||||
(
|
(
|
||||||
|
@ -561,15 +610,19 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
new_values,
|
new_values,
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
) = self.domain.getNameserverChanges(newChanges)
|
) = self.domain.getNameserverChanges(newChanges)
|
||||||
self.assertEqual(deleted_values, [("ns2.example.com", ["1.2.3"])])
|
|
||||||
self.assertEqual(updated_values, [("ns3.my-nameserver.gov", ["1.2.4"])])
|
|
||||||
|
print("deleted vals is ", deleted_values)
|
||||||
|
print("updated vals is ", updated_values)
|
||||||
|
print("new vals is ", new_values)
|
||||||
|
print("old nameserver is ", oldNameservers)
|
||||||
|
self.assertEqual(deleted_values, [])
|
||||||
|
self.assertEqual(updated_values, [])
|
||||||
self.assertEqual(new_values, {"ns4.example.com": None})
|
self.assertEqual(new_values, {"ns4.example.com": None})
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
{
|
{
|
||||||
"ns1.example.com": None,
|
"ns1.example.com": None,
|
||||||
"ns2.example.com": ["1.2.3"],
|
|
||||||
"ns3.my-nameserver.gov": ["1.2.3"],
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -601,7 +654,8 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
|
|
||||||
self.mockedSendFunction.assert_has_calls(expectedCalls)
|
self.mockedSendFunction.assert_has_calls(expectedCalls)
|
||||||
|
|
||||||
# check that status is still NOT READY
|
# check that status is still NOT READY
|
||||||
|
# as you have less than 2 nameservers
|
||||||
self.assertFalse(self.domain.is_active())
|
self.assertFalse(self.domain.is_active())
|
||||||
|
|
||||||
def test_user_adds_two_nameservers(self):
|
def test_user_adds_two_nameservers(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue