2019-01-28 12:02:39 -08:00
|
|
|
from unittest import mock
|
2018-07-22 14:57:20 -07:00
|
|
|
|
|
|
|
from django.core.management import call_command
|
|
|
|
|
2019-03-08 12:54:22 -08:00
|
|
|
|
|
|
|
@mock.patch('socket.getaddrinfo')
|
|
|
|
def test_ip4_ip6(getaddrinfo, db, mirrorurl):
|
|
|
|
getaddrinfo.return_value = [(2, 1, 6, '', ('1.1.1.1', 0)), (10, 1, 6, '', ('1a01:3f8:132:1d96::1', 0, 0, 0))]
|
|
|
|
call_command('mirrorresolv')
|
|
|
|
mirrorurl.refresh_from_db()
|
|
|
|
|
|
|
|
assert mirrorurl.has_ipv4
|
|
|
|
assert mirrorurl.has_ipv6
|
|
|
|
|
|
|
|
|
|
|
|
@mock.patch('socket.getaddrinfo')
|
|
|
|
def test_ip4_only(getaddrinfo, db, mirrorurl):
|
|
|
|
getaddrinfo.return_value = [(2, 1, 6, '', ('1.1.1.1', 0))]
|
|
|
|
call_command('mirrorresolv')
|
|
|
|
mirrorurl.refresh_from_db()
|
|
|
|
|
|
|
|
assert mirrorurl.has_ipv4
|
|
|
|
assert not mirrorurl.has_ipv6
|
|
|
|
|
|
|
|
|
|
|
|
@mock.patch('socket.getaddrinfo')
|
|
|
|
def test_running_twice(getaddrinfo, db, mirrorurl):
|
|
|
|
getaddrinfo.return_value = [(2, 1, 6, '', ('1.1.1.1', 0)), (10, 1, 6, '', ('1a01:3f8:132:1d96::1', 0, 0, 0))]
|
|
|
|
|
|
|
|
# Check if values changed
|
|
|
|
with mock.patch('mirrors.management.commands.mirrorresolv.logger') as logger:
|
|
|
|
call_command('mirrorresolv', '-v3')
|
|
|
|
assert logger.debug.call_count == 4
|
|
|
|
|
|
|
|
# running again does not change any values.
|
|
|
|
with mock.patch('mirrors.management.commands.mirrorresolv.logger') as logger:
|
|
|
|
call_command('mirrorresolv', '-v3')
|
|
|
|
assert logger.debug.call_count == 3
|