def test_exclude_from_tilde_expansion(self): basedir = "cli/Backup/exclude_from_tilde_expansion" fileutil.make_dirs(basedir) nodeurl_path = os.path.join(basedir, 'node.url') fileutil.write(nodeurl_path, 'http://example.net:2357/') # ensure that tilde expansion is performed on exclude-from argument exclude_file = u'~/.tahoe/excludes.dummy' ns = Namespace() ns.called = False original_open = open def call_file(name, *args, **kwargs): if name.endswith("excludes.dummy"): ns.called = True self.failUnlessEqual(name, abspath_expanduser_unicode(exclude_file)) return StringIO() else: return original_open(name, *args, **kwargs) if PY2: from allmydata.scripts import cli as module_to_patch else: import builtins as module_to_patch patcher = MonkeyPatcher((module_to_patch, 'open', call_file)) patcher.runWithPatches(parse_options, basedir, "backup", ['--exclude-from-utf-8', unicode_to_argv(exclude_file), 'from', 'to']) self.failUnless(ns.called)
def _test_list_async_mock(self, command, output, expected): ns = Namespace() ns.first = True def call_Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0): if ns.first: ns.first = False e = OSError("EINTR") e.errno = errno.EINTR raise e elif os.path.basename(args[0]) == command: return FakeProcess(output, "") else: e = OSError("[Errno 2] No such file or directory") e.errno = errno.ENOENT raise e self.patch(subprocess, 'Popen', call_Popen) self.patch(os.path, 'isfile', lambda x: True) def call_get_local_ip_for(target): if target in ("localhost", "127.0.0.1"): return "127.0.0.1" else: return "192.168.0.10" self.patch(iputil, 'get_local_ip_for', call_get_local_ip_for) def call_which(name): return [name] self.patch(iputil, 'which', call_which) d = iputil.get_local_addresses_async() def _check(addresses): self.failUnlessEquals(set(addresses), set(expected)) d.addCallbacks(_check) return d
def test_logdir_is_str(self): basedir = "test_node/test_logdir_is_str" fileutil.make_dirs(basedir) ns = Namespace() ns.called = False def call_setLogDir(logdir): ns.called = True self.failUnless(isinstance(logdir, str), logdir) self.patch(foolscap.logging.log, 'setLogDir', call_setLogDir) TestNode(basedir) self.failUnless(ns.called)
def test_logdir_is_str(self): basedir = "test_node/test_logdir_is_str" ns = Namespace() ns.called = False def call_setLogDir(logdir): ns.called = True self.failUnless(isinstance(logdir, str), logdir) self.patch(foolscap.logging.log, 'setLogDir', call_setLogDir) create_node_dir(basedir, "nothing to see here") yield client.create_client(basedir) self.failUnless(ns.called)
def test_exclude_from_tilde_expansion(self): basedir = "cli/Backup/exclude_from_tilde_expansion" fileutil.make_dirs(basedir) nodeurl_path = os.path.join(basedir, 'node.url') fileutil.write(nodeurl_path, 'http://example.net:2357/') # ensure that tilde expansion is performed on exclude-from argument exclude_file = u'~/.tahoe/excludes.dummy' ns = Namespace() ns.called = False def call_file(name, *args): ns.called = True self.failUnlessEqual(name, abspath_expanduser_unicode(exclude_file)) return StringIO() patcher = MonkeyPatcher((__builtin__, 'file', call_file)) patcher.runWithPatches(parse_options, basedir, "backup", ['--exclude-from', unicode_to_argv(exclude_file), 'from', 'to']) self.failUnless(ns.called)
def test_logdir_is_str(self): from twisted.internet import reactor basedir = FilePath(self.mktemp()) fixture = UseNode(None, None, basedir, "pb://introducer/furl", {}, reactor=reactor) fixture.setUp() self.addCleanup(fixture.cleanUp) ns = Namespace() ns.called = False def call_setLogDir(logdir): ns.called = True self.failUnless(isinstance(logdir, str), logdir) self.patch(foolscap.logging.log, 'setLogDir', call_setLogDir) yield fixture.create_node() self.failUnless(ns.called)