mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-26 12:38:36 +02:00
shared mock data for dnssec unit tests
This commit is contained in:
parent
88bcb1eedc
commit
a0f7cd5e1d
2 changed files with 94 additions and 137 deletions
|
@ -7,7 +7,7 @@ import random
|
|||
from string import ascii_uppercase
|
||||
from django.test import TestCase
|
||||
from unittest.mock import MagicMock, Mock, patch
|
||||
from typing import List, Dict
|
||||
from typing import List, Dict, Mapping, Any
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model, login
|
||||
|
@ -26,6 +26,7 @@ from registrar.models import (
|
|||
from epplibwrapper import (
|
||||
commands,
|
||||
common,
|
||||
extensions,
|
||||
RegistryError,
|
||||
ErrorCode,
|
||||
)
|
||||
|
@ -584,6 +585,37 @@ class MockEppLib(TestCase):
|
|||
mockDataInfoHosts = fakedEppObject(
|
||||
"lastPw", cr_date=datetime.datetime(2023, 8, 25, 19, 45, 35)
|
||||
)
|
||||
addDsData1 = {
|
||||
"keyTag": 1234,
|
||||
"alg": 3,
|
||||
"digestType": 1,
|
||||
"digest": "ec0bdd990b39feead889f0ba613db4adec0bdd99",
|
||||
}
|
||||
addDsData2 = {
|
||||
"keyTag": 2345,
|
||||
"alg": 3,
|
||||
"digestType": 1,
|
||||
"digest": "ec0bdd990b39feead889f0ba613db4adecb4adec",
|
||||
}
|
||||
keyDataDict = {
|
||||
"flags": 257,
|
||||
"protocol": 3,
|
||||
"alg": 1,
|
||||
"pubKey": "AQPJ////4Q==",
|
||||
}
|
||||
dnssecExtensionWithDsData: Mapping[str, Any] = {
|
||||
"dsData": [common.DSData(**addDsData1)]
|
||||
}
|
||||
dnssecExtensionWithMultDsData: Mapping[str, Any] = {
|
||||
"dsData": [
|
||||
common.DSData(**addDsData1),
|
||||
common.DSData(**addDsData2),
|
||||
],
|
||||
}
|
||||
dnssecExtensionWithKeyData: Mapping[str, Any] = {
|
||||
"maxSigLife": 3215,
|
||||
"keyData": [common.DNSSECKeyData(**keyDataDict)],
|
||||
}
|
||||
|
||||
def mockSend(self, _request, cleaned):
|
||||
"""Mocks the registry.send function used inside of domain.py
|
||||
|
@ -593,6 +625,30 @@ class MockEppLib(TestCase):
|
|||
if isinstance(_request, commands.InfoDomain):
|
||||
if getattr(_request, "name", None) == "security.gov":
|
||||
return MagicMock(res_data=[self.infoDomainNoContact])
|
||||
elif getattr(_request, "name", None) == "dnssec-dsdata.gov":
|
||||
return MagicMock(
|
||||
res_data=[self.mockDataInfoDomain],
|
||||
extensions=[
|
||||
extensions.DNSSECExtension(**self.dnssecExtensionWithDsData)
|
||||
],
|
||||
)
|
||||
elif getattr(_request, "name", None) == "dnssec-multdsdata.gov":
|
||||
return MagicMock(
|
||||
res_data=[self.mockDataInfoDomain],
|
||||
extensions=[
|
||||
extensions.DNSSECExtension(**self.dnssecExtensionWithMultDsData)
|
||||
],
|
||||
)
|
||||
elif getattr(_request, "name", None) == "dnssec-keydata.gov":
|
||||
return MagicMock(
|
||||
res_data=[self.mockDataInfoDomain],
|
||||
extensions=[
|
||||
extensions.DNSSECExtension(**self.dnssecExtensionWithKeyData)
|
||||
],
|
||||
)
|
||||
elif getattr(_request, "name", None) == "dnssec-none.gov":
|
||||
# this case is not necessary, but helps improve readability
|
||||
return MagicMock(res_data=[self.mockDataInfoDomain])
|
||||
return MagicMock(res_data=[self.mockDataInfoDomain])
|
||||
elif isinstance(_request, commands.InfoContact):
|
||||
return MagicMock(res_data=[self.mockDataInfoContact])
|
||||
|
@ -614,6 +670,11 @@ class MockEppLib(TestCase):
|
|||
raise RegistryError(
|
||||
code=ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION
|
||||
)
|
||||
elif (
|
||||
isinstance(_request, commands.UpdateDomain)
|
||||
and getattr(_request, "name", None) == "dnssec-invalid.gov"
|
||||
):
|
||||
raise RegistryError(code=ErrorCode.PARAMETER_VALUE_RANGE_ERROR)
|
||||
return MagicMock(res_data=[self.mockDataInfoHosts])
|
||||
|
||||
def setUp(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue