updated django to 4.2.10 & linted

This commit is contained in:
CocoByte 2024-02-07 18:17:48 -07:00
parent 497d11c67c
commit 1e5f977208
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
31 changed files with 19 additions and 44 deletions

View file

@ -4,7 +4,7 @@ verify_ssl = true
name = "pypi" name = "pypi"
[packages] [packages]
django = "4.2.3" django = "4.2.10"
cfenv = "*" cfenv = "*"
django-cors-headers = "*" django-cors-headers = "*"
pycryptodomex = "*" pycryptodomex = "*"

14
src/Pipfile.lock generated
View file

@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "8db8d1bdb9c343c50771fc8bd001c555037dc3606a48dcafb3800d743fb95f3e" "sha256": "a672aeb8951fd850e90ad87c6f03cf71e2fc2b387d56fd3942361cb0b45bb449"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": {}, "requires": {},
@ -288,12 +288,12 @@
}, },
"django": { "django": {
"hashes": [ "hashes": [
"sha256:45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed", "sha256:a2d4c4d4ea0b6f0895acde632071aff6400bfc331228fc978b05452a0ff3e9f1",
"sha256:f7c7852a5ac5a3da5a8d5b35cc6168f31b605971441798dac845f17ca8028039" "sha256:b1260ed381b10a11753c73444408e19869f3241fc45c985cd55a30177c789d13"
], ],
"index": "pypi", "index": "pypi",
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==4.2.3" "version": "==4.2.10"
}, },
"django-allow-cidr": { "django-allow-cidr": {
"hashes": [ "hashes": [
@ -1230,12 +1230,12 @@
}, },
"django": { "django": {
"hashes": [ "hashes": [
"sha256:45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed", "sha256:a2d4c4d4ea0b6f0895acde632071aff6400bfc331228fc978b05452a0ff3e9f1",
"sha256:f7c7852a5ac5a3da5a8d5b35cc6168f31b605971441798dac845f17ca8028039" "sha256:b1260ed381b10a11753c73444408e19869f3241fc45c985cd55a30177c789d13"
], ],
"index": "pypi", "index": "pypi",
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==4.2.3" "version": "==4.2.10"
}, },
"django-debug-toolbar": { "django-debug-toolbar": {
"hashes": [ "hashes": [

View file

@ -19,7 +19,6 @@ API_BASE_PATH = "/api/v1/available/?domain="
class AvailableViewTest(MockEppLib): class AvailableViewTest(MockEppLib):
"""Test that the view function works as expected.""" """Test that the view function works as expected."""
def setUp(self): def setUp(self):
@ -123,7 +122,6 @@ class AvailableViewTest(MockEppLib):
class AvailableAPITest(MockEppLib): class AvailableAPITest(MockEppLib):
"""Test that the API can be called as expected.""" """Test that the API can be called as expected."""
def setUp(self): def setUp(self):

View file

@ -1,4 +1,5 @@
"""Internal API views""" """Internal API views"""
from django.apps import apps from django.apps import apps
from django.views.decorators.http import require_http_methods from django.views.decorators.http import require_http_methods
from django.http import HttpResponse from django.http import HttpResponse

View file

@ -739,7 +739,6 @@ class DomainApplicationAdminForm(forms.ModelForm):
class DomainApplicationAdmin(ListHeaderAdmin): class DomainApplicationAdmin(ListHeaderAdmin):
"""Custom domain applications admin class.""" """Custom domain applications admin class."""
class InvestigatorFilter(admin.SimpleListFilter): class InvestigatorFilter(admin.SimpleListFilter):

View file

@ -2,7 +2,6 @@ from django.apps import AppConfig
class RegistrarConfig(AppConfig): class RegistrarConfig(AppConfig):
"""Configure signal handling for our registrar Django application.""" """Configure signal handling for our registrar Django application."""
name = "registrar" name = "registrar"

View file

@ -16,6 +16,7 @@ $ docker-compose exec app python manage.py shell
``` ```
""" """
import environs import environs
from base64 import b64decode from base64 import b64decode
from cfenv import AppEnv # type: ignore from cfenv import AppEnv # type: ignore

View file

@ -201,7 +201,6 @@ class DomainApplicationFixture:
class DomainFixture(DomainApplicationFixture): class DomainFixture(DomainApplicationFixture):
"""Create one domain and permissions on it for each user.""" """Create one domain and permissions on it for each user."""
@classmethod @classmethod

View file

@ -1,4 +1,5 @@
"""Loads files from /tmp into our sandboxes""" """Loads files from /tmp into our sandboxes"""
import glob import glob
import logging import logging

View file

@ -1,4 +1,5 @@
"""Generates current-full.csv and current-federal.csv then uploads them to the desired URL.""" """Generates current-full.csv and current-federal.csv then uploads them to the desired URL."""
import logging import logging
import os import os

View file

@ -1,4 +1,5 @@
"""Generates current-full.csv and current-federal.csv then uploads them to the desired URL.""" """Generates current-full.csv and current-federal.csv then uploads them to the desired URL."""
import logging import logging
import os import os

View file

@ -1,4 +1,5 @@
"""Loops through each valid DomainInformation object and updates its agency value""" """Loops through each valid DomainInformation object and updates its agency value"""
import argparse import argparse
import csv import csv
import logging import logging

View file

@ -5,6 +5,7 @@ Regarding our dataclasses:
Not intended to be used as models but rather as an alternative to storing as a dictionary. Not intended to be used as models but rather as an alternative to storing as a dictionary.
By keeping it as a dataclass instead of a dictionary, we can maintain data consistency. By keeping it as a dataclass instead of a dictionary, we can maintain data consistency.
""" # noqa """ # noqa
from dataclasses import dataclass, field from dataclasses import dataclass, field
from datetime import date from datetime import date
from enum import Enum from enum import Enum

View file

@ -1,4 +1,5 @@
"""""" """"""
import csv import csv
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime from datetime import datetime

View file

@ -6,7 +6,6 @@ from .utility.time_stamped_model import TimeStampedModel
class Contact(TimeStampedModel): class Contact(TimeStampedModel):
"""Contact information follows a similar pattern for each contact.""" """Contact information follows a similar pattern for each contact."""
user = models.OneToOneField( user = models.OneToOneField(

View file

@ -17,7 +17,6 @@ logger = logging.getLogger(__name__)
class DomainApplication(TimeStampedModel): class DomainApplication(TimeStampedModel):
"""A registrant's application for a new domain.""" """A registrant's application for a new domain."""
# Constants for choice fields # Constants for choice fields
@ -97,7 +96,6 @@ class DomainApplication(TimeStampedModel):
ARMED_FORCES_AP = "AP", "Armed Forces Pacific (AP)" ARMED_FORCES_AP = "AP", "Armed Forces Pacific (AP)"
class OrganizationChoices(models.TextChoices): class OrganizationChoices(models.TextChoices):
""" """
Primary organization choices: Primary organization choices:
For use in django admin For use in django admin
@ -114,7 +112,6 @@ class DomainApplication(TimeStampedModel):
SCHOOL_DISTRICT = "school_district", "School district" SCHOOL_DISTRICT = "school_district", "School district"
class OrganizationChoicesVerbose(models.TextChoices): class OrganizationChoicesVerbose(models.TextChoices):
""" """
Secondary organization choices Secondary organization choices
For use in the application form and on the templates For use in the application form and on the templates

View file

@ -14,7 +14,6 @@ logger = logging.getLogger(__name__)
class DomainInformation(TimeStampedModel): class DomainInformation(TimeStampedModel):
"""A registrant's domain information for that domain, exported from """A registrant's domain information for that domain, exported from
DomainApplication. We use these field from DomainApplication with few exceptions DomainApplication. We use these field from DomainApplication with few exceptions
which are 'removed' via pop at the bottom of this file. Most of design for domain which are 'removed' via pop at the bottom of this file. Most of design for domain

View file

@ -4,11 +4,9 @@ from .utility.time_stamped_model import TimeStampedModel
class UserDomainRole(TimeStampedModel): class UserDomainRole(TimeStampedModel):
"""This is a linking table that connects a user with a role on a domain.""" """This is a linking table that connects a user with a role on a domain."""
class Roles(models.TextChoices): class Roles(models.TextChoices):
"""The possible roles are listed here. """The possible roles are listed here.
Implementation of the named roles for allowing particular operations happens Implementation of the named roles for allowing particular operations happens

View file

@ -4,7 +4,6 @@ from .utility.time_stamped_model import TimeStampedModel
class VerifiedByStaff(TimeStampedModel): class VerifiedByStaff(TimeStampedModel):
"""emails that get added to this table will bypass ial2 on login.""" """emails that get added to this table will bypass ial2 on login."""
email = models.EmailField( email = models.EmailField(

View file

@ -4,7 +4,6 @@ from .utility.time_stamped_model import TimeStampedModel
class Website(TimeStampedModel): class Website(TimeStampedModel):
"""Keep domain names in their own table so that applications can refer to """Keep domain names in their own table so that applications can refer to
many of them.""" many of them."""

View file

@ -6,7 +6,6 @@ better caching responses.
class NoCacheMiddleware: class NoCacheMiddleware:
"""Middleware to add a single header to every response.""" """Middleware to add a single header to every response."""
def __init__(self, get_response): def __init__(self, get_response):

View file

@ -1,4 +1,5 @@
"""Custom field helpers for our inputs.""" """Custom field helpers for our inputs."""
import re import re
from django import template from django import template

View file

@ -600,7 +600,6 @@ class TestPermissions(TestCase):
class TestDomainInformation(TestCase): class TestDomainInformation(TestCase):
"""Test the DomainInformation model, when approved or otherwise""" """Test the DomainInformation model, when approved or otherwise"""
def setUp(self): def setUp(self):
@ -653,7 +652,6 @@ class TestDomainInformation(TestCase):
class TestInvitations(TestCase): class TestInvitations(TestCase):
"""Test the retrieval of invitations.""" """Test the retrieval of invitations."""
def setUp(self): def setUp(self):

View file

@ -3,6 +3,7 @@ Feature being tested: Registry Integration
This file tests the various ways in which the registrar interacts with the registry. This file tests the various ways in which the registrar interacts with the registry.
""" """
from django.test import TestCase from django.test import TestCase
from django.db.utils import IntegrityError from django.db.utils import IntegrityError
from unittest.mock import MagicMock, patch, call from unittest.mock import MagicMock, patch, call

View file

@ -28,7 +28,6 @@ logger = logging.getLogger(__name__)
class DomainApplicationTests(TestWithUser, WebTest): class DomainApplicationTests(TestWithUser, WebTest):
"""Webtests for domain application to test filling and submitting.""" """Webtests for domain application to test filling and submitting."""
# Doesn't work with CSRF checking # Doesn't work with CSRF checking

View file

@ -1236,7 +1236,6 @@ class TestDomainSecurityEmail(TestDomainOverview):
class TestDomainDNSSEC(TestDomainOverview): class TestDomainDNSSEC(TestDomainOverview):
"""MockEPPLib is already inherited.""" """MockEPPLib is already inherited."""
def test_dnssec_page_refreshes_enable_button(self): def test_dnssec_page_refreshes_enable_button(self):

View file

@ -10,7 +10,6 @@ logger = logging.getLogger(__name__)
class EmailSendingError(RuntimeError): class EmailSendingError(RuntimeError):
"""Local error for handling all failures when sending email.""" """Local error for handling all failures when sending email."""
pass pass

View file

@ -135,7 +135,6 @@ class DomainFormBaseView(DomainBaseView, FormMixin):
class DomainView(DomainBaseView): class DomainView(DomainBaseView):
"""Domain detail overview page.""" """Domain detail overview page."""
template_name = "domain_detail.html" template_name = "domain_detail.html"

View file

@ -146,7 +146,6 @@ class OrderableFieldsMixin:
class PermissionsLoginMixin(PermissionRequiredMixin): class PermissionsLoginMixin(PermissionRequiredMixin):
"""Mixin that redirects to login page if not logged in, otherwise 403.""" """Mixin that redirects to login page if not logged in, otherwise 403."""
def handle_no_permission(self): def handle_no_permission(self):
@ -155,7 +154,6 @@ class PermissionsLoginMixin(PermissionRequiredMixin):
class DomainPermission(PermissionsLoginMixin): class DomainPermission(PermissionsLoginMixin):
"""Permission mixin that redirects to domain if user has access, """Permission mixin that redirects to domain if user has access,
otherwise 403""" otherwise 403"""
@ -264,7 +262,6 @@ class DomainPermission(PermissionsLoginMixin):
class DomainApplicationPermission(PermissionsLoginMixin): class DomainApplicationPermission(PermissionsLoginMixin):
"""Permission mixin that redirects to domain application if user """Permission mixin that redirects to domain application if user
has access, otherwise 403""" has access, otherwise 403"""
@ -287,7 +284,6 @@ class DomainApplicationPermission(PermissionsLoginMixin):
class UserDeleteDomainRolePermission(PermissionsLoginMixin): class UserDeleteDomainRolePermission(PermissionsLoginMixin):
"""Permission mixin for UserDomainRole if user """Permission mixin for UserDomainRole if user
has access, otherwise 403""" has access, otherwise 403"""
@ -324,7 +320,6 @@ class UserDeleteDomainRolePermission(PermissionsLoginMixin):
class DomainApplicationPermissionWithdraw(PermissionsLoginMixin): class DomainApplicationPermissionWithdraw(PermissionsLoginMixin):
"""Permission mixin that redirects to withdraw action on domain application """Permission mixin that redirects to withdraw action on domain application
if user has access, otherwise 403""" if user has access, otherwise 403"""
@ -347,7 +342,6 @@ class DomainApplicationPermissionWithdraw(PermissionsLoginMixin):
class ApplicationWizardPermission(PermissionsLoginMixin): class ApplicationWizardPermission(PermissionsLoginMixin):
"""Permission mixin that redirects to start or edit domain application if """Permission mixin that redirects to start or edit domain application if
user has access, otherwise 403""" user has access, otherwise 403"""
@ -365,7 +359,6 @@ class ApplicationWizardPermission(PermissionsLoginMixin):
class DomainInvitationPermission(PermissionsLoginMixin): class DomainInvitationPermission(PermissionsLoginMixin):
"""Permission mixin that redirects to domain invitation if user has """Permission mixin that redirects to domain invitation if user has
access, otherwise 403" access, otherwise 403"

View file

@ -20,7 +20,6 @@ logger = logging.getLogger(__name__)
class DomainPermissionView(DomainPermission, DetailView, abc.ABC): class DomainPermissionView(DomainPermission, DetailView, abc.ABC):
"""Abstract base view for domains that enforces permissions. """Abstract base view for domains that enforces permissions.
This abstract view cannot be instantiated. Actual views must specify This abstract view cannot be instantiated. Actual views must specify
@ -58,7 +57,6 @@ class DomainPermissionView(DomainPermission, DetailView, abc.ABC):
class DomainApplicationPermissionView(DomainApplicationPermission, DetailView, abc.ABC): class DomainApplicationPermissionView(DomainApplicationPermission, DetailView, abc.ABC):
"""Abstract base view for domain applications that enforces permissions """Abstract base view for domain applications that enforces permissions
This abstract view cannot be instantiated. Actual views must specify This abstract view cannot be instantiated. Actual views must specify
@ -78,7 +76,6 @@ class DomainApplicationPermissionView(DomainApplicationPermission, DetailView, a
class DomainApplicationPermissionWithdrawView(DomainApplicationPermissionWithdraw, DetailView, abc.ABC): class DomainApplicationPermissionWithdrawView(DomainApplicationPermissionWithdraw, DetailView, abc.ABC):
"""Abstract base view for domain application withdraw function """Abstract base view for domain application withdraw function
This abstract view cannot be instantiated. Actual views must specify This abstract view cannot be instantiated. Actual views must specify
@ -98,7 +95,6 @@ class DomainApplicationPermissionWithdrawView(DomainApplicationPermissionWithdra
class ApplicationWizardPermissionView(ApplicationWizardPermission, TemplateView, abc.ABC): class ApplicationWizardPermissionView(ApplicationWizardPermission, TemplateView, abc.ABC):
"""Abstract base view for the application form that enforces permissions """Abstract base view for the application form that enforces permissions
This abstract view cannot be instantiated. Actual views must specify This abstract view cannot be instantiated. Actual views must specify
@ -113,7 +109,6 @@ class ApplicationWizardPermissionView(ApplicationWizardPermission, TemplateView,
class DomainInvitationPermissionDeleteView(DomainInvitationPermission, DeleteView, abc.ABC): class DomainInvitationPermissionDeleteView(DomainInvitationPermission, DeleteView, abc.ABC):
"""Abstract view for deleting a domain invitation. """Abstract view for deleting a domain invitation.
This one is fairly specialized, but this is the only thing that we do This one is fairly specialized, but this is the only thing that we do
@ -127,7 +122,6 @@ class DomainInvitationPermissionDeleteView(DomainInvitationPermission, DeleteVie
class DomainApplicationPermissionDeleteView(DomainApplicationPermission, DeleteView, abc.ABC): class DomainApplicationPermissionDeleteView(DomainApplicationPermission, DeleteView, abc.ABC):
"""Abstract view for deleting a DomainApplication.""" """Abstract view for deleting a DomainApplication."""
model = DomainApplication model = DomainApplication
@ -135,7 +129,6 @@ class DomainApplicationPermissionDeleteView(DomainApplicationPermission, DeleteV
class UserDomainRolePermissionDeleteView(UserDeleteDomainRolePermission, DeleteView, abc.ABC): class UserDomainRolePermissionDeleteView(UserDeleteDomainRolePermission, DeleteView, abc.ABC):
"""Abstract base view for deleting a UserDomainRole. """Abstract base view for deleting a UserDomainRole.
This abstract view cannot be instantiated. Actual views must specify This abstract view cannot be instantiated. Actual views must specify

View file

@ -12,7 +12,7 @@ cryptography==42.0.2; python_version >= '3.7'
defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
dj-database-url==2.1.0 dj-database-url==2.1.0
dj-email-url==1.0.6 dj-email-url==1.0.6
django==4.2.3; python_version >= '3.8' django==4.2.10; python_version >= '3.8'
django-allow-cidr==0.7.1 django-allow-cidr==0.7.1
django-auditlog==2.3.0; python_version >= '3.7' django-auditlog==2.3.0; python_version >= '3.7'
django-cache-url==3.4.5 django-cache-url==3.4.5