mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-21 10:16:13 +02:00
Refactor _update_delete_create_hosts function
This commit is contained in:
parent
1cd4893b54
commit
095f7ca56f
2 changed files with 44 additions and 14 deletions
|
@ -352,16 +352,17 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
|
|
||||||
return (deleted_values, updated_values, new_values, previousHostDict)
|
return (deleted_values, updated_values, new_values, previousHostDict)
|
||||||
|
|
||||||
def _update_delete_create_hosts(
|
def _deleted_host_values(self, deleted_values) -> int:
|
||||||
self, deleted_values, updated_values, new_values, oldNameservers
|
|
||||||
):
|
|
||||||
successDeletedCount = 0
|
successDeletedCount = 0
|
||||||
successCreatedCount = 0
|
|
||||||
for hostTuple in deleted_values:
|
for hostTuple in deleted_values:
|
||||||
deleted_response_code = self._delete_host(hostTuple[0])
|
deleted_response_code = self._delete_host(hostTuple[0])
|
||||||
if deleted_response_code == ErrorCode.COMMAND_COMPLETED_SUCCESSFULLY:
|
if deleted_response_code == ErrorCode.COMMAND_COMPLETED_SUCCESSFULLY:
|
||||||
successDeletedCount += 1
|
successDeletedCount += 1
|
||||||
|
|
||||||
|
return successDeletedCount
|
||||||
|
|
||||||
|
def _update_host_values(self, updated_values, oldNameservers):
|
||||||
for hostTuple in updated_values:
|
for hostTuple in updated_values:
|
||||||
updated_response_code = self._update_host(
|
updated_response_code = self._update_host(
|
||||||
hostTuple[0], hostTuple[1], oldNameservers.get(hostTuple[0])
|
hostTuple[0], hostTuple[1], oldNameservers.get(hostTuple[0])
|
||||||
|
@ -375,6 +376,8 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
% (hostTuple[0], updated_response_code)
|
% (hostTuple[0], updated_response_code)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _new_host_values(self, new_values) -> int:
|
||||||
|
successCreatedCount = 0
|
||||||
for key, value in new_values.items():
|
for key, value in new_values.items():
|
||||||
createdCode = self._create_host(
|
createdCode = self._create_host(
|
||||||
host=key, addrs=value
|
host=key, addrs=value
|
||||||
|
@ -394,7 +397,24 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
"Error adding nameserver, code was %s error was %s"
|
"Error adding nameserver, code was %s error was %s"
|
||||||
% (e.code, e)
|
% (e.code, e)
|
||||||
)
|
)
|
||||||
return len(oldNameservers) - successDeletedCount + successCreatedCount
|
return successCreatedCount
|
||||||
|
|
||||||
|
# def _update_delete_create_hosts(
|
||||||
|
# self, deleted_values, updated_values, new_values, oldNameservers
|
||||||
|
# ):
|
||||||
|
|
||||||
|
# for hostTuple in updated_values:
|
||||||
|
# updated_response_code = self._update_host(
|
||||||
|
# hostTuple[0], hostTuple[1], oldNameservers.get(hostTuple[0])
|
||||||
|
# )
|
||||||
|
# if updated_response_code not in [
|
||||||
|
# ErrorCode.COMMAND_COMPLETED_SUCCESSFULLY,
|
||||||
|
# ErrorCode.OBJECT_EXISTS,
|
||||||
|
# ]:
|
||||||
|
# logger.warning(
|
||||||
|
# "Could not update host %s. Error code was: %s "
|
||||||
|
# % (hostTuple[0], updated_response_code)
|
||||||
|
# )
|
||||||
|
|
||||||
@nameservers.setter # type: ignore
|
@nameservers.setter # type: ignore
|
||||||
def nameservers(self, hosts: list[tuple[str, list]]):
|
def nameservers(self, hosts: list[tuple[str, list]]):
|
||||||
|
@ -417,10 +437,20 @@ class Domain(TimeStampedModel, DomainHelper):
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
) = self.getNameserverChanges(hosts=hosts)
|
) = self.getNameserverChanges(hosts=hosts)
|
||||||
|
|
||||||
successTotalNameservers = self._update_delete_create_hosts(
|
successDeletedCount = self._deleted_host_values(deleted_values) # returns value
|
||||||
deleted_values, updated_values, new_values, oldNameservers
|
_ = self._update_host_values(
|
||||||
|
updated_values, oldNameservers
|
||||||
|
) # returns nothing, just need to be run and errors
|
||||||
|
successCreatedCount = self._new_host_values(new_values)
|
||||||
|
|
||||||
|
successTotalNameservers = (
|
||||||
|
len(oldNameservers) - successDeletedCount + successCreatedCount
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# successTotalNameservers = self._update_delete_create_hosts(
|
||||||
|
# deleted_values, updated_values, new_values, oldNameservers
|
||||||
|
# )
|
||||||
|
|
||||||
if successTotalNameservers < 2:
|
if successTotalNameservers < 2:
|
||||||
try:
|
try:
|
||||||
print("DNS_NEEDED: We have less than 2 nameservers")
|
print("DNS_NEEDED: We have less than 2 nameservers")
|
||||||
|
|
|
@ -663,7 +663,7 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
# Testing only deleting and no other changes
|
# 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.4"]},
|
||||||
]
|
]
|
||||||
newChanges = [
|
newChanges = [
|
||||||
("ns1.example.com",),
|
("ns1.example.com",),
|
||||||
|
@ -675,21 +675,21 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
) = self.domain.getNameserverChanges(newChanges)
|
) = self.domain.getNameserverChanges(newChanges)
|
||||||
|
|
||||||
self.assertEqual(deleted_values, [("ns2.example.com", ["1.2.3"])])
|
self.assertEqual(deleted_values, [("ns2.example.com", ["1.2.3.4"])])
|
||||||
self.assertEqual(updated_values, [])
|
self.assertEqual(updated_values, [])
|
||||||
self.assertEqual(new_values, {})
|
self.assertEqual(new_values, {})
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
{"ns1.example.com": None, "ns2.example.com": ["1.2.3"]},
|
{"ns1.example.com": None, "ns2.example.com": ["1.2.3.4"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_get_nameserver_changes_success_updated_vals(self):
|
def test_get_nameserver_changes_success_updated_vals(self):
|
||||||
# Testing only updating no other changes
|
# Testing only updating no other changes
|
||||||
self.domain._cache["hosts"] = [
|
self.domain._cache["hosts"] = [
|
||||||
{"name": "ns3.my-nameserver.gov", "addrs": ["1.2.3"]},
|
{"name": "ns3.my-nameserver.gov", "addrs": ["1.2.3.4"]},
|
||||||
]
|
]
|
||||||
newChanges = [
|
newChanges = [
|
||||||
("ns3.my-nameserver.gov", ["1.2.4"]),
|
("ns3.my-nameserver.gov", ["1.2.4.5"]),
|
||||||
]
|
]
|
||||||
(
|
(
|
||||||
deleted_values,
|
deleted_values,
|
||||||
|
@ -699,11 +699,11 @@ class TestRegistrantNameservers(MockEppLib):
|
||||||
) = self.domain.getNameserverChanges(newChanges)
|
) = self.domain.getNameserverChanges(newChanges)
|
||||||
|
|
||||||
self.assertEqual(deleted_values, [])
|
self.assertEqual(deleted_values, [])
|
||||||
self.assertEqual(updated_values, [("ns3.my-nameserver.gov", ["1.2.4"])])
|
self.assertEqual(updated_values, [("ns3.my-nameserver.gov", ["1.2.4.5"])])
|
||||||
self.assertEqual(new_values, {})
|
self.assertEqual(new_values, {})
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
oldNameservers,
|
oldNameservers,
|
||||||
{"ns3.my-nameserver.gov": ["1.2.3"]},
|
{"ns3.my-nameserver.gov": ["1.2.3.4"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_get_nameserver_changes_success_new_vals(self):
|
def test_get_nameserver_changes_success_new_vals(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue