def test_failover_good(caplog): daemon = Daemon(coin, ','.join(urls)) with caplog.at_level(logging.INFO): result = daemon.failover() assert result is True assert daemon.current_url() == urls[1] logged_url = daemon.logged_url() assert in_caplog(caplog, f'failing over to {logged_url}') # And again result = daemon.failover() assert result is True assert daemon.current_url() == urls[0]
def test_failover_fail(caplog): daemon = Daemon(coin, urls[0]) with caplog.at_level(logging.INFO): result = daemon.failover() assert result is False assert daemon.current_url() == urls[0] assert not in_caplog(caplog, f'failing over')
def test_set_urls_short(): no_prefix_urls = ['/'.join(part for part in url.split('/')[2:]) for url in urls] daemon = Daemon(coin, ','.join(no_prefix_urls)) assert daemon.current_url() == urls[0] assert len(daemon.urls) == 2 no_slash_urls = [url[:-1] for url in urls] daemon = Daemon(coin, ','.join(no_slash_urls)) assert daemon.current_url() == urls[0] assert len(daemon.urls) == 2 no_port_urls = [url[:url.rfind(':')] for url in urls] daemon = Daemon(coin, ','.join(no_port_urls)) assert daemon.current_url() == urls[0] assert len(daemon.urls) == 2
def test_set_urls_one(caplog): with caplog.at_level(logging.INFO): daemon = Daemon(coin, urls[0]) assert daemon.current_url() == urls[0] assert len(daemon.urls) == 1 logged_url = daemon.logged_url() assert logged_url == '127.0.0.1:8332/' assert in_caplog(caplog, f'daemon #1 at {logged_url} (current)')
def test_set_urls_two(caplog): with caplog.at_level(logging.INFO): daemon = Daemon(coin, ','.join(urls)) assert daemon.current_url() == urls[0] assert len(daemon.urls) == 2 logged_url = daemon.logged_url() assert logged_url == '127.0.0.1:8332/' assert in_caplog(caplog, f'daemon #1 at {logged_url} (current)') assert in_caplog(caplog, 'daemon #2 at 192.168.0.1:8332')