def test_show_folders_subscribed(self):
        """Test the output of --list-folders."""
        out = StringIO()
        suggested_path = u"~/ñoño"
        path = get_udf_path(suggested_path)

        udf = UDF("folder_id", "node_id", suggested_path, path,
                  subscribed=True)
        yield self.main.vm.add_udf(udf)
        expected = u"Folder list:\n  id=folder_id subscribed=True " + \
                   u"path=%s\n" % path.decode('utf-8')
        result = yield self.tool.get_folders()
        show_folders(result, out)
        self.assertEqual(out.getvalue(), expected)
    def test_show_folders_unsubscribed(self):
        """Test the output of --list-folders with a unsubscribed folder."""
        out = StringIO()
        path = u'ñoño'.encode('utf-8')
        suggested_path = os.path.join("~", u'ñoño')

        udf = UDF("folder_id", "node_id", suggested_path, path,
                  subscribed=True)
        yield self.main.vm.add_udf(udf)
        self.main.vm.unsubscribe_udf(udf.id)
        expected = u"Folder list:\n  id=folder_id subscribed=False " + \
                   u"path=\xf1o\xf1o\n"
        result = yield self.tool.get_folders()
        show_folders(result, out)
        self.assertEqual(out.getvalue(), expected)
    def test_show_folders_empty(self):
        """test the output of --list-folders """
        out = StringIO()
        d = self.tool.get_folders()
        d.addCallback(lambda result: show_folders(result, out))

        def check(result):
            """check the output"""
            self.assertEqual('No folders\n', out.getvalue())
        d.addCallback(check)
        return d