Files

47 lines
1.4 KiB
Python

import pytest
import socket
from backup.config import Config, Setting
from backup.util import Resolver
@pytest.mark.asyncio
async def test_empty_name_server(resolver: Resolver, config: Config):
assert resolver._alt_dns.nameservers == ["8.8.8.8", "8.8.4.4"]
assert resolver._resolver is resolver._original_dns
config.override(Setting.ALTERNATE_DNS_SERVERS, "")
resolver.updateConfig()
assert resolver._resolver is resolver._alt_dns
# make sure the value is cached
prev = resolver._alt_dns
resolver.updateConfig()
assert resolver._alt_dns is prev
@pytest.mark.asyncio
async def test_toggle(resolver: Resolver):
assert resolver._resolver is resolver._original_dns
resolver.toggle()
assert resolver._resolver is resolver._alt_dns
resolver.toggle()
assert resolver._resolver is resolver._original_dns
@pytest.mark.asyncio
async def test_hard_resolve(resolver: Resolver, config: Config):
expected = [{
'family': 0,
'flags': socket.AddressInfo.AI_NUMERICHOST,
'port': 1234,
'proto': 0,
'host': "1.2.3.4",
'hostname': "www.googleapis.com"
}]
config.override(Setting.DRIVE_IPV4, "1.2.3.4")
assert await resolver.resolve("www.googleapis.com", 1234, 0) == expected
resolver.toggle()
assert await resolver.resolve("www.googleapis.com", 1234, 0) == expected
resolver.toggle()
assert await resolver.resolve("www.googleapis.com", 1234, 0) == expected