mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-21 10:01:54 +00:00
test case when safe_load fails
This commit is contained in:
parent
419dea7b3a
commit
7d34f8f1a1
@ -3,6 +3,7 @@ import os, re, itertools
|
|||||||
from base64 import b32decode
|
from base64 import b32decode
|
||||||
import json
|
import json
|
||||||
from socket import socket, AF_INET
|
from socket import socket, AF_INET
|
||||||
|
from mock import Mock, patch
|
||||||
|
|
||||||
from twisted.trial import unittest
|
from twisted.trial import unittest
|
||||||
from twisted.internet import defer, address
|
from twisted.internet import defer, address
|
||||||
@ -20,11 +21,17 @@ from allmydata.introducer.server import IntroducerService, FurlFileConflictError
|
|||||||
from allmydata.introducer.common import get_tubid_string_from_ann, \
|
from allmydata.introducer.common import get_tubid_string_from_ann, \
|
||||||
get_tubid_string, sign_to_foolscap, unsign_from_foolscap, \
|
get_tubid_string, sign_to_foolscap, unsign_from_foolscap, \
|
||||||
UnknownKeyError
|
UnknownKeyError
|
||||||
from allmydata.node import create_node_dir
|
from allmydata.node import (
|
||||||
|
create_node_dir,
|
||||||
|
read_config,
|
||||||
|
)
|
||||||
# the "new way" to create introducer node instance
|
# the "new way" to create introducer node instance
|
||||||
from allmydata.introducer.server import create_introducer
|
from allmydata.introducer.server import create_introducer
|
||||||
from allmydata.web import introweb
|
from allmydata.web import introweb
|
||||||
from allmydata.client import create_client
|
from allmydata.client import (
|
||||||
|
create_client,
|
||||||
|
create_introducer_clients,
|
||||||
|
)
|
||||||
from allmydata.util import pollmixin, keyutil, idlib, fileutil, iputil, yamlutil
|
from allmydata.util import pollmixin, keyutil, idlib, fileutil, iputil, yamlutil
|
||||||
import allmydata.test.common_util as testutil
|
import allmydata.test.common_util as testutil
|
||||||
|
|
||||||
@ -50,6 +57,25 @@ class Node(testutil.SignalMixin, testutil.ReallyEqualMixin, unittest.TestCase):
|
|||||||
yield create_introducer(basedir)
|
yield create_introducer(basedir)
|
||||||
self.assertTrue(os.path.exists(basedir))
|
self.assertTrue(os.path.exists(basedir))
|
||||||
|
|
||||||
|
def test_introducer_clients_unloadable(self):
|
||||||
|
"""
|
||||||
|
If introducers.yaml exists but we can't read it for some reason
|
||||||
|
we'll ignore it.
|
||||||
|
"""
|
||||||
|
basedir = "introducer.IntroducerNode.test_introducer_clients_unloadable"
|
||||||
|
os.mkdir(basedir)
|
||||||
|
# just mocking the yaml failure, as "yamlutil.safe_load" only
|
||||||
|
# returns None on some platforms
|
||||||
|
|
||||||
|
with patch("allmydata.client.yamlutil") as p:
|
||||||
|
p.safe_load = Mock(return_value=None)
|
||||||
|
|
||||||
|
fake_tub = Mock()
|
||||||
|
config = read_config(basedir, "portnum")
|
||||||
|
|
||||||
|
ic = create_introducer_clients(config, fake_tub)
|
||||||
|
self.assertEqual([], ic)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_furl(self):
|
def test_furl(self):
|
||||||
basedir = "introducer.IntroducerNode.test_furl"
|
basedir = "introducer.IntroducerNode.test_furl"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user