Example #1
0
    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)
Example #2
0
    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
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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_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)
Example #9
0
    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)
    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