mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-06 03:03:25 +02:00
Merge branch 'main' into za/1403-add-aws-bucket
This commit is contained in:
commit
db54637ea5
29 changed files with 328 additions and 50 deletions
|
@ -8,6 +8,7 @@ from django.test import RequestFactory
|
|||
from ..views import available, check_domain_available
|
||||
from .common import less_console_noise
|
||||
from registrar.tests.common import MockEppLib
|
||||
from registrar.utility.errors import GenericError, GenericErrorCodes
|
||||
from unittest.mock import call
|
||||
|
||||
from epplibwrapper import (
|
||||
|
@ -100,16 +101,25 @@ class AvailableViewTest(MockEppLib):
|
|||
response = available(request, domain="igorville")
|
||||
self.assertTrue(json.loads(response.content)["available"])
|
||||
|
||||
def test_error_handling(self):
|
||||
"""Calling with bad strings raises an error."""
|
||||
def test_bad_string_handling(self):
|
||||
"""Calling with bad strings returns unavailable."""
|
||||
bad_string = "blah!;"
|
||||
request = self.factory.get(API_BASE_PATH + bad_string)
|
||||
request.user = self.user
|
||||
response = available(request, domain=bad_string)
|
||||
self.assertFalse(json.loads(response.content)["available"])
|
||||
# domain set to raise error returns false for availability
|
||||
error_domain_available = available(request, "errordomain.gov")
|
||||
self.assertFalse(json.loads(error_domain_available.content)["available"])
|
||||
|
||||
def test_error_handling(self):
|
||||
"""Error thrown while calling availabilityAPI returns error."""
|
||||
request = self.factory.get(API_BASE_PATH + "errordomain.gov")
|
||||
request.user = self.user
|
||||
# domain set to raise error returns false for availability and error message
|
||||
error_domain_response = available(request, domain="errordomain.gov")
|
||||
self.assertFalse(json.loads(error_domain_response.content)["available"])
|
||||
self.assertEqual(
|
||||
GenericError.get_error_message(GenericErrorCodes.CANNOT_CONTACT_REGISTRY),
|
||||
json.loads(error_domain_response.content)["message"],
|
||||
)
|
||||
|
||||
|
||||
class AvailableAPITest(MockEppLib):
|
||||
|
|
|
@ -5,6 +5,8 @@ from django.http import HttpResponse, JsonResponse
|
|||
from django.utils.safestring import mark_safe
|
||||
|
||||
from registrar.templatetags.url_helpers import public_site_url
|
||||
from registrar.utility.errors import GenericError, GenericErrorCodes
|
||||
|
||||
import requests
|
||||
|
||||
from login_required import login_not_required
|
||||
|
@ -31,7 +33,7 @@ DOMAIN_API_MESSAGES = {
|
|||
),
|
||||
"invalid": "Enter a domain using only letters, numbers, or hyphens (though we don't recommend using hyphens).",
|
||||
"success": "That domain is available!",
|
||||
"error": "Error finding domain availability.",
|
||||
"error": GenericError.get_error_message(GenericErrorCodes.CANNOT_CONTACT_REGISTRY),
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,17 +66,14 @@ def check_domain_available(domain):
|
|||
|
||||
The given domain is lowercased to match against the domains list. If the
|
||||
given domain doesn't end with .gov, ".gov" is added when looking for
|
||||
a match.
|
||||
a match. If check fails, throws a RegistryError.
|
||||
"""
|
||||
Domain = apps.get_model("registrar.Domain")
|
||||
try:
|
||||
if domain.endswith(".gov"):
|
||||
return Domain.available(domain)
|
||||
else:
|
||||
# domain search string doesn't end with .gov, add it on here
|
||||
return Domain.available(domain + ".gov")
|
||||
except Exception:
|
||||
return False
|
||||
if domain.endswith(".gov"):
|
||||
return Domain.available(domain)
|
||||
else:
|
||||
# domain search string doesn't end with .gov, add it on here
|
||||
return Domain.available(domain + ".gov")
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue