﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
36098	TypeError: object of type 'IPv6Address' has no len() when running tests with GeoDjango	Natalia Bidart	Mariusz Felisiak	"Following the security release for 5.1.5, 5.0.11 and 4.2.18, there seems to be an issue with the GeoDjango tests:
{{{
Traceback (most recent call last):
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py"", line 305, in validate_ipv4_address
    ipaddress.IPv4Address(value)
  File ""/usr/lib/python3.10/ipaddress.py"", line 1305, in __init__
    self._ip = self._ip_int_from_string(addr_str)
  File ""/usr/lib/python3.10/ipaddress.py"", line 1192, in _ip_int_from_string
    raise AddressValueError(""Expected 4 octets in %r"" % ip_str)
ipaddress.AddressValueError: Expected 4 octets in '::ffff:27d:a0d8'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py"", line 325, in validate_ipv46_address
    validate_ipv4_address(value)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py"", line 307, in validate_ipv4_address
    raise ValidationError(
django.core.exceptions.ValidationError: ['Enter a valid IPv4 address.']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/tests/gis_tests/test_geoip2.py"", line 131, in test_country
    self.assertEqual(g.country(query), self.expected_country)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py"", line 207, in country
    response = self._query(query, require_city=False)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py"", line 157, in _query
    validate_ipv46_address(query)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py"", line 328, in validate_ipv46_address
    validate_ipv6_address(value)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py"", line 315, in validate_ipv6_address
    if not is_valid_ipv6_address(value):
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py"", line 59, in is_valid_ipv6_address
    _ipv6_address_from_str(ip_str)
  File ""/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py"", line 10, in _ipv6_address_from_str
    if len(ip_str) > max_length:
TypeError: object of type 'IPv6Address' has no len()
}}}"	Bug	closed	GIS	5.1	Release blocker	fixed		Sarah Boyce	Ready for checkin	1	0	0	0	0	0
