"""Tests for the management module."""importpytestfromdjango.core.exceptionsimportValidationErrorfrommanagement.modelsimportTlsSettings@pytest.mark.django_db
[docs]classTestTlsSettingsIpv4:"""Test cases for the TlsSettings model's IPv4 address field."""
[docs]deftest_ipv4_address_valid(self)->None:"""Test creating a TlsSettings instance with a valid IPv4 address."""tls_setting=TlsSettings.objects.create(ipv4_address='192.168.1.1')asserttls_setting.ipv4_address=='192.168.1.1'
[docs]deftest_ipv4_address_null(self)->None:"""Test creating a TlsSettings instance with a null IPv4 address."""tls_setting=TlsSettings.objects.create(ipv4_address=None)asserttls_setting.ipv4_addressisNone
[docs]deftest_ipv4_address_blank(self)->None:"""Test creating a TlsSettings instance with a blank IPv4 address."""tls_setting=TlsSettings.objects.create()asserttls_setting.ipv4_addressisNone
[docs]deftest_invalid_ipv4_address(self)->None:"""Test creating a TlsSettings instance with an invalid IPv4 address."""tls_setting=TlsSettings(ipv4_address='invalid_ip')withpytest.raises(ValidationError):tls_setting.full_clean()
[docs]deftest_partial_update_of_ipv4_address(self)->None:"""Test updating the `ipv4_address` after creating the model."""tls_setting=TlsSettings.objects.create(ipv4_address='192.168.1.1')tls_setting.ipv4_address='10.0.0.1'tls_setting.save()tls_setting.refresh_from_db()asserttls_setting.ipv4_address=='10.0.0.1'
[docs]deftest_ipv4_address_reject_ipv6(self)->None:"""Test the field rejects an IPv6 address."""tls_setting=TlsSettings(ipv4_address='invalid_ip')withpytest.raises(ValidationError):tls_setting.full_clean()